Lanzamiento de Bottlerocket 1.1, una distribución basada en contenedores aislados

Está disponible la versión 1.1.0 del distribuidor Linux Bottlerocket, desarrollado con la participación de Amazon para el lanzamiento eficiente y seguro de contenedores aislados. Las herramientas y componentes de gestión del distribuidor están escritos en Rust y se distribuyen bajo licencias MIT y Apache 2.0. Se admite la ejecución de Bottlerocket en clústeres de Amazon ECS y AWS EKS Kubernetes, así como la creación de compilaciones y versiones personalizadas que permiten el uso de diversas herramientas de orquestación y runtime para contenedores.

La distribución proporciona una imagen del sistema atómica y actualizable automáticamente, que incluye el núcleo de Linux y un entorno de sistema mínimo, conteniendo solo los componentes necesarios para ejecutar contenedores. En el entorno se utilizan el gestor de sistemas systemd, la biblioteca Glibc, la herramienta de construcción Buildroot, el cargador de arranque GRUB, el configurador de red wicked, el runtime para contenedores aislados containerd, la plataforma de orquestación de contenedores Kubernetes, el autenticador aws-iam-authenticator y el agente de Amazon ECS.

Las herramientas para la orquestación de contenedores se suministran en un contenedor de gestión separado, que está habilitado por defecto y se gestiona a través de la API y AWS SSM Agent. La imagen base no incluye un intérprete de comandos. servidor SSH y lenguajes interpretados (por ejemplo, no hay Python o Perl) — las herramientas para administradores y las herramientas de depuración se han trasladado a un contenedor de servicio separado, que está deshabilitado por defecto.

La principal diferencia con otras distribuciones similares, como Fedora CoreOS y CentOS/Red Hat Atomic Host, es la orientación primaria hacia la maximización de la seguridad en el contexto de fortalecer la protección del sistema contra posibles amenazas, complicar la explotación de vulnerabilidades en los componentes del sistema operativo y aumentar la aislamiento de los contenedores. Los contenedores se crean mediante los mecanismos estándar del núcleo de Linux: cgroups, espacios de nombres y seccomp. Para una mayor isolación, la distribución utiliza SELinux en modo "enforcing".

La partición raíz se monta en modo solo lectura, y la partición de configuración /etc se monta en tmpfs y se restablece a su estado original después de un reinicio. No se admite la modificación directa de archivos en el directorio /etc, como /etc/resolv.conf y /etc/containerd/config.toml; para guardar configuraciones de manera persistente, se deben utilizar las API o trasladar la funcionalidad a contenedores separados. Se utiliza el módulo dm-verity para la verificación criptográfica de la integridad de la partición raíz, y si se detecta un intento de modificar datos a nivel de dispositivo de bloque, el sistema se reinicia.

La mayoría de los componentes del sistema están escritos en Rust, que proporciona herramientas para trabajar de manera segura con la memoria, evitando vulnerabilidades causadas por el acceso a áreas de memoria después de haber sido liberadas, la desreferenciación de punteros nulos y sobrepasar los límites del búfer. Al compilar por defecto, se utilizan los modos de compilación "--enable-default-pie" y "--enable-default-ssp" para habilitar la aleatorización del espacio de direcciones de archivos ejecutables (PIE) y protección contra desbordamientos de pila mediante la inserción de marcas canarias. Para paquetes escritos en C/C++, se incluyen además las banderas "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" y "-fstack-clash-protection".

En esta nueva versión:

  • Se han propuesto dos nuevas variantes del distribuidor aws-k8s-1.20 y vmware-k8s-1.20 con soporte para Kubernetes 1.20. En estas variantes, así como en la versión actualizada aws-ecs-1, se ha implementado una nueva versión del núcleo de Linux 5.10. El modo de lockdown se ha cambiado por defecto a 'integrity' (se bloquean las capacidades que permiten realizar cambios en el núcleo en funcionamiento desde el espacio de usuario). Se ha terminado el soporte para la variante aws-k8s-1.15 basada en Kubernetes 1.15.
  • Para Amazon ECS se ha implementado soporte para el modo de red awsvpc, que permite asignar interfaces de red individuales y internas IP para cada tarea.
  • Se han añadido configuraciones para gestionar varios parámetros de Kubernetes, incluidos QPS, límites en los grupos y la posibilidad de conectarse a proveedores de nube distintos de AWS.
  • En el contenedor de bootstrap se ha limitado el acceso a los datos del usuario mediante SELinux.
  • Se ha añadido la herramienta resize2fs.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster