Se dio a conocer el lanzamiento de la nueva versión de Bottlerocket 1.15.0, versión en la cual se han implementado diversos cambios, mejoras y sobre todo actualizaciones de los diferentes paquetes del sistema, ademas de que a partir de esta versión ya se ofrece soporte para arranque seguro en plataformas que utilizan arranque UEFI, entre otras cosas más.
Para quienes desconocen de Bottlerocket, deben saber que esta es una distribución que proporciona una imagen de sistema indivisible actualizada, atómica y automáticamente que incluye el kernel de Linux y un entorno de sistema mínimo que incluye solo los componentes necesarios para ejecutar contenedores.
El entorno utiliza el administrador del sistema systemd, la biblioteca Glibc, la herramienta de compilación Buildroot, el cargador de arranque GRUB, el tiempo de ejecución del contenedor aislado de contenedores, la plataforma de orquestación de contenedores de Kubernetes, el autenticador aws-iam y el agente de Amazon ECS.
La diferencia clave con distribuciones similares como Fedora CoreOS, CentOS/Red Hat Atomic Host es el enfoque principal en brindar la máxima seguridad en el contexto de fortalecer la protección del sistema contra posibles amenazas, lo que complica la explotación de vulnerabilidades en los componentes del sistema operativo y aumenta el aislamiento del contenedor.
Principales novedades de Bottlerocket 1.15.0
En esta nueva versión que se presenta de Bottlerocket 1.15.0, se han implementado una gran cantidad de actualizaciones de las cuales se destacan las del kernel de Linux, que se ha actualizado a la versión 6.1, systemd que se ha actualizado a la versión 252, nvidia-container-toolkit a 1.13.5, containerd a la versión 1.6.23, glibc a la versión 2.38, entre otros.
Por la parte de los cambios internos que esta versión de Bottlerocket 1.15.0 ofrece, se destaca el soporte para arranque seguro en plataformas que utilizan arranque UEFI, systemd-networkd y systemd-resolved para redes de host y XFS como sistema de archivos para almacenamiento local para nuevas instalaciones. Cabe mencionar que estas funciones están habilitadas de forma predeterminada en las nuevas instalaciones y que las instalaciones existentes seguirán utilizando kernels anteriores, wicked para redes de host, y EXT4 como sistema de archivos para almacenamiento local.
Ademas de ello, se han propuesto nuevas opciones de distribución con soporte para Kubernetes 1.28, que utilizan UEFI Secure Boot, systemd-networkd y XFS, con lo cual ahora pasa a ser soporte obsoleto para versiones basadas en Kubernetes 1.27 anteriores.
Otros de los cambios que se destacan en esta nueva versión, es que se agregó el comando «apclient report» para generar un informe CIS (Centro de Seguridad de Internet) que evalúa la seguridad de la configuración. También se incluye un agente para verificar el cumplimiento del sistema con los requisitos CIS.
De los demás cambios que se destacan de esta nueva versión:
- La configuración SeccompDefault se agregó a las variantes basadas en Kubernetes 1.25 y versiones más recientes.
- Se añadio aws-iam-authenticator a las variantes de k8s
- Se han actualizado los contenidos de los contenedores de control y administración.
- Se han agregado configuraciones de límite de recursos a la configuración predeterminada para contenedores OCI.
- Se habilito el controlador Intel VMD
- Se propone una nueva variante de distribución «aws-ecs-2» para Amazon Elastic Container Service (Amazon ECS), que utiliza UEFI Secure Boot, systemd-networkd y XFS.
- Todas las distribuciones de Amazon ECS ahora incluyen compatibilidad con AppMesh.
- Las variantes de distribución «metal-*» (Bare Metal, para ejecutarse sobre hardware convencional) incluyen el controlador Intel VMD y agregan los paquetes linux-firmware y aws-iam-authenticator.
- Actualizacion de Bottlerocket SDK v0.34.1
- Se utiliza Twoliter para permitir el trabajo en compilaciones fuera del árbol. La mayoría toolsse ha mudado a Twoliter
- Limite solo la simultaneidad al crear RPM
Por último y no menos importante, también se menciona que se eliminó la funcionalidad para aplicar un parche para log4j (CVE-2021-44228) en el cual la configuración correspondiente, settings.oci-hooks.log4j-hotpatch-enabled todavía está disponible para compatibilidad con versiones anteriores. Sin embargo, no tiene ningún efecto más allá de imprimir una advertencia de obsolescencia en los registros del sistema.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.