Dispoñible Bottlerocket 1.8, unha distribución baseada en envases illados

Publicouse o lanzamento da distribución Linux Bottlerocket 1.8.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:

  • Обновлено содержимое административного и управляющего контейнеров.
  • Runtime для изолированных контейнеров обновлён до ветки containerd 1.6.x.
  • Обеспечен перезапуск фоновых процессов, координирующих работу контейнеров, после изменений в хранилище сертификатов.
  • Предоставлена возможность выставления загрузочных параметров ядра через секцию Boot Configuration.
  • Включено игнорирование пустых блоков при контроле целостности корневого раздела при помощи dm-verity.
  • Предоставлена возможность статической привязки имён хостов в /etc/hosts.
  • Предоставлена возможность генерации сетевой конфигурации при помощи утилиты netdog (добавлена команда generate-net-config).
  • Предложены новые варианты дистрибутива c поддержкой Kubernetes 1.23. Сокращено время запуска pod-ов в Kubernetes за счёт отключения режима configMapAndSecretChangeDetectionStrategy. Добавлены новые настройки kubelet-ов: provider-id и podPidsLimit.
  • Предложен новый вариант дистрибутива «aws-ecs-1-nvidia» для Amazon Elastic Container Service (Amazon ECS), поставляемый с драйверами NVIDIA.
  • Добавлена поддержка устройств хранения Microchip Smart Storage и MegaRAID SAS. Расширена поддержка Ethernet-карт на чипах Broadcom.
  • Обновлены версии пакетов и зависимости для языков Go и Rust, а также версии пакетов со сторонними программами. Bottlerocket SDK обновлён до версии 0.26.0.

Fonte: opennet.ru

Engadir un comentario