E foi lançado o Bottlerocket 1.15 com diversas melhorias e atualizações. Confira essa e outras novidades dessa nova distro.
Bottlerocket é 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.
Ela foi desenvolvida com a participação da Amazon, para rodar contêineres isolados de forma eficiente e segura.
O ambiente usa o gerenciador de sistema systemd, a biblioteca Glibc, a ferramenta de compilação Buildroot, o carregador de inicialização GRUB, o container isolado do container runtime, a plataforma de orquestração de contêiner Kubernetes, o autenticador aws-iam e o agente 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 com distribuições semelhantes como Fedora CoreOS, CentOS/Red Hat Atomic Host é o foco principal em fornecer segurança máxima no contexto de fortalecer a proteção do sistema contra possíveis ameaças, o que complica a exploração de vulnerabilidades nos componentes do sistema. operacional e aumenta o isolamento do recipiente.
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 de memória para evitar vulnerabilidades causadas pelo endereçamento de uma área de memória após a liberação, desreferência de 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.
E, recentemente, foi anunciado o lançamento da nova versão da distribuição Linux Bottlerocket 1.15.
Novidades do Bottlerocket 1.15
Bottlerocket 1.15.0 é uma versão na qual foram implementadas diversas alterações, melhorias e, sobretudo, atualizações nos diferentes pacotes do sistema, além disso, a partir desta versão, o suporte para inicialização segura agora é oferecido em plataformas que utilizam inicialização UEFI, entre outras coisas.
Sim. Nesta nova versão do Bottlerocket 1.15.0 foi implementado um grande número de atualizações, das quais se destaca o kernel Linux, que foi atualizado para a versão 6.1, systemd, que foi atualizado para a versão 252, nvidia-container-toolkit para 1.13.5, containerd para versão 1.6.23, glibc para versão 2.38, entre outros.
Quanto às mudanças internas que esta versão do Bottlerocket 1.15.0 oferece, destaca-se o suporte para inicialização segura em plataformas que utilizam inicialização UEFI, systemd-networkd e systemd-resolved para redes host e XFS como sistema de arquivos para instalações de armazenamento para novas instalações.
Vale ressaltar que esses recursos são habilitados por padrão em novas instalações e que as instalações existentes continuarão a usar kernels mais antigos, adequados para redes host, e EXT4 como sistema de arquivos para armazenamento local.
Além disso, foram propostas novas opções de distribuição com suporte ao Kubernetes 1.28, que utiliza UEFI Secure Boot, systemd-networkd e XFS, que agora se torna obsoleto o suporte para versões baseadas no Kubernetes 1.27 anterior.
Outras mudanças que se destacam nesta nova versão é que foi adicionado o comando “apclient report” para gerar um relatório CIS (Internet Security Center) que avalia a segurança da configuração.
Também está incluído um agente para verificar a conformidade do sistema com os requisitos do CIS.
Das outras mudanças que se destacam nesta nova versão:
- A configuração SeccompDefault foi adicionada às variantes baseadas no Kubernetes 1.25 e mais recentes.
- Se añadio aws-iam-authenticator a las variantes de k8s
- O conteúdo dos contêineres de controle e administração foi atualizado.
- As configurações de limite de recursos foram adicionadas à configuração padrão para contêineres OCI.
- Se habilito el controlador Intel VMD
- Uma nova variante de distribuição “aws-ecs-2” é proposta para Amazon Elastic Container Service (Amazon ECS), que usa UEFI Secure Boot, systemd-networkd e XFS.
- Todas as distribuições do Amazon ECS agora incluem suporte para AppMesh.
- As variantes de distribuição “metal-*” (Bare Metal, para rodar em hardware convencional) incluem o driver Intel VMD e adicionam os pacotes linux-firmware e aws-iam-authenticator.
- Atualização do SDK Bottlerocket v0.34.1
- Twoliter é usado para permitir trabalhar em construções fora da árvore. A maioria das ferramentas mudou para Twoliter
- Limite apenas a simultaneidade ao criar RPM
Por último, mas não menos importante, também é mencionado que foi removida a funcionalidade de aplicação de um patch para log4j (CVE-2021-44228), na qual a configuração correspondente, settings.oci-hooks.log4j-hotpatch-enabled ainda está disponível para versões anteriores compatibilidade.
No entanto, isso não tem efeito além de imprimir um aviso de descontinuação nos logs do sistema.
Para saber mais sobre essa versão da distribuição, acesse a nota de lançamento.
Experimente o Bottlerocket 1.15
O Bottlerocket é melhor usado com um orquestrador de contêiner. Para começar a usar o Kubernetes no Amazon EKS, consulte QUICKSTART-EKS.