Faz pouco o lançamento foi anunciado da nova versão da distribuição Linux "Bottlerocket 1.7.0", desenvolvido com a participação da Amazon, para executar contêineres isolados com eficiência e segurança.
Para quem é novo no Bottlerocket, você deve saber que esta é uma distribuição que fornece uma imagem de sistema indivisível automaticamente atomicamente atualizada que inclui o kernel Linux e um ambiente de sistema mínimo que inclui apenas os componentes necessários para executar contêineres.
Sobre a Bottlerocket
O entorno usa gerenciador de sistema systemd, biblioteca Glibc, a ferramenta de compilação Buildroot, o carregador de inicialização GRUB, o ambiente de execução do sandbox do contêiner, a plataforma de orquestração de contêiner do Kubernetes, o autenticador aws-iam e o agente do Amazon ECS.
As ferramentas de orquestração de contêiner vêm em um contêiner de gerenciamento separado que é habilitado por padrão e gerenciado por meio do agente e da API do AWS SSM. A imagem base não possui shell de comando, servidor SSH e linguagens interpretadas (por exemplo, Python ou Perl): as ferramentas de administração e depuração são movidas para um contêiner de serviço separado, que é desabilitado por padrão.
A principal diferença de distribuições semelhantes como Fedora CoreOS, CentOS / Red Hat Atomic Host é o foco principal em fornecer a máxima segurança no contexto do reforço da proteção do sistema contra possíveis ameaças, o que dificulta a exploração de vulnerabilidades nos componentes do sistema operativo e aumenta o isolamento do contentor.
Os contêineres são criados usando os mecanismos usuais do kernel do Linux: cgroups, namespaces e seccomp. Para isolamento adicional, a distribuição usa o SELinux no modo "aplicativo".
A partição raiz é montada somente leitura e a partição com a configuração /etc é montada em tmpfs e restaurada ao seu estado original após a reinicialização. A modificação direta de arquivos no diretório /etc, como /etc/resolv.conf e /etc/containerd/config.toml, não é suportada; para salvar a configuração permanentemente, você deve usar a API ou mover a funcionalidade para contêineres separados.
Para verificação criptográfica da integridade da partição raiz, o módulo dm-verity é usado e, se for detectada uma tentativa de modificação de dados no nível do dispositivo de bloco, o sistema é reinicializado.
A maioria dos componentes do sistema são escritos em Rust, que fornece ferramentas seguras para a memória para evitar vulnerabilidades causadas pelo endereçamento de uma área de memória após ela ter sido liberada, desreferenciar ponteiros nulos e estouros de buffer.
Ao compilar, os modos de compilação "–enable-default-pie" e "–enable-default-ssp" são usados por padrão para habilitar a randomização do espaço de endereço executável (PIE) e a proteção contra estouro de pilha por meio da substituição de tag canary.
O que há de novo no Bottlerocket 1.7.0?
Nesta nova versão da distribuição que se apresenta, uma das mudanças que se destaca é que ao instalar pacotes RPM, é fornecido para gerar uma lista de programas no formato JSON e monte-o no contêiner do host como o arquivo /var/lib/bottlerocket/inventory/application.json para obter informações sobre os pacotes disponíveis.
Também apresentado no Bottlerocket 1.7.0 é o atualizando os containers “admin” e “control”, bem como versões de pacotes e dependências para Go e Rust.
Por outro lado, destaca versões atualizadas de pacotes com programas de terceiros, também corrigiu os problemas de configuração do tmpfilesd para kmod-5.10-nvidia e ao instalar as versões de dependência do tuftool são vinculadas.
Finalmente para aqueles que Interessado em saber mais sobre isso sobre esta distribuição, você deve saber que o kit de ferramentas e os componentes de controle de distribuição são escritos em Rust e são distribuídos sob as licenças MIT e Apache 2.0.
Foguete de garrafa suporta a execução de clusters Amazon ECS, VMware e AWS EKS Kubernetes, além de criar compilações e edições personalizadas que permitem diferentes orquestrações e ferramentas de tempo de execução para contêineres.
Você pode verificar os detalhes, no link a seguir.