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

Està disponible el llançament de la distribució Linux Bottlerocket 1.2.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'ha afegit suport per a rèpliques de registre d'imatges de contenidors.
  • S'ha afegit la possibilitat d'utilitzar certificats autofirmats.
  • S'ha afegit una opció per configurar el nom d'amfitrió.
  • S'ha actualitzat la versió predeterminada del contenidor administratiu.
  • S'ha afegit la configuració de topologyManagerPolicy i topologyManagerScope per al kubelet.
  • S'ha afegit suport per a la compressió del nucli mitjançant l'algoritme zstd.
  • Es proporciona la possibilitat de carregar màquines virtuals a VMware en format OVA (Open Virtualization Format).
  • La versió de distribució aws-k8s-1.21 s'ha actualitzat amb suport per a Kubernetes 1.21. El suport per aws-k8s-1.16 s'ha interromput.
  • Versions de paquets actualitzades i dependències per a l'idioma Rust.

Font: opennet.ru

Afegeix comentari