Llançament de Bottlerocket 1.3, una distribució basada en contenidors aïllats

S'ha publicat el llançament de la distribució Linux Bottlerocket 1.3.0, desenvolupada amb la participació d'Amazon per al llançament eficient i segur de contenidors aïllats. Les eines i els components de control de la distribució estan escrits en Rust i es distribueixen sota les llicències MIT i Apache 2.0. Admet l'execució de Bottlerocket als clústers d'Amazon ECS, VMware i AWS EKS Kubernetes, així com la creació de compilacions i edicions personalitzades que permeten l'ús de diverses eines d'orquestració i temps d'execució per als contenidors.

La distribució proporciona una imatge del sistema indivisible actualitzada atòmicament i automàticament que inclou el nucli de Linux i un entorn de sistema mínim, que inclou només els components necessaris per executar contenidors. L'entorn inclou el gestor del sistema systemd, la biblioteca Glibc, l'eina de compilació Buildroot, el carregador d'arrencada GRUB, el configurador de xarxa malvat, el temps d'execució containerd per a contenidors aïllats, la plataforma d'orquestració de contenidors Kubernetes, l'aws-iam-authenticator i l'Amazon. Agent ECS.

Les eines d'orquestració de contenidors vénen en un contenidor de gestió independent que s'habilita de manera predeterminada i es gestiona mitjançant l'API i l'agent AWS SSM. La imatge base no té un intèrpret d'ordres, un servidor SSH i idiomes interpretats (per exemple, sense Python o Perl): les eines administratives i les eines de depuració es col·loquen en un contenidor de servei independent, que està desactivat per defecte.

La diferència clau amb distribucions similars com Fedora CoreOS, CentOS/Red Hat Atomic Host és l'enfocament principal a proporcionar la màxima seguretat en el context de millorar la protecció del sistema davant de possibles amenaces, fent més difícil explotar les vulnerabilitats dels components del sistema operatiu i augmentar l'aïllament dels contenidors. . Els contenidors es creen utilitzant mecanismes estàndard del nucli de Linux: cgroups, espais de noms i seccomp. Per a un aïllament addicional, la distribució utilitza SELinux en mode "aplicar".

La partició arrel es munta de només lectura, i la partició de configuració /etc es munta en tmpfs i es restaura al seu estat original després d'un reinici. No s'admet la modificació directa dels fitxers del directori /etc, com ara /etc/resolv.conf i /etc/containerd/config.toml; per desar permanentment la configuració, heu d'utilitzar l'API o moure la funcionalitat a contenidors separats. El mòdul dm-verity s'utilitza per verificar criptogràficament la integritat de la partició arrel i, si es detecta un intent de modificar dades a nivell de dispositiu de bloc, el sistema es reinicia.

La majoria dels components del sistema estan escrits en Rust, que proporciona funcions segures per a la memòria per evitar vulnerabilitats causades per accessos a memòria posteriors lliures, desreferències de punter nul i desbordaments de memòria intermèdia. Quan es construeix per defecte, els modes de compilació "-enable-default-pie" i "-enable-default-ssp" s'utilitzen per habilitar l'aleatorització de l'espai d'adreces de fitxers executables (PIE) i la protecció contra desbordaments de pila mitjançant la substitució canària. Per als paquets escrits en C/C++, les marques "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" i "-fstack-clash" són addicionals habilitat -protecció".

A la nova versió:

  • S'han solucionat vulnerabilitats a les eines de contenidors de Docker i Runtime (CVE-2021-41089, CVE-2021-41091, CVE-2021-41092, CVE-2021-41103) relacionades amb la configuració incorrecta dels drets d'accés, que permetia als usuaris sense privilegis anar més enllà de la base. directori i executar programes externs.
  • S'ha afegit suport IPv6 a kubelet i pluto.
  • És possible reiniciar el contenidor després de canviar-ne la configuració.
  • S'ha afegit suport per a les instàncies d'Amazon EC2 M6i al paquet eni-max-pods.
  • Open-vm-tools ha afegit suport per a filtres de dispositius, basat en el conjunt d'eines Cilium.
  • Per a la plataforma x86_64, s'implementa un mode d'arrencada híbrid (amb suport per a EFI i BIOS).
  • Versions de paquets actualitzades i dependències per a l'idioma Rust.
  • El suport per a la versió de distribució aws-k8s-1.17 basada en Kubernetes 1.17 s'ha interromput. Es recomana utilitzar la versió aws-k8s-1.21 amb suport per a Kubernetes 1.21. Les variants k8s utilitzen la configuració de runtime.slice i system.slice de cgroup.

Font: opennet.ru

Afegeix comentari