Lanzamento de Bottlerocket 1.7, unha distribución baseada en contedores illados

Publicouse o lanzamento da distribución Linux Bottlerocket 1.7.0, desenvolvida coa participación de Amazon para o lanzamento eficiente e seguro de contedores illados. As ferramentas e compoñentes de control da distribución están escritos en Rust e distribúense baixo as licenzas MIT e Apache 2.0. Admite a execución de Bottlerocket en clusters de Amazon ECS, VMware e AWS EKS Kubernetes, así como a creación de compilacións e edicións personalizadas que permiten o uso de varias ferramentas de orquestración e tempo de execución para contedores.

A distribución proporciona unha imaxe do sistema indivisible actualizada atómica e automática que inclúe o núcleo de Linux e un ambiente mínimo do sistema, incluíndo só os compoñentes necesarios para executar os contedores. O ambiente inclúe o xestor de sistema systemd, a biblioteca Glibc, a ferramenta de compilación Buildroot, o cargador de arranque GRUB, o configurador de rede malvado, o tempo de execución containerd para contedores illados, a plataforma de orquestración de contedores Kubernetes, o aws-iam-authenticator e o Amazon. Agente ECS.

As ferramentas de orquestración de contedores veñen nun contedor de xestión separado que está activado de forma predeterminada e xestionado a través da API e do axente AWS SSM. A imaxe base carece de shell de comandos, servidor SSH e linguaxes interpretadas (por exemplo, sen Python ou Perl): as ferramentas administrativas e as ferramentas de depuración colócanse nun contedor de servizos separado, que está desactivado por defecto.

A diferenza fundamental con distribucións similares, como Fedora CoreOS, CentOS/Red Hat Atomic Host é o foco principal en proporcionar a máxima seguridade no contexto de reforzar a protección do sistema contra posibles ameazas, facendo máis difícil explotar as vulnerabilidades dos compoñentes do sistema operativo e aumentar o illamento dos contedores. . Os contedores créanse usando mecanismos estándar do núcleo de Linux: cgroups, namespaces e seccomp. Para un illamento adicional, a distribución usa SELinux en modo de "aplicación".

A partición raíz está montada de só lectura, e a partición de configuración /etc móntase en tmpfs e restablece o seu estado orixinal despois dun reinicio. Non se admite a modificación directa dos ficheiros do directorio /etc, como /etc/resolv.conf e /etc/containerd/config.toml. Para gardar a configuración de forma permanente, debes usar a API ou mover a funcionalidade a contedores separados. O módulo dm-verity úsase para verificar criptográficamente a integridade da partición raíz e, se se detecta un intento de modificar datos a nivel de dispositivo de bloque, o sistema reinicia.

A maioría dos compoñentes do sistema están escritos en Rust, que ofrece funcións seguras para a memoria para evitar vulnerabilidades causadas por accesos á memoria posteriores á liberación, desreferencias de punteiros nulos e desbordamentos do búfer. Cando se crea de forma predeterminada, os modos de compilación "-enable-default-pie" e "-enable-default-ssp" úsanse para activar a aleatorización do espazo de enderezos de ficheiros executables (PIE) e a protección contra desbordamentos de pila mediante a substitución canaria. Para paquetes escritos en C/C++, as marcas “-Wall”, “-Werror=format-security”, “-Wp,-D_FORTIFY_SOURCE=2”, “-Wp,-D_GLIBCXX_ASSERTIONS” e “-fstack-clash” son adicionalmente protección activada".

Na nova versión:

  • Ao instalar paquetes RPM, é posible xerar unha lista de programas en formato JSON e montala no contedor do host como o ficheiro /var/lib/bottlerocket/inventory/application.json para obter información sobre os paquetes dispoñibles.
  • Actualizáronse os contedores "administrador" e "control".
  • Versións e dependencias de paquetes actualizadas para os idiomas Go e Rust.
  • Versións actualizadas de paquetes con programas de terceiros.
  • Problemas de configuración de tmpfilesd resoltos para kmod-5.10-nvidia.
  • Ao instalar tuftool, as versións de dependencia están ligadas.

Fonte: opennet.ru

Engadir un comentario