Vydanie Bottlerocket 1.1, distribúcia založená na izolovaných kontajneroch

K dispozícii je vydanie linuxovej distribúcie Bottlerocket 1.1.0 vyvinutej s účasťou spoločnosti Amazon na 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 v klastroch Amazon ECS 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í:

  • Boli navrhnuté dve nové možnosti distribúcie aws-k8s-1.20 a vmware-k8s-1.20 s podporou pre Kubernetes 1.20. Tieto varianty, ako aj aktualizovaná verzia aws-ecs-1, používajú nové vydanie jadra Linuxu 5.10. Režim uzamknutia je štandardne nastavený na „integritu“ (možnosti, ktoré umožňujú vykonávať zmeny v spustenom jadre z používateľského priestoru, sú zablokované). Podpora pre variant aws-k8s-1.15 založený na Kubernetes 1.15 bola ukončená.
  • Amazon ECS podporuje sieťový režim awsvpc, ktorý vám umožňuje prideliť jednotlivé sieťové rozhrania a interné IP adresy pre každú úlohu.
  • Pridané nastavenia na ovládanie rôznych parametrov Kubernetes vrátane QPS, limitov fondu a možnosti pripojenia k iným poskytovateľom cloudu ako AWS.
  • Bootstrap kontajner poskytuje obmedzenie prístupu k užívateľským údajom pomocou SELinux.
  • Pridaná utilita resize2fs.

Zdroj: opennet.ru

Pridať komentár