Nedávno vydanie bolo oznámené novej verzie distribúcie Linuxu „Bottlerocket 1.7.0“, vyvinuté s účasťou spoločnosti Amazon, na efektívne a bezpečné prevádzkovanie izolovaných kontajnerov.
Pre tých, ktorí sú v Bottlerocket noví, by ste mali vedieť, že ide o distribúciu, ktorá poskytuje automaticky atomicky aktuálny nedeliteľný systémový obraz, ktorý obsahuje jadro Linuxu a minimálne systémové prostredie, ktoré obsahuje iba komponenty potrebné na spustenie kontajnerov.
O Bottlerocket
Životné prostredie používa systémového správcu systému, knižnicu Glibc, nástroj na zostavovanie Buildroot, zavádzač GRUB, runtime karantény kontajnerov, platforma na orchestráciu kontajnerov Kubernetes, autentifikátor aws-iam a agent Amazon ECS.
Nástroje na orchestráciu kontajnerov sa dodávajú v samostatnom kontajneri na správu, ktorý je predvolene povolený a spravovaný prostredníctvom agenta AWS SSM a rozhrania API. V základnom obrázku chýba príkazový shell, server SSH a interpretované jazyky (napríklad Python alebo Perl): nástroje na správu a ladenie sú presunuté do samostatného kontajnera služieb, ktorý je predvolene vypnutý.
Kľúčový rozdiel od podobných distribúcií ako napríklad Fedora CoreOS, CentOS / Red Hat Atomic Host je hlavným zameraním na poskytovanie maximálnej bezpečnosti v rámci posilnenia ochrany systému pred možnými hrozbami, čo komplikuje využitie zraniteľností v komponentoch operačného systému a zvyšuje izoláciu kontajnera.
Kontajnery sa vytvárajú pomocou obvyklých mechanizmov jadra Linuxu: cgroups, menné priestory a seccomp. Pre dodatočnú izoláciu používa distribúcia SELinux v režime „aplikácie“.
Koreňový oddiel je pripojený len na čítanie a oddiel s konfiguráciou /etc sa pripojí do tmpfs a po reštarte sa obnoví do pôvodného stavu. Priama úprava súborov v adresári /etc, ako napríklad /etc/resolv.conf a /etc/containerd/config.toml, nie je podporovaná; Ak chcete konfiguráciu uložiť natrvalo, musíte použiť rozhranie API alebo presunúť funkčnosť do samostatných kontajnerov.
Na kryptografické overenie integrity koreňového oddielu sa používa modul dm-verity a ak sa zistí pokus o úpravu údajov na úrovni blokového zariadenia, systém sa reštartuje.
Väčšina komponentov systému je napísaná v jazyku Rust, ktorý poskytuje pamäťovo bezpečné nástroje na predchádzanie zraniteľnostiam spôsobeným adresovaním pamäťovej oblasti po jej uvoľnení, dereferencovaním nulových ukazovateľov a pretečením vyrovnávacej pamäte.
Pri kompilácii sa predvolene používajú režimy kompilácie „–enable-default-pie“ a „–enable-default-ssp“, aby sa umožnila randomizácia spustiteľného adresného priestoru (PIE) a ochrana proti pretečeniu zásobníka prostredníctvom nahradenia tagov canary tag.
Čo je nové v Bottlerocket 1.7.0?
V tejto novej verzii distribúcie, ktorá je prezentovaná, je jednou zo zmien, ktoré vynikajú pri inštalácii balíkov RPM sa poskytuje vygenerovanie zoznamu programov vo formáte JSON a pripojte ho k hostiteľskému kontajneru ako súbor /var/lib/bottlerocket/inventory/application.json, aby ste získali informácie o dostupných balíkoch.
V Bottlerocket 1.7.0 je tiež uvedený aktualizácia kontajnerov „admin“ a „control“., ako aj verzie balíkov a závislosti pre Go a Rust.
Na druhej strane zvýraznenie aktualizované verzie balíkov s programami tretích strán, tiež opravené problémy s konfiguráciou tmpfilesd pre kmod-5.10-nvidia a pri inštalácii verzií závislostí tuftool sú prepojené.
Nakoniec pre tých, ktorí sú Máte záujem dozvedieť sa o tom viac o tejto distribúcii by ste mali vedieť, že súprava nástrojov a komponenty kontroly distribúcie sú napísané v jazyku Rust a sú distribuované pod licenciami MIT a Apache 2.0.
Fľaša na fľaše podporuje spustenie klastrov Amazon ECS, VMware a AWS EKS Kubernetes, ako aj vytváranie vlastných zostavení a edícií, ktoré umožňujú rôzne orchestrácie a runtime nástroje pre kontajnery.
Môžete skontrolovať podrobnosti, Na nasledujúcom odkaze.