Llançament del gestor de sistema systemd 252 amb suport UKI (Imatge del nucli unificat).

Després de cinc mesos de desenvolupament, es va presentar el llançament del gestor del sistema systemd 252. El canvi clau de la nova versió va ser la integració del suport per a un procés d'arrencada modernitzat, que us permet verificar no només el nucli i el carregador d'arrencada, sinó també els components. de l'entorn bàsic del sistema mitjançant signatures digitals.

El mètode proposat implica l'ús d'una imatge del nucli unificada UKI (Imatge del nucli unificada) durant la càrrega, que combina un controlador per carregar el nucli des de UEFI (estub d'arrencada UEFI), una imatge del nucli de Linux i l'entorn del sistema initrd carregat a la memòria, utilitzat. per a la inicialització inicial en l'etapa abans de muntar el FS arrel. La imatge UKI s'empaqueta com un únic fitxer executable en format PE, que es pot carregar amb carregadors d'arrencada tradicionals o cridar-se directament des del microprogramari UEFI. Quan es truca des de UEFI, és possible verificar la integritat i la fiabilitat de la signatura digital no només del nucli, sinó també del contingut de l'initrd.

Per calcular els paràmetres dels registres TPM PCR (Trusted Platform Module Platform Configuration Register) utilitzats per controlar la integritat i generar una signatura digital de la imatge UKI, s'inclou una nova utilitat systemd-measure. La clau pública i la informació de PCR que l'acompanya utilitzada a la signatura es poden incrustar directament a la imatge d'arrencada de l'UKI (la clau i la signatura es guarden en un fitxer PE als camps '.pcrsig' i '.pcrkey') i extreure's per mitjà extern. o utilitats internes.

En particular, les utilitats systemd-cryptsetup, systemd-cryptenroll i systemd-creds s'han adaptat per utilitzar aquesta informació, amb la qual podeu assegurar-vos que les particions de disc xifrades estan vinculades a un nucli signat digitalment (en aquest cas, l'accés a la partició xifrada). només es proporciona si la imatge UKI ha superat la verificació mitjançant signatura digital basada en paràmetres situats a TPM).

A més, s'inclou la utilitat systemd-pcrphase, que us permet controlar la vinculació de diverses etapes d'arrencada amb paràmetres situats a la memòria dels criptoprocessadors que admeten l'especificació TPM 2.0 (per exemple, podeu fer que la clau de desxifrat de la partició LUKS2 estigui disponible només a la imatge initrd i bloquejar-hi l'accés en etapes posteriors de baixada).

Alguns altres canvis:

  • Assegura que la configuració regional predeterminada és C.UTF-8 tret que s'especifiqui una configuració regional diferent a la configuració.
  • Ara és possible realitzar una operació predeterminada de servei completa ("systemctl preset") durant el primer arrencada. L'habilitació dels valors predefinits en el moment de l'arrencada requereix la creació amb l'opció "-Dfirst-boot-full-preset", però està previst que s'habiliten de manera predeterminada en futures versions.
  • Les unitats de gestió d'usuaris inclouen un controlador de recursos de la CPU, que va permetre assegurar-se que la configuració de CPUWeight s'aplica a totes les unitats de porció utilitzades per dividir el sistema en parts (app.slice, background.slice, session.slice) per aïllar els recursos entre diferents serveis d'usuari, competint pels recursos de la CPU. CPUWeight també admet el valor "inactiu" per activar el mode d'aprovisionament de recursos adequat.
  • A les unitats temporals ("transitòries") i a la utilitat systemd-repart, es permet la substitució de la configuració creant fitxers desplegables al directori /etc/systemd/system/name.d/.
  • Per a les imatges del sistema, s'estableix la marca de finalització de suport, determinant aquest fet en funció del valor del nou paràmetre "SUPPORT_END=" al fitxer /etc/os-release.
  • S'ha afegit la configuració "ConditionCredential=" i "AssertCredential=", que es pot utilitzar per ignorar o bloquejar unitats si determinades credencials no estan presents al sistema.
  • S'han afegit els paràmetres "DefaultSmackProcessLabel=" i "DefaultDeviceTimeoutSec="" a system.conf i user.conf per definir el nivell de seguretat SMACK predeterminat i el temps d'espera d'activació de la unitat.
  • A la configuració "ConditionFirmware=" i "AssertFirmware=", s'ha afegit la possibilitat d'especificar camps SMBIOS individuals, per exemple, per llançar una unitat només si el camp /sys/class/dmi/id/board_name conté el valor "Personalitzat". Board", podeu especificar "ConditionFirmware=smbios" -field(board_name = "Custom Board")".
  • Durant el procés d'inicialització (PID 1), s'ha afegit la possibilitat d'importar credencials dels camps SMBIOS (Tipus 11, "cadenes de proveïdor OEM") a més de la seva definició mitjançant qemu_fwcfg, que simplifica el subministrament de credencials a les màquines virtuals i elimina la necessitat d'eines de tercers com ara cloud -init i ignition.
  • Durant l'aturada, s'ha canviat la lògica per desmuntar sistemes de fitxers virtuals (proc, sys) i la informació sobre els processos que bloquegen el desmuntatge dels sistemes de fitxers es desa al registre.
  • El filtre de crida al sistema (SystemCallFilter) permet l'accés a la crida al sistema riscv_flush_icache per defecte.
  • El carregador d'arrencada sd-boot afegeix la possibilitat d'arrencar en mode mixt, en què el nucli Linux de 64 bits s'executa des del microprogramari UEFI de 32 bits. S'ha afegit la capacitat experimental per aplicar automàticament les claus SecureBoot dels fitxers que es troben a ESP (partició del sistema EFI).
  • S'han afegit noves opcions a la utilitat bootctl: "—all-architectures" per instal·lar binaris per a totes les arquitectures EFI admeses, "—root=" i "—image=" per treballar amb un directori o imatge de disc, "—install-source =" per definir la font per a la instal·lació, "-efi-boot-option-description=" per controlar els noms de les entrades d'arrencada.
  • S'ha afegit l'ordre 'list-automounts' a la utilitat systemctl per mostrar una llista de directoris muntats automàticament i l'opció "--image=" per executar ordres en relació a la imatge de disc especificada. S'han afegit opcions "--state=" i "--type=" a les ordres "mostrar" i "estat".
  • systemd-networkd va afegir les opcions "TCPCongestionControlAlgorithm=" per seleccionar l'algoritme de control de congestió TCP, "KeepFileDescriptor=" per desar el descriptor de fitxers de les interfícies TUN/TAP, "NetLabel=" per configurar NetLabels, "RapidCommit=" per accelerar la configuració mitjançant DHCPv6 (RFC 3315). El paràmetre "RouteTable=" permet especificar els noms de les taules d'encaminament.
  • systemd-nspawn permet l'ús de camins de fitxer relatius a les opcions "--bind=" i "--overlay=". S'ha afegit suport per al paràmetre "rootidmap" a l'opció "--bind=" per vincular l'ID d'usuari root del contenidor al propietari del directori muntat al costat de l'amfitrió.
  • systemd-resolved utilitza OpenSSL com a backend de xifratge de manera predeterminada (el suport de gnutls es manté com a opció). Els algorismes DNSSEC no compatibles ara es tracten com a insegurs en lloc de retornar un error (SERVFAIL).
  • systemd-sysusers, systemd-tmpfiles i systemd-sysctl implementen la capacitat de transferir la configuració mitjançant un mecanisme d'emmagatzematge de credencials.
  • S'ha afegit l'ordre "compare-versions" a la utilitat systemd-analyze per comparar cadenes amb números de versió (similar a "rpmdev-vercmp" i "dpkg --compare-versions"). S'ha afegit la possibilitat de filtrar unitats per màscara a l'ordre 'systemd-analyze dump'.
  • Quan seleccioneu un mode de repòs de diverses etapes (suspensió i després hibernació), el temps passat en mode d'espera ara es selecciona en funció de la previsió de la durada de la bateria restant. La transició instantània al mode de repòs es produeix quan queda menys del 5% de càrrega de la bateria.
  • S'ha afegit un nou mode de sortida "-o short-delta" a 'journalctl', que mostra la diferència horària entre diferents missatges al registre.
  • systemd-repart afegeix suport per crear particions amb el sistema de fitxers Squashfs i particions per a dm-verity, fins i tot amb signatures digitals.
  • S'ha afegit la configuració "StopIdleSessionSec=" a systemd-logind per finalitzar una sessió inactiva després d'un temps d'espera especificat.
  • Systemd-cryptenroll ha afegit una opció "--unlock-key-file=" per extreure la clau de desxifrat d'un fitxer en lloc de demanar a l'usuari.
  • Ara és possible executar la utilitat systemd-growfs en entorns sense udev.
  • systemd-backlight ha millorat el suport per a sistemes amb diverses targetes gràfiques.
  • La llicència dels exemples de codi proporcionats a la documentació s'ha canviat de CC0 a MIT-0.

Canvis que trenquen la compatibilitat:

  • Quan es comprova el número de versió del nucli amb la directiva ConditionKernelVersion, ara s'utilitza una comparació de cadenes senzilla als operadors '=' i '!=', i si l'operador de comparació no s'especifica en absolut, es pot utilitzar la concordança de màscara de globus mitjançant el personatges '*', '?' I '[', ']'. Per comparar les versions d'estil stverscmp(), utilitzeu els operadors '<', '>', '<=' i '>='.
  • L'etiqueta SELinux que s'utilitza per comprovar l'accés des d'un fitxer d'unitat ara es llegeix en el moment en què es carrega el fitxer, i no en el moment de la comprovació d'accés.
  • La condició "ConditionFirstBoot" ara s'activa al primer arrencada del sistema només directament a l'etapa d'arrencada i torna "false" quan es crida a unitats un cop finalitzat l'arrencada.
  • L'any 2024, systemd té previst deixar de donar suport al mecanisme de limitació de recursos cgroup v1, que estava obsolet a la versió 248 de systemd. Es recomana als administradors que tinguin cura abans de migrar els serveis basats en cgroup v2 a cgroup v1. La diferència clau entre cgroups v2 i v1 és l'ús d'una jerarquia comuna de cgroups per a tot tipus de recursos, en lloc de jerarquies separades per assignar recursos de CPU, per regular el consum de memòria i per a E/S. Les jerarquies separades comporten dificultats per organitzar la interacció entre gestors i costos addicionals de recursos del nucli quan s'apliquen regles per a un procés referenciat en diferents jerarquies.
  • A la segona meitat del 2023, tenim previst acabar amb el suport per a les jerarquies de directoris dividits, on /usr es munta per separat de l'arrel, o bé /bin i /usr/bin, /lib i /usr/lib estan separats.

Font: opennet.ru

Afegeix comentari