K dispozícii je Bottlerocket 1.8, distribúcia založená na izolovaných kontajneroch

Bolo zverejnené vydanie linuxovej distribúcie Bottlerocket 1.8.0 vyvinutej za účasti Amazonu pre efektívne a bezpečné spúšťanie izolovaných kontajnerov. Nástroje a ovládacie komponenty distribúcie sú napísané v jazyku Rust a distribuované pod licenciami MIT a Apache 2.0. Podporuje spustenie Bottlerocket na klastroch Amazon ECS, VMware a AWS EKS Kubernetes, ako aj vytváranie vlastných zostavení a vydaní, ktoré umožňujú použitie rôznych nástrojov na orchestráciu a spustenie pre kontajnery.

Distribúcia poskytuje atomicky a automaticky aktualizovaný nedeliteľný systémový obraz, ktorý obsahuje linuxové jadro a minimálne systémové prostredie, vrátane komponentov potrebných na spustenie kontajnerov. Prostredie zahŕňa systémového manažéra systemd, knižnicu Glibc, nástroj na zostavovanie Buildroot, zavádzač GRUB, konfigurátor zlej siete, kontajnerový runtime pre izolované kontajnery, platformu na orchestráciu kontajnerov Kubernetes, aws-iam-authenticator a Amazon. Agent ECS.

Nástroje na orchestráciu kontajnerov sa dodávajú v samostatnom kontajneri na správu, ktorý je predvolene povolený a spravovaný prostredníctvom rozhrania API a agenta AWS SSM. V základnom obrázku chýba príkazový shell, SSH server a interpretované jazyky ​​(napríklad žiadny Python alebo Perl) - administratívne nástroje a nástroje na ladenie sú umiestnené v samostatnom kontajneri služieb, ktorý je predvolene vypnutý.

Kľúčovým rozdielom od podobných distribúcií, ako je Fedora CoreOS, CentOS/Red Hat Atomic Host, je primárne zameranie na poskytovanie maximálnej bezpečnosti v kontexte posilnenia ochrany systému pred možnými hrozbami, čím sa sťažuje využívanie zraniteľností v komponentoch OS a zvyšuje sa izolácia kontajnerov. . Kontajnery sú vytvorené pomocou štandardných mechanizmov jadra Linuxu – cgroups, namespaces a seccomp. Pre dodatočnú izoláciu používa distribúcia SELinux v režime „vynucovania“.

Koreňový oddiel je pripojený len na čítanie a oddiel s nastaveniami /etc je pripojený v tmpfs a po reštarte obnovený do pôvodného stavu. Priama modifikácia súborov v adresári /etc, ako napríklad /etc/resolv.conf a /etc/containerd/config.toml, nie je podporovaná - na trvalé uloženie nastavení musíte použiť API alebo presunúť funkčnosť do samostatných kontajnerov. Modul dm-verity sa používa na kryptografické overenie integrity koreňového oddielu a ak sa zistí pokus o úpravu údajov na úrovni blokového zariadenia, systém sa reštartuje.

Väčšina systémových komponentov je napísaná v jazyku Rust, ktorý poskytuje funkcie bezpečné pre pamäť, aby sa predišlo zraniteľnostiam spôsobeným prístupmi do pamäte po uvoľnení, dereferencemi nulového ukazovateľa a pretečením vyrovnávacej pamäte. Pri štandardnom zostavovaní sa režimy kompilácie "-enable-default-pie" a "-enable-default-ssp" používajú na umožnenie náhodného usporiadania priestoru adries spustiteľného súboru (PIE) a ochrany proti pretečeniu zásobníka prostredníctvom náhrady canary. Pre balíky napísané v C/C++ sú navyše príznaky „-Wall“, „-Werror=format-security“, „-Wp,-D_FORTIFY_SOURCE=2“, „-Wp,-D_GLIBCXX_ASSERTIONS“ a „-fstack-clash“. povolená -ochrana“.

V novom vydaní:

  • Obsah administratívnych a kontrolných kontajnerov bol aktualizovaný.
  • Runtime pre izolované kontajnery bolo aktualizované na kontajnerovú vetvu 1.6.x.
  • Zabezpečuje, aby sa procesy na pozadí, ktoré koordinujú činnosť kontajnerov, reštartovali po zmenách v sklade certifikátov.
  • V sekcii Boot Configuration je možné nastaviť parametre zavádzania jadra.
  • Povolené ignorovanie prázdnych blokov pri monitorovaní integrity koreňového oddielu pomocou dm-verity.
  • Bola poskytnutá možnosť staticky viazať názvy hostiteľov v /etc/hosts.
  • Bola poskytnutá možnosť generovať konfiguráciu siete pomocou utility netdog (pridaný bol príkaz create-net-config).
  • Boli navrhnuté nové možnosti distribúcie s podporou pre Kubernetes 1.23. Čas spustenia modulov v Kubernetes sa skrátil vypnutím režimu configMapAndSecretChangeDetectionStrategy. Pridané nové nastavenia kubelet: provider-id a podPidsLimit.
  • Bola navrhnutá nová verzia distribučnej súpravy „aws-ecs-1-nvidia“ pre službu Amazon Elastic Container Service (Amazon ECS), dodávaná s ovládačmi NVIDIA.
  • Pridaná podpora pre úložné zariadenia Microchip Smart Storage a MegaRAID SAS. Podpora ethernetových kariet na čipoch Broadcom bola rozšírená.
  • Aktualizované verzie balíkov a závislosti pre jazyky Go a Rust, ako aj verzie balíkov s programami tretích strán. Bottlerocket SDK bol aktualizovaný na verziu 0.26.0.

Zdroj: opennet.ru

Pridať komentár