La compañía Microsoft ha publicado una actualización del sistema CBL-Mariner 1.0.20210901 (Common Base Linux Mariner), que se desarrolla como una plataforma base universal para entornos Linux utilizados en infraestructura en la nube, sistemas edge y diversos servicios de Microsoft. El proyecto tiene como objetivo unificar las soluciones de Linux empleadas en Microsoft y simplificar el mantenimiento de los sistemas Linux de diversos propósitos. Los avances del proyecto se distribuyen bajo la licencia MIT.
En esta nueva versión:
- Se ha comenzado a crear la imagen ISO base (700 MB). En la primera versión no se proporcionaron imágenes ISO listas, se asumió que el usuario podía crear la imagen con el contenido necesario (las instrucciones de compilación se han preparado para Ubuntu 18.04).
- Se ha implementado la función de actualización automática de paquetes, para lo cual se incluye la aplicación Dnf-Automatic.
- El kernel de Linux se ha actualizado a la versión 5.10.60.1. Se han actualizado versiones de programas, incluyendo openvswitch 2.15.1, golang 1.16.7, logrus 1.8.1, tcell 1.4.0, gonum 0.9.3, testify 1.7.0, crunchy 0.4.0, xz 0.5.10, swig 4.0.2, squashfs-tools 4.4, mysql 8.0.26.
- En OpenSSL se ha habilitado el retorno del soporte para TLS 1 y TLS 1.1.
- Se ha utilizado la utilidad sha256sum para verificar los códigos fuente del conjunto de herramientas.
- Se han incluido nuevos paquetes: etcd-tools, cockpit, aide, fipscheck, tini.
- Se han eliminado los paquetes brp-strip-debug-symbols, brp-strip-unneeded y ca-legacy. Se han eliminado los archivos SPEC para los paquetes Dotnet y aspnetcore, que ahora son compilados por el equipo principal de desarrolladores de .NET y se colocan en un repositorio separado.
- Se han trasladado correcciones de vulnerabilidades a las versiones de los paquetes utilizados.
Recordemos que el distribuidor CBL-Mariner proporciona un pequeño conjunto estándar de paquetes básicos que sirven como una base universal para la creación de contenedores, entornos de host y servicios que se ejecutan en infraestructuras en la nube y en dispositivos edge. Soluciones más complejas y especializadas pueden ser creadas añadiendo paquetes adicionales sobre CBL-Mariner, pero la base para todos estos sistemas permanece inalterada, lo que simplifica el mantenimiento y la preparación de actualizaciones. Por ejemplo, CBL-Mariner se utiliza como base para el mini-distribuidor WSLg, que proporciona componentes de la pila gráfica para permitir la ejecución de aplicaciones GUI de Linux en entornos basados en la subsistema WSL2 (Windows Subsystem for Linux). La funcionalidad ampliada en WSLg se realiza a través de la inclusión de paquetes adicionales con compuesto el servidor Weston, XWayland, PulseAudio y FreeRDP.
El sistema de construcción CBL-Mariner permite generar tanto paquetes RPM individuales a partir de archivos SPEC y textos fuente, como imágenes de sistema monolíticas, formadas mediante la herramienta rpm-ostree y actualizadas de manera atómica sin descomponer en paquetes individuales. Por lo tanto, se admiten dos modelos de entrega de actualizaciones: a través de 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 ensamblar sus propias imágenes basadas en un archivo de configuración.
La distribución 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. La distribución también destaca por incluir varios mecanismos adicionales para mejorar la seguridad. En el proyecto se aplica el enfoque de 'máxima seguridad por defecto'. Se ofrece la posibilidad de filtrar llamadas al sistema mediante el mecanismo seccomp, cifrado de particiones de disco, y verificación de paquetes mediante firma digital.
Se han activado los modos de aleatorización del espacio de direcciones admitidos en el núcleo de Linux, así como mecanismos de protección contra ataques relacionados con enlaces simbólicos, mmap, /dev/mem y /dev/kmem. Para las áreas de memoria que albergan segmentos de datos del núcleo y módulos, se ha establecido un modo de solo lectura y se prohíbe la ejecución de código. Opcionalmente, está disponible la posibilidad de prohibir la carga de módulos del núcleo después de la inicialización del sistema. Se ha utilizado la herramienta iptables para la filtración de paquetes de red. En la etapa de compilación, se activan por defecto los modos de protección contra desbordamientos de pila, desbordamientos de búfer e problemas de formato de cadenas (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
Para la gestión de servicios y arranque se utiliza el gestor de sistema systemd. Se proporcionan gestores de paquetes RPM y DNF (la variante tdnf de vmWare) para la gestión de paquetes. El servidor SSH no se activa por defecto. Para la instalación del distribuidor, hay un instalador que puede funcionar tanto en modo texto como gráfico. En el instalador, se ofrece la posibilidad de instalar con un conjunto completo o básico de paquetes, además de una interfaz para seleccionar la partición del disco, elegir el nombre del host y crear usuarios.
Fuente: opennet.ru
