La empresa Microsoft ha lanzado una actualización de la distribución Azure Linux 3.0.20241101, que continúa el desarrollo de la rama estable 3.0 establecida en agosto. La distribución se desarrolla como una plataforma base universal para entornos Linux utilizados en infraestructura en la nube, sistemas edge y varios servicios de Microsoft. Los avances del proyecto se distribuyen bajo la licencia MIT. Las compilaciones de paquetes se generan para arquitecturas aarch64 y x86_64. El tamaño de la imagen de instalación es de 751 MB.
Entre los cambios en la nueva versión:
- Para sistemas basados en la arquitectura ARM, se ha añadido soporte para la especificación FF-A (Firmware Framework for Arm A-profile).
- Se ha incluido el módulo del núcleo intel_ifs (In-Field Scan), que permite ejecutar pruebas de diagnóstico de bajo nivel en procesadores Intel, capaces de detectar problemas no identificables por los medios estándar basados en códigos de corrección de errores (ECC) o bits de paridad.
- Se han añadido entradas SBAT al gestor de arranque GRUB2 para Fedora Linux.
- En la compilación del núcleo se ha incluido la configuración CONFIG_X86_AMD_PLATFORM_DEVICE, mediante la cual los dispositivos ACPI específicos de los chips AMD se manejan como dispositivos de plataforma estándar, como I2C, UART y GPIO.
- Se ha asegurado el funcionamiento de los comandos iptables mediante la traducción de reglas a bytecode nftables (además de iptables-legacy, se utiliza el paquete iptables-nft).
- Se han actualizado las versiones de los paquetes, entre los que se encuentran el núcleo de Linux 6.6.57, Go 1.23, OpenIPMI 2.0.36, libpcap 1.10.5, vim 9.1.0791, mysql 8.0.40, clamav 1.0.7, cloud-init 24.3.1, php 8.3.12, mdadm 4.3, libarchive 3.7.7.
La distribución Azure Linux proporciona un pequeño conjunto estándar de paquetes básicos que actúan como una base universal para crear el contenido de contenedores, entornos host y servicios que se ejecutan en infraestructuras en la nube y en dispositivos edge. Las soluciones más complejas y especializadas pueden ser creadas añadiendo paquetes adicionales sobre Azure Linux, pero la base para todos estos sistemas permanece inalterada, lo que simplifica el mantenimiento y la preparación de actualizaciones.
Azure Linux se utiliza como base para el mini-distrito WSLg, que proporciona componentes de la pila gráfica para ejecutar aplicaciones GUI de Linux en entornos basados en el Subsistema WSL2 (Windows Subsystem for Linux). La funcionalidad ampliada en WSLg se realiza mediante la inclusión de paquetes adicionales con compositores el servidor Weston, XWayland, PulseAudio y FreeRDP.
Para gestionar los servicios y la carga se utiliza el gestor de sistema systemd. Los gestores de paquetes RPM y DNF se incluyen para la gestión de paquetes. El servidor SSH no está habilitado por defecto. Se proporciona un instalador para la instalación de la distribución, que puede funcionar tanto en modo texto como gráfico. En el instalador, se ofrece la opción de instalar con un conjunto completo o básico de paquetes, así como una interfaz para seleccionar las particiones del disco, elegir el nombre del host y crear usuarios.
El sistema de construcción de Azure Linux permite generar tanto paquetes RPM individuales a partir de archivos SPEC y textos fuente, como imágenes del sistema monolíticas, que se crean utilizando la herramienta rpm-ostree y se actualizan de manera atómica sin fragmentarse en paquetes individuales. Por lo tanto, se admiten dos modelos de entrega de actualizaciones: mediante la actualización de paquetes individuales y mediante la reconstrucción y actualización de toda la imagen del sistema. Se dispone de un repositorio que incluye alrededor de 3000 paquetes RPM ya compilados, que se pueden utilizar para componer sus propias imágenes basadas en un archivo de configuración.
La plataforma básica incluye solo los componentes más necesarios y está optimizada para un consumo mínimo de memoria y espacio en disco, así como para una alta velocidad de arranque. El proyecto adopta un enfoque de 'máxima seguridad por defecto', que implica habilitar varios mecanismos adicionales para aumentar la protección:
- Filtración de llamadas al sistema mediante el mecanismo seccomp.
- Cifrado de particiones del disco.
- Verificación de paquetes mediante firma digital.
- Aleatorización del espacio de direcciones.
- Protección contra ataques relacionados con enlaces simbólicos, mmap, /dev/mem y /dev/kmem.
- Modo de solo lectura y prohibición de la ejecución de código en áreas de memoria donde se almacenan segmentos de datos del núcleo y módulos.
- Opción para prohibir la carga de módulos del núcleo después de la inicialización del sistema.
- Uso de iptables para filtrar paquetes de red.
- Inclusión al compilar de modos de protección contra desbordamiento de pila, desbordamientos de búfer y problemas de formateo de cadenas (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
Fuente: opennet.ru
