Amazon publica Bottlerocket 1.0.0, unha distribución Linux baseada en contedores illados

Amazon presentado primeira versión significativa dunha distribución Linux dedicada Bottlerocket 1.0.0, deseñada para executar contedores illados de forma eficiente e segura. As ferramentas e compoñentes de control da distribución están escritos en Rust e espallamento baixo licenzas MIT e Apache 2.0. O proxecto está a ser desenvolvido en GitHub e está dispoñible para a participación dos membros da comunidade. A imaxe de implantación do sistema xérase para as arquitecturas x86_64 e Aarch64. O SO está adaptado para executarse nos clústeres de Amazon ECS e AWS EKS Kubernetes. Se proporcionan ferramentas para crear as súas propias montaxes e edicións, que poden usar outras ferramentas de orquestración, núcleos e tempo de execución para contedores.

A distribución proporciona o núcleo de Linux e un ambiente de sistema mínimo, incluíndo só os compoñentes necesarios para executar contedores. Entre os paquetes implicados no proxecto están o xestor de sistema systemd, a biblioteca Glibc e as ferramentas de montaxe.
Buildroot, cargador de arranque GRUB, configurador de rede perverso, tempo de execución para contedores illados contedor, plataforma de orquestración de contedores Kubernetes, aws-iam-authenticator e axente Amazon ECS.

A distribución actualízase atómicamente e entrégase en forma de imaxe indivisible do sistema. Asóganse dúas particións de disco para o sistema, unha delas contén o sistema activo e a actualización cópiase na segunda. Despois de implementar a actualización, a segunda partición pasa a activarse e, na primeira, ata que chega a seguinte actualización, gárdase a versión anterior do sistema, á que podes retroceder se aparecen problemas. As actualizacións instálanse automaticamente sen a intervención do administrador.

A diferenza fundamental con distribucións similares como Fedora CoreOS, CentOS/Red Hat Atomic Host é o foco principal en proporcionar máxima seguridade no contexto de reforzar a protección do sistema ante posibles ameazas, dificultando a explotación de vulnerabilidades nos compoñentes do SO e aumentando 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 no modo de "aplicación" e o módulo úsase para a verificación criptográfica da integridade da partición raíz. dm-veridade. Se se detecta un intento de modificar datos a nivel de dispositivo de bloqueo, o sistema reiniciarase.

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.

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 dos ficheiros executables (TORTA) e protección contra desbordamento de pila mediante substitución canaria.
Para os paquetes escritos en C/C++, inclúense marcas adicionais
"-Wall", "-Werror=formato-seguridade", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" e "-fstack-clash-protection".

As ferramentas de orquestración de contedores entréganse por separado recipiente de control, que está activado por defecto e controlado mediante API e axente de 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 están situadas en contedor de servizo separado, que está desactivado por defecto.

Fonte: opennet.ru

Engadir un comentario