Lanzamento do xestor de sistema systemd 252 con compatibilidade con UKI (Imaxe unificada do núcleo).

Despois de cinco meses de desenvolvemento, presentouse o lanzamento do xestor de sistema systemd 252. O cambio fundamental na nova versión foi a integración do soporte para un proceso de arranque modernizado, que permite verificar non só o núcleo e o cargador de arranque, senón tamén os compoñentes. do contorno básico do sistema mediante sinaturas dixitais.

O método proposto implica o uso dunha imaxe de kernel unificada (UKI, polas súas siglas en inglés) durante a carga, que combina un controlador para cargar o kernel desde UEFI (stub de arranque UEFI), unha imaxe de kernel Linux e o initrd, un entorno de sistema cargado na memoria, usado para a inicialización antes de montar o sistema de ficheiros raíz. A imaxe UKI empaquetase como un único ficheiro executable en formato PE, que se pode cargar usando cargadores de arranque tradicionais ou invocar directamente desde o firmware UEFI. Cando se invoca desde UEFI, a integridade e autenticidade non só do núcleo senón tamén do contido do initrd pódese verificar mediante unha sinatura dixital.

Para calcular os parámetros dos rexistros TPM PCR (Trusted Platform Module Platform Configuration Register) utilizados para supervisar a integridade e xerar unha sinatura dixital da imaxe UKI, inclúese unha nova utilidade systemd-measure. A clave pública e a información de PCR que se acompaña na sinatura pódense incrustar directamente na imaxe de arranque de UKI (a chave e a sinatura gárdanse nun ficheiro PE nos campos '.pcrsig' e '.pcrkey') e extraídas dela por medio externo. ou utilidades internas.

En particular, as utilidades systemd-cryptsetup, systemd-cryptenroll e systemd-creds adaptáronse para utilizar esta información, coa que pode asegurarse de que as particións de disco cifradas estean unidas a un núcleo asinado dixitalmente (neste caso, o acceso á partición cifrada). só se proporciona se a imaxe UKI pasou a verificación mediante sinatura dixital baseada nos parámetros situados en TPM).

Ademais, inclúese a utilidade systemd-pcrphase, que permite controlar a vinculación de varias etapas de arranque a parámetros situados na memoria dos procesadores criptográficos que admiten a especificación TPM 2.0 (por exemplo, pode facer que a clave de descifrado da partición LUKS2 estea dispoñible só en a imaxe initrd e bloquear o acceso a ela en fases posteriores de descarga).

Algúns outros cambios:

  • Asegura que a configuración rexional predeterminada é C.UTF-8 a menos que se especifique unha configuración rexional diferente.
  • Agora é posible realizar unha operación preestablecida de servizo completa ("systemctl preset") durante o primeiro arranque. A habilitación dos predefinidos no momento do inicio require a creación coa opción "-Dfirst-boot-full-preset", pero está previsto que se active de forma predeterminada en futuras versións.
  • As unidades de xestión de usuarios inclúen un controlador de recursos da CPU, o que permitiu garantir que a configuración de CPUWeight se aplique a todas as unidades de segmento utilizadas para dividir o sistema en partes (app.slice, background.slice, session.slice) para illar recursos entre diferentes servizos de usuario, competindo polos recursos da CPU. CPUWeight tamén admite o valor "inactivo" para activar o modo de aprovisionamento de recursos axeitado.
  • Nas unidades temporais ("transitorias") e na utilidade systemd-repart, permítese a anulación de configuracións creando ficheiros desplegables no directorio /etc/systemd/system/name.d/.
  • Para as imaxes do sistema, establécese a marca de finalización do soporte, determinando este feito en función do valor do novo parámetro "SUPPORT_END=" no ficheiro /etc/os-release.
  • Engadíronse os axustes de "ConditionCredential=" e "AssertCredential=", que se poden usar para ignorar ou bloquear unidades se determinadas credenciais non están presentes no sistema.
  • Engadíronse as opcións "DefaultSmackProcessLabel=" e "DefaultDeviceTimeoutSec="" a system.conf e user.conf para definir o nivel de seguridade predeterminado de SMACK e o tempo de espera de activación da unidade.
  • Na configuración "ConditionFirmware=" e "AssertFirmware=", engadiuse a posibilidade de especificar campos SMBIOS individuais, por exemplo, para iniciar unha unidade só se o campo /sys/class/dmi/id/board_name contén o valor "Personalizado". Board", pode especificar "ConditionFirmware=smbios" -field(board_name = "Custom Board")".
  • O proceso de inicialización (PID 1) agora ten a capacidade de importar credenciais dos campos SMBIOS (Tipo 11, "cadeas de provedores OEM") ademais de definilas mediante qemu_fwcfg, o que facilita a subministración de credenciais. máquinas virtuais e elimina a necesidade de ferramentas de terceiros como cloud-init e ignition.
  • Durante o apagado, cambiouse a lóxica para desmontar sistemas de ficheiros virtuais (proc, sys) e gárdase no rexistro a información sobre os procesos que bloquean a desmontaxe dos sistemas de ficheiros.
  • O filtro de chamadas ao sistema (SystemCallFilter) permite o acceso á chamada ao sistema riscv_flush_icache por defecto.
  • O cargador de arranque sd-boot agora ten a capacidade de arrincar en modo mixto, no que o kernel de 64 bits Linux Iníciase desde firmware UEFI de 32 bits. Engadiuse unha funcionalidade experimental para aplicar automaticamente as claves SecureBoot desde ficheiros que se atopan no ESP (partición do sistema EFI).
  • Engadíronse novas opcións á utilidade bootctl: "—all-architectures" para instalar binarios para todas as arquitecturas EFI admitidas, "—root=" e "—image=" para traballar cun directorio ou imaxe de disco, "—install-source =" para definir a fonte para a instalación, "-efi-boot-option-description=" para controlar os nomes das entradas de arranque.
  • O comando 'list-automounts' engadiuse á utilidade systemctl para mostrar unha lista de directorios montados automaticamente e a opción "--image=" para executar comandos en relación coa imaxe de disco especificada. Engadíronse as opcións "--state=" e "--type=" aos comandos "show" e "status".
  • systemd-networkd engadiu as opcións “TCPCongestionControlAlgorithm=” para seleccionar o algoritmo de control de conxestión TCP, “KeepFileDescriptor=” para gardar o descritor de ficheiros das interfaces TUN/TAP, “NetLabel=” para configurar NetLabels, “RapidCommit=” para acelerar a configuración mediante DHCPv6 (RFC 3315). O parámetro "RouteTable=" permite especificar os nomes das táboas de enrutamento.
  • systemd-nspawn permite o uso de rutas de ficheiro relativas nas opcións "--bind=" e "--overlay=". Engadiuse compatibilidade para o parámetro "rootidmap" á opción "--bind=" para vincular o ID de usuario root no contedor ao propietario do directorio montado no host.
  • systemd-resolved usa OpenSSL como o seu backend de cifrado por defecto (o soporte de gnutls consérvase como opción). Os algoritmos DNSSEC non compatibles agora trátanse como inseguros en lugar de devolver un erro (SERVFAIL).
  • systemd-sysusers, systemd-tmpfiles e systemd-sysctl implementan a capacidade de transferir a configuración a través dun mecanismo de almacenamento de credenciais.
  • Engadiuse o comando "compare-versions" a systemd-analyze para comparar cadeas cos números de versión (semellante a "rpmdev-vercmp" e "dpkg --compare-versions"). Engadiuse a capacidade de filtrar unidades por máscara ao comando 'systemd-analyze dump'.
  • Ao seleccionar un modo de suspensión de varias etapas (suspensión e despois hibernación), agora selecciónase o tempo que pasa no modo de espera en función da previsión da duración da batería restante. A transición instantánea ao modo de suspensión prodúcese cando queda menos do 5 % de carga da batería.
  • Engadiuse un novo modo de saída "-o short-delta" a 'journalctl', que mostra a diferenza horaria entre as diferentes mensaxes no rexistro.
  • systemd-repart engade soporte para crear particións co sistema de ficheiros Squashfs e particións para dm-verity, incluso con sinaturas dixitais.
  • Engadiuse a configuración "StopIdleSessionSec=" a systemd-logind para finalizar unha sesión inactiva despois dun tempo de espera especificado.
  • Systemd-cryptenroll engadiu unha opción "--unlock-key-file=" para extraer a clave de descifrado dun ficheiro en lugar de pedirlle ao usuario.
  • Agora é posible executar a utilidade systemd-growfs en ambientes sen udev.
  • systemd-backlight mellorou a compatibilidade con sistemas con varias tarxetas gráficas.
  • A licenza para os exemplos de código que se proporcionan na documentación cambiouse de CC0 a MIT-0.

Cambios que rompen a compatibilidade:

  • Ao comprobar o número de versión do núcleo usando a directiva ConditionKernelVersion, agora utilízase unha simple comparación de cadeas nos operadores '=' e '!=', e se non se especifica o operador de comparación, pódese usar a coincidencia de máscara globo usando o caracteres '*', '?' E '[', ']'. Para comparar versións de estilo stverscmp(), use os operadores '<', '>', '<=' e '>='.
  • Etiqueta SELinux, usado para comprobar o acceso desde un ficheiro unitario, agora lése na etapa de carga do ficheiro, en lugar de na etapa de comprobación de acceso.
  • A condición "ConditionFirstBoot" agora desenvólvese no primeiro arranque do sistema só directamente na fase de inicio e devolve "false" ao chamar ás unidades despois de que se complete o arranque.
  • En 2024, systemd planea deixar de admitir o mecanismo de limitación de recursos cgroup v1, que estaba en desuso na versión 248 de systemd. Recoméndase aos administradores que teñan coidado antes de migrar os servizos baseados en cgroup v2 a cgroup v1. A diferenza fundamental entre cgroups v2 e v1 é o uso dunha xerarquía común de cgroups para todos os tipos de recursos, en lugar de xerarquías separadas para asignar recursos da CPU, para regular o consumo de memoria e para E/S. Xerarquías separadas orixinan dificultades para organizar a interacción entre controladores e custos adicionais de recursos do núcleo cando se aplican regras para un proceso referenciado en xerarquías diferentes.
  • No segundo semestre de 2023, pensamos acabar co soporte para xerarquías de directorios divididos, onde /usr se monta por separado da raíz, ou /bin e /usr/bin, /lib e /usr/lib están separados.

Fonte: opennet.ru

Compre hospedaxe fiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra aloxamento web fiable con protección DDoS, servidores VPS VDS | ProHoster