Systemd 262 llega con seguridad TPM2, OpenSSL 4 y binarios estáticos

La versión 262 del gestor de sistemas y servicios systemd ya está disponible y llega integrando importantes avances tras tres meses de desarrollo. Esta entrega se destaca por optimizar su arquitectura para entornos virtualizados ligeros, mejorar los protocolos criptográficos vinculados a los módulos de plataforma segura (TPM) y añadir funcionalidades críticas a herramientas nativas como run0 y systemd-sysupdate.
Pensando los contenedores que exigen una huella mínima de sistema, systemd ahora ofrece la capacidad de compilarse un solo archivo ejecutable con enlace estático. Esta compilación (habilitada a través de Meson con parámetros como -Dsystemd-multicall-binary=true) está diseñada para actuar como el proceso de inicio (PID 1) en contenedores muy pequeños, evitando el uso de llamadas dlopen() para cargar bibliotecas dinámicas y apoyándose en una búsqueda simplificada de usuarios y grupos en lugar del estándar NSS.
Complementando esto, el ejecutable ahora embebe internamente un conjunto de archivos de unidad esenciales (como basic.target, sysinit.target, multi-user.target y reboot.target, entre otros). Estos archivos integrados se utilizan como respaldo en caso de que no sea posible cargar las configuraciones desde el disco, permitiendo que un contenedor arranque sin necesidad de instalar archivos de unidad explícitamente.
Gestión de servicios y recuperación de fallos
Para mitigar el riesgo de reinicios sincronizados cuando múltiples servicios fallan simultáneamente, se ha introducido el parámetro RestartRandomizedDelaySec. Esta directiva añade un retardo aleatorio (uniformemente distribuido) antes de que un servicio se reinicie automáticamente, el cual se suma al tiempo configurado en RestartSec. Adicionalmente, las unidades de segmentación (slice units) incorporan ActivatingConcurrencyMax, un límite que determina el número máximo de unidades que pueden activarse simultáneamente dentro de la jerarquía; cualquier activación excedente se pone en cola hasta que se liberen ranuras de capacidad.
En entornos que exigen alta disponibilidad continua (como servidores críticos), se implementó el parámetro LUOSession para las unidades de servicio. Este parámetro ordena a systemd la creación de sesiones de Live Update Orchestrator, permitiendo la actualización en caliente del núcleo del sistema (kernel) sin interrumpir el funcionamiento de los servicios y conservando intactos el estado de los procesos y los dispositivos.
TPM2, fscrypt y seguridad de almacenamiento
Otras de las novedades que presenta la nueva version son en las credenciales selladas en un TPM, las cuales ahora se vinculan directamente a su clave raíz de almacenamiento (SRK), previniendo ataques de tipo MitM realizados por componentes intermedios que intenten interceptar los datos descifrados. El registro de credenciales PIN de TPM2 mediante systemd-cryptenroll incorpora el algoritmo Argon2id como opción predeterminada, generando material de clave mucho más robusto que la implementación heredada (direct/PBKDF2).
A nivel de almacenamiento de usuario, systemd-homed ha modificado su comportamiento para los directorios encriptados mediante el sistema de archivos fscrypt: las nuevas creaciones adoptarán por defecto las políticas de la versión 2 (fscrypt v2), permitiendo que la clave maestra resida en el anillo de claves del sistema de archivos y sea visible a través de diferentes espacios de nombres de montaje (mount namespaces). Los directorios fscrypt v1 seguirán siendo funcionales, aunque no contarán con una ruta de actualización in situ hacia v2.
Además, se incluyó soporte nativo en el arranque para el módulo del kernel dm-clone, que permite generar clones modificables a partir de dispositivos de bloques de solo lectura, procesados mediante el generador systemd-clonesetup-generator leyendo desde /etc/clonetab.
Actualizaciones atómicas y cambios en el entorno
La suite systemd-sysupdate, diseñada para actualizaciones de sistema mediante reemplazo atómico de particiones y directorios, ahora mantiene una base de datos persistente de los ficheros instalados. Se incorpora el comando cleanup para purgar archivos redundantes y se adoptó el concepto de «componentes recomendados» (suggested), los cuales pueden evaluarse dinámicamente según la arquitectura o las etiquetas de la máquina (MachineTags) para automatizar la instalación de controladores.
Otros cambios relevantes de la versión 262 incluyen:
- systemd-vmspawn: Añade soporte para ejecutar máquinas virtuales confidenciales bajo la arquitectura Intel TDX (–coco=tdx), sumándose a AMD SEV-SNP.
- OpenSSL y Registro: El sistema de inmutabilidad del registro (Forward Secure Sealing, FSS) migra de la biblioteca libgcrypt hacia las funciones criptográficas nativas de OpenSSL. Se añade también soporte inicial de compilación contra OpenSSL 4.
- Terminal y Usabilidad: La utilidad de escalada de privilegios run0 suma opciones compatibles con sudo, tales como -k, -K y -v para resetear o validar el tiempo de autorización de Polkit. vconsole permite configurar el tamaño de la tipografía al 100% o 200% mediante FONT_SCALE, y las peticiones de contraseña para tokens FIDO2 ahora mostrarán los intentos restantes para el código PIN.
- systemd-sysctl: Ahora incluye la bandera –verify para comprobar mediante relectura que el valor escrito en el sistema se aplicó efectivamente.
Finalmente, si estas interesado en poder conocer mas al respecto, puedes consultar los detalles en el siguiente enlace.
