Disponível Bottlerocket 1.8, uma distribuição baseada em contêineres isolados.

Foi lançado o versionamento da distribuição Linux Bottlerocket 1.8.0, desenvolvida em parceria com a Amazon para iniciar com eficiência e segurança contêineres isolados. As ferramentas e componentes de gerenciamento da distribuição são escritos em Rust e são distribuídos sob as licenças MIT e Apache 2.0. O Bottlerocket suporta execução em clusters do Amazon ECS, VMware e AWS EKS Kubernetes, bem como a criação de builds e edições personalizadas, permitindo o uso de várias ferramentas de orquestração e runtime para contêineres.

A distribuição fornece uma imagem do sistema atômica e atualizável automaticamente, incluindo o núcleo Linux e um ambiente mínimo do sistema, contendo apenas os componentes necessários para executar contêineres. O ambiente utiliza o gerenciador de sistema systemd, a biblioteca Glibc, a ferramenta de construção Buildroot, o carregador de inicialização GRUB, o configurador de rede wicked, o runtime para contêineres isolados containerd, a plataforma de orquestração de contêineres Kubernetes, o autenticador aws-iam-authenticator e o agente Amazon ECS.

As ferramentas para orquestração de contêineres são fornecidas em um contêiner de gerenciamento separado, que é incluído por padrão e gerenciado via API e AWS SSM Agent. A imagem base não contém um shell de comando. servidor SSH e linguagens interpretadas (por exemplo, não há Python ou Perl) - as ferramentas para o administrador e os instrumentos de depuração foram realocados em um contêiner de serviço separado, que está desativado por padrão.

A principal diferença em relação a distribuições semelhantes, como Fedora CoreOS, CentOS/Red Hat Atomic Host, é a orientação primária para proporcionar máxima segurança no contexto de reforçar a proteção do sistema contra possíveis ameaças, complicar a exploração de vulnerabilidades nos componentes do sistema operacional e aumentar o isolamento dos contêineres. Os contêineres são criados usando os mecanismos nativos do núcleo Linux - cgroups, namespaces e seccomp. Para isolamento adicional, o SELinux é aplicado no modo 'enforcing'.

A partição raiz é montada em modo somente leitura, enquanto a partição de configurações /etc é montada em tmpfs e restaura 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 a preservação permanente das configurações, deve-se usar a API ou mover a funcionalidade para contêineres separados. Para verificação criptográfica da integridade da partição raiz, é utilizado o módulo dm-verity, e, ao detectar uma tentativa de modificação de dados no nível do dispositivo de bloco, o sistema reinicia.

A maioria dos componentes do sistema é escrita na linguagem Rust, que fornece ferramentas para um gerenciamento seguro da memória, evitando vulnerabilidades causadas pelo acesso a áreas de memória após a liberação, desreferenciação de ponteiros nulos e estouros de buffer. Durante a compilação, os modos padrão "--enable-default-pie" e "--enable-default-ssp" são aplicados para habilitar a randomização do espaço de endereçamento de arquivos executáveis (PIE) e proteção contra estouro de pilha através da substituição de marcadores canários. Para pacotes escritos em C/C++, são adicionados os flags "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" e "-fstack-clash-protection".

No novo lançamento:

  • Conteúdo dos contêineres administrativos e de gerenciamento atualizado.
  • Runtime para contêineres isolados atualizado para a versão containerd 1.6.x.
  • Reinício dos processos em segundo plano que coordenam o funcionamento dos contêineres garantido após alterações no armazenamento de certificados.
  • Facilitada a configuração dos parâmetros de inicialização do kernel através da seção de Configuração de Boot.
  • Ativado o ignorar de blocos vazios durante o controle de integridade da partição raiz com dm-verity.
  • Possibilidade de vinculação estática de nomes de hosts em /etc/hosts.
  • Facilitada a geração da configuração de rede através da ferramenta netdog (comando generate-net-config adicionado).
  • Novas opções de distribuição com suporte ao Kubernetes 1.23 foram propostas. O tempo de inicialização dos pods no Kubernetes foi reduzido ao desativar o modo configMapAndSecretChangeDetectionStrategy. Novas configurações de kubelet foram adicionadas: provider-id e podPidsLimit.
  • Uma nova opção de distribuição "aws-ecs-1-nvidia" para o Amazon Elastic Container Service (Amazon ECS) foi proposta, fornecida com drivers NVIDIA.
  • Suporte adicionado para dispositivos de armazenamento Microchip Smart Storage e MegaRAID SAS. Suporte expandido para placas Ethernet com chipsets Broadcom.
  • Versões de pacotes e dependências atualizadas para as linguagens Go e Rust, além das versões de pacotes de softwares de terceiros. Bottlerocket SDK atualizado para a versão 0.26.0.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster