Systemd 262 wprowadza zabezpieczenia TPM2, OpenSSL 4 i statyczne pliki binarne

Kluczowe punkty:
  • Umożliwia generowanie pojedynczego statycznego pliku binarnego systemd, integrującego jednostki bazowe (takie jak basic.target), idealnego do uruchamiania jako PID1 w lekkich kontenerach.
  • Parametr RestartRandomizedDelaySec wprowadza losowe opóźnienie, aby zapobiec lawinie zsynchronizowanych ponownych uruchomień po poważnych awariach.
  • Zabezpieczenia dysku i moduł TPM wdrażają hasła PIN za pomocą protokołu Argon2id (zastępującego PBKDF2) i ograniczają uprawnienia do klucza SRK układu.
  • Udoskonalenia aktualizacji atomowych: systemd-sysupdate wprowadza nową bazę danych plików i polecenie cleanup do usuwania osieroconych plików.
  • Dodano obsługę systemd-vmspawn dla Intel TDX (poufne maszyny wirtualne) i nowe polecenia w stylu sudo dla run0

systemd

Wersja 262 menedżera systemu i usług systemd jest już dostępna, wprowadzając znaczące udoskonalenia po trzech miesiącach prac rozwojowych. Wydanie to wyróżnia się optymalizacją architektury pod kątem lekkich środowisk zwirtualizowanych, ulepszeniem protokołów kryptograficznych powiązanych z modułami TPM (Trusted Platform Modules) oraz dodaniem kluczowych funkcjonalności do natywnych narzędzi, takich jak run0 i systemd-sysupdate.

Z myślą o kontenerach wymagających minimalnego obciążenia systemu, systemd oferuje teraz możliwość kompilacji pojedynczego pliku wykonywalnego ze statycznym linkowaniem. Ta kompilacja (włączana za pomocą Mesona z parametrami takimi jak `-Dsystemd-multicall-binary=true` ) została zaprojektowana tak, aby działać jako proces startowy (PID 1) w bardzo małych kontenerach, unikając używania wywołań `dlopen()` do ładowania bibliotek dynamicznych i polegając na uproszczonym wyszukiwaniu użytkowników i grup zamiast standardowego NSS.

Ponadto plik wykonywalny zawiera teraz wewnętrznie osadzony zestaw niezbędnych plików jednostkowych ( takich jak basic.target, sysinit.target, multi-user.target i reboot.target i inne). Te osadzone pliki służą jako rozwiązanie awaryjne w przypadku braku możliwości załadowania konfiguracji z dysku, umożliwiając uruchomienie kontenera bez jawnej instalacji plików jednostkowych.

Zarządzanie usługami i odzyskiwanie danych po awarii

Aby zminimalizować ryzyko zsynchronizowanych restartów w przypadku jednoczesnej awarii wielu usług, wprowadzono parametr `RestartRandomizedDelaySec` . Ta zasada dodaje losowe (równomiernie rozłożone) opóźnienie przed automatycznym restartem usługi, które jest dodawane do czasu skonfigurowanego w parametrze `RestartSec`. Dodatkowo, jednostki segmentowe zawierają parametr `ActivatingConcurrencyMax`, limit określający maksymalną liczbę jednostek, które mogą być aktywowane jednocześnie w hierarchii; wszelkie nadmiarowe aktywacje są umieszczane w kolejce do momentu, aż zwolnią się sloty pojemności.

W środowiskach wymagających ciągłej wysokiej dostępności (takich jak serwery krytyczne) zaimplementowano parametr LUOSession dla jednostek usługowych. Parametr ten instruuje systemd, aby tworzył sesje Live Update Orchestrator, umożliwiając szybkie aktualizacje jądra systemu bez przerywania działania usług i zachowując stan procesów i urządzeń.

TPM2, fscrypt i bezpieczeństwo pamięci masowej

Inne nowe funkcje w tej wersji obejmują bezpośrednie powiązanie zapieczętowanych danych uwierzytelniających w module TPM z kluczem głównym (SRK), co zapobiega atakom typu „man-in-the-middle” (MitM) przeprowadzanym przez komponenty pośredniczące próbujące przechwycić odszyfrowane dane. Rejestracja danych uwierzytelniających PIN modułu TPM2 za pośrednictwem systemd-cryptenroll domyślnie korzysta z algorytmu Argon2id, generując znacznie solidniejszy klucz niż w starszej implementacji (direct/PBKDF2).

Na poziomie pamięci masowej użytkownika systemd-homed zmienił swoje zachowanie w przypadku katalogów zaszyfrowanych za pomocą systemu plików fscrypt: nowe katalogi będą domyślnie zgodne z zasadami wersji 2 (fscrypt v2), co umożliwi przechowywanie klucza głównego w pęku kluczy systemu plików i jego widoczność w różnych przestrzeniach nazw montowań. Katalogi fscrypt v1 zachowają funkcjonalność, chociaż nie będą miały ścieżki aktualizacji do wersji 2.

Dodatkowo w module jądra dm-clone uwzględniono natywną obsługę rozruchu , która umożliwia generowanie modyfikowalnych klonów z urządzeń blokowych tylko do odczytu, przetwarzanych przez systemd-clonesetup-generator poprzez odczyt z /etc/clonetab.

Ulepszenia atomowe i zmiany środowiskowe

Pakiet systemd-sysupdate, zaprojektowany do aktualizacji systemu poprzez atomową zamianę partycji i katalogów, utrzymuje teraz trwałą bazę danych zainstalowanych plików. Dodano polecenie cleanup, które usuwa zbędne pliki , a także wprowadzono koncepcję „sugerowanych komponentów”. Komponenty te mogą być dynamicznie oceniane na podstawie architektury komputera lub znaczników MachineTags, co automatyzuje instalację sterowników.

Inne istotne zmiany w wersji 262 obejmują:

  • systemd-vmspawn: Dodaje obsługę uruchamiania poufnych maszyn wirtualnych w ramach architektury Intel TDX (–coco=tdx), dołączając do AMD SEV-SNP.
  • OpenSSL i rejestracja: System niezmienności rekordów (Forward Secure Sealing, FSS) jest migrowany z biblioteki libgcrypt do natywnych funkcji kryptograficznych OpenSSL. Dodawane jest również wstępne wsparcie kompilacji dla OpenSSL 4.
  • Terminal i użyteczność: Narzędzie eskalacji uprawnień run0 dodaje opcje zgodne z sudo, takie jak -k, -K i -v, które resetują lub sprawdzają limit czasu autoryzacji Polkit. vconsole umożliwia ustawienie rozmiaru czcionki na 100% lub 200% za pomocą FONT_SCALE, a w monitach o hasło dla tokenów FIDO2 będą teraz wyświetlane pozostałe próby podania kodu PIN.
  • systemd-sysctl: Teraz zawiera flagę –verify, która pozwala sprawdzić poprzez ponowne odczytanie, czy wartość zapisana w systemie została faktycznie zastosowana.

Jeśli chcesz dowiedzieć się więcej, szczegóły znajdziesz pod poniższym linkiem.


Dodaj jako preferowane źródło w Google