Utgivning av systemhanteraren systemd 252 med stöd för UKI (Unified Kernel Image)

Efter fem mÄnaders utveckling har lanseringen av systemhanteraren systemd 252 presenterats. Den viktigaste Àndringen i den nya versionen Àr integrationen av stöd för en moderniserad uppstartsprocess, som möjliggör verifikation med hjÀlp av digitala signaturer inte bara för kÀrnan och bootloadaren, utan Àven för komponenter i det grundlÀggande systemmiljön.

Den föreslagna metoden innebÀr anvÀndning av en enhetlig kÀrnbild UKI (Unified Kernel Image) vid uppstart, som kombinerar en bootloader för att ladda kÀrnan frÄn UEFI (UEFI boot stub), en Linux-kÀrnbild och det initrd-systemmiljö som laddas in i minnet för initialisering innan den grundlÀggande filsystemet monteras. UKI-bilden presenteras som en enda körbar fil i PE-format, som kan laddas av traditionella bootloaders eller direkt anropas frÄn UEFI-firmware. Vid anrop frÄn UEFI ges möjlighet till integritets- och Àkthetskontroll genom digital signatur för bÄde kÀrnan och innehÄllet i initrd.

För berĂ€kning av registren TPM PCR (Trusted Platform Module Platform Configuration Register), som anvĂ€nds för att kontrollera integriteten och skapa digitala signaturer av UKI-bilder, ingĂ„r ett nytt verktyg systemd-measure. Den offentliga nyckeln som anvĂ€nds i signaturen och tillhörande information om PCR kan integreras direkt i UPK-bilden (nyckeln och signaturen sparas i en fil i PE-format i fĂ€lten ‘.pcrsig’ och ‘.pcrkey’) och extraheras av externa eller interna verktyg.

Även för att anvĂ€nda denna information har verktygen systemd-cryptsetup, systemd-cryptenroll och systemd-creds anpassats, vilket gör det möjligt att knyta krypterade diskpartitioner till den digitalt signerade kĂ€rnan (i detta fall ges tillgĂ„ng till den krypterade partitionen endast om UKI-bilden har verifierats med digital signatur baserat pĂ„ parametrarna som finns i TPM).

Dessutom har verktyget systemd-pcrphase inkluderats, vilket gör det möjligt att hantera kopplingen av olika uppstartsstadier till parametrar som lagras i minnet hos kryptoprocessorer som stöder TPM 2.0-specifikationen (till exempel kan nyckeln för att dekryptera LUKS2-partitionen göras tillgÀnglig endast i initrd-bilden och blockera Ätkomst vid senare uppstarts stadier).

NÄgra andra förÀndringar:

  • Standard lokal C.UTF-8 anvĂ€nds om ingen annan lokal definieras i instĂ€llningarna.
  • Möjligheten att utföra en fullstĂ€ndig förinstĂ€llning av tjĂ€nster (‘systemctl preset’) vid första uppstarten har införts. För att aktivera förinstĂ€llningen vid uppstart krĂ€vs en byggnation med alternativet ‘-Dfirst-boot-full-preset’, men det planeras att aktiveras som standard i framtida utgĂ„vor.
  • I enheterna för anvĂ€ndarhantering har en CPU-resurskontroller anvĂ€nts, vilket möjliggör tillĂ€mpning av CPUWeight-instĂ€llningarna pĂ„ alla slice-enheter som anvĂ€nds för att dela upp systemet i delar (app.slice, background.slice, session.slice) för att isolera resurser mellan olika anvĂ€ndartjĂ€nster som konkurerar om CPU-resurser. CPUWeight har ocksĂ„ fĂ„tt stöd för vĂ€rdet ‘idle’ för att aktivera motsvarande resursleveranslĂ€ge.
  • För tillfĂ€lliga (‘transient’) enheter och i verktyget systemd-repart tillĂ„ts överskrivning av instĂ€llningar genom att skapa drop-in-filer i katalogen /etc/systemd/system/namn.d/.
  • För systemavbilder har flaggan ‘support-ended’ införts, vilket definieras baserat pĂ„ vĂ€rdet av den nya parametern ‘SUPPORT_END=’ i filen /etc/os-release.
  • InstĂ€llningarna ‘ConditionCredential=’ och ‘AssertCredential=’ har lagts till, vilket kan anvĂ€ndas för att ignorera eller avbryta enheter vid brist pĂ„ vissa autentiseringsuppgifter i systemet.
  • InstĂ€llningarna ‘DefaultSmackProcessLabel=’ och ‘DefaultDeviceTimeoutSec=’ har lagts till i system.conf och user.conf för att definiera SMACK-sĂ€kerhetsnivĂ„ och enhetens aktiveringstidsgrĂ€ns som anvĂ€nds som standard.
  • I instĂ€llningarna ‘ConditionFirmware=’ och ‘AssertFirmware=’ har möjligheten att ange specifika SMBIOS-fĂ€lt tillkommit, till exempel för att starta enheten endast om fĂ€ltet /sys/class/dmi/id/board_name innehĂ„ller vĂ€rdet ‘Custom Board’, kan man ange ‘ConditionFirmware=smbios-field(board_name = ‘Custom Board’)’.
  • Under initieringsprocessen (PID 1) har möjligheten att importera autentiseringsuppgifter frĂ„n SMBIOS-fĂ€lt (Typ 11, ‘OEM vendor strings’) lagts till, utöver deras definition genom qemu_fwcfg, vilket förenklar tillhandahĂ„llandet av autentiseringsuppgifter. virtuella maskiner och gör det möjligt att undvika tredjepartsverktyg som cloud-init och ignition.
  • Vid avstĂ€ngning har logiken för avmontering av virtuella filsystem (proc, sys) Ă€ndrats och information om processerna som blockerar avmontering av filsystem har sparats i loggen.
  • I filtret för systemanrop (SystemCallFilter) Ă€r Ă„tkomst till systemanropet riscv_flush_icache tillĂ„ten som standard.
  • I bootloadern sd-boot har möjligheten att starta i blandat lĂ€ge lagts till, dĂ€r en 64-bitars Linux-kĂ€rna startas frĂ„n en 32-bitars UEFI-firmware. En experimentell funktion för automatisk tillĂ€mpning av SecureBoot-nycklar frĂ„n filer som finns i ESP (EFI-systempartition) har ocksĂ„ lagts till.
  • Nya alternativ har lagts till i verktyget bootctl: «—all-architectures» för att installera binĂ€rfiler för alla stödda EFI-arkitekturer, «—root=» och «—image=» för att arbeta med en katalog eller diskavbild, «—install-source=» för att definiera installationskĂ€lla, samt «—efi-boot-option-description=» för att hantera namn pĂ„ startposter.
  • I systemctl har kommandot ‘list-automounts’ lagts till för att visa en lista över automatiskt monterade kataloger och alternativet «—image=» för att utföra kommandon kopplade till en angiven diskavbild. Till kommandona ‘show’ och ‘status’ har alternativen «—state=» och «—type=» lagts till.
  • I systemd-networkd har alternativ som «TCPCongestionControlAlgorithm=» lagts till för att vĂ€lja TCP-överbelastningsalgoritm, «KeepFileDescriptor=» för att bevara filbeskrivare för TUN/TAP-grĂ€nssnitt, «NetLabel=» för att sĂ€tta NetLabel-mĂ€rken, och «RapidCommit=» för att pĂ„skynda konfiguration genom DHCPv6 (RFC 3315). I parametern «RouteTable=» Ă€r det nu tillĂ„tet att ange namn pĂ„ rutningstabeller.
  • I systemd-nspawn Ă€r anvĂ€ndning av relativa filvĂ€gar tillĂ„tna i alternativen «—bind=» och «—overlay=». I alternativet «—bind=» har stöd för parametern ‘rootidmap’ lagts till för att binda root-anvĂ€ndarens ID i containern till Ă€garen av den monterade katalogen pĂ„ vĂ€rdsystemet.
  • I systemd-resolved anvĂ€nds nu OpenSSL-paketet som standardbackend för kryptering (stöd för gnutls bibehĂ„lls som ett alternativ). Ej stödda DNSSEC-algoritmer behandlas nu som osĂ€kra istĂ€llet för att returnera ett fel (SERVFAIL).
  • I systemd-sysusers, systemd-tmpfiles och systemd-sysctl har möjligheten att överföra instĂ€llningar via mekanismen för datalagring genomförts.
  • Till verktyget systemd-analyze har kommandot ‘compare-versions’ lagts till för att jĂ€mföra strĂ€ngar med versionsnummer (i likhet med ‘rpmdev-vercmp’ och ‘dpkg —compare-versions’). Till kommandot ‘systemd-analyze dump’ har möjligheten lagts till att filtrera enheter baserat pĂ„ mask.
  • Vid val av flerfasigt vilolĂ€ge (suspend-then-hibernate, övergĂ„ng till vilolĂ€ge efter vĂ€ntelĂ€ge) vĂ€ljs tiden i vĂ€ntelĂ€ge baserat pĂ„ prognosen för Ă„terstĂ„ende batteritid. Den omedelbara övergĂ„ngen till vilolĂ€ge sker nĂ€r mindre Ă€n 5% av batteriladdningen Ă„terstĂ„r.
  • En ny utskriftslĂ€ge «-o short-delta» har lagts till i ‘journalctl’, som visar tidsdifferensen mellan olika meddelanden i loggen.
  • Stöd för att skapa partitioner med Filsystemet Squashfs och partitioner för dm-verity, inklusive med digitala signaturer, har lagts till i systemd-repart.
  • En instĂ€llning «StopIdleSessionSec=» har lagts till i systemd-logind för att avsluta inaktiva sessioner efter att en angiven timeout har gĂ„tt ut.
  • Alternativet «—unlock-key-file=» har lagts till i systemd-cryptenroll för att extrahera dekrypteringsnyckeln frĂ„n en fil istĂ€llet för via anvĂ€ndarens frĂ„ga.
  • Möjlighet att köra systemd-growfs i miljöer utan udev har sĂ€kerstĂ€llts.
  • FörbĂ€ttrat stöd för system med flera grafikkort i systemd-backlight.
  • Licensen för de exempel pĂ„ kod som tas med i dokumentationen har Ă€ndrats frĂ„n CC0 till MIT-0.

Ändringar som bryter kompatibilitet:

  • Vid kontroll av kĂ€rnans versionsnummer med direktivet ConditionKernelVersion tillĂ€mpas nu enkel strĂ€ngjĂ€mförelse i operatorerna ‘=’ och ‘!=’. Om ingen jĂ€mförelseoperator alls anges kan glob-mönsterpassning med hjĂ€lp av tecknen ‘*’, ‘?’ och ‘[‘, ‘]’ tillĂ€mpas. För jĂ€mförelse av versioner i stil med funktionen stverscmp() ska operatorerna ‘’, ‘=’ anvĂ€ndas.
  • SELinux-mĂ€rket som anvĂ€nds för att kontrollera Ă„tkomst frĂ„n en enhet-fil lĂ€ses nu vid filens laddningssteg, inte vid Ă„tkomstkontrollen.
  • Villkoret «ConditionFirstBoot» triggars nu vid systemets första uppstart endast direkt under uppstartssteget och returnerar «false» vid anrop av enheter efter att uppstarten har avslutats.
  • År 2024 planeras systemd att avsluta stödet för resursbegrĂ€nsningsmekanismen cgroup v1, som klassificerades som förĂ„ldrad i version 248 av systemd. Administratörer rekommenderas att i god tid övergĂ„ till cgroup v2 för tjĂ€nster knutna till cgroup v1. En nyckelskillnad mellan cgroups v2 och v1 Ă€r anvĂ€ndningen av en gemensam hierarki av cgroups för alla typer av resurser, istĂ€llet för separata hierarkier för att fördela CPU-resurser, hantera minnesanvĂ€ndning och för in- och utdata. Separata hierarkier leder till svĂ„righeter i samarbetet mellan hanterarna och ger ytterligare belastning pĂ„ kĂ€rnans resurser nĂ€r regler tillĂ€mpas pĂ„ processer som nĂ€mns i olika hierarkier.
  • Under andra halvan av 2023 planeras stödet för separata kataloghierarkier att upphöra, nĂ€r /usr monteras separat frĂ„n rot- eller separerade kataloger som /bin och /usr/bin, /lib och /usr/lib.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster