Vydání Bottlerocket 1.2, distribuce založená na izolovaných kontejnerech

Je k dispozici vydání linuxové distribuce Bottlerocket 1.2.0, vyvinuté za účasti Amazonu pro efektivní a bezpečné spouštění izolovaných kontejnerů. Nástroje a ovládací komponenty distribuce jsou napsány v Rustu a distribuovány pod licencemi MIT a Apache 2.0. Podporuje spouštění Bottlerocket na clusterech Amazon ECS, VMware a AWS EKS Kubernetes a také vytváření vlastních sestavení a edic, které umožňují použití různých nástrojů pro orchestraci a běh pro kontejnery.

Distribuce poskytuje atomicky a automaticky aktualizovaný nedělitelný systémový obraz, který zahrnuje linuxové jádro a minimální systémové prostředí, včetně pouze komponent nezbytných ke spuštění kontejnerů. Prostředí zahrnuje správce systému systemd, knihovnu Glibc, nástroj Buildroot pro sestavení, zavaděč GRUB, zlý síťový konfigurátor, kontejnerové runtime pro izolované kontejnery, platformu pro orchestraci kontejnerů Kubernetes, aws-iam-authenticator a Amazon. Agent ECS.

Nástroje pro orchestraci kontejnerů jsou dodávány v samostatném kontejneru pro správu, který je ve výchozím nastavení povolen a spravován prostřednictvím rozhraní API a agenta AWS SSM. Základní image postrádá příkazový shell, SSH server a interpretované jazyky ​​ (například žádný Python nebo Perl) - administrativní nástroje a nástroje pro ladění jsou umístěny v samostatném kontejneru služeb, který je ve výchozím nastavení zakázán.

Klíčovým rozdílem od podobných distribucí, jako je Fedora CoreOS, CentOS/Red Hat Atomic Host, je primární zaměření na poskytování maximální bezpečnosti v kontextu posílení ochrany systému před možnými hrozbami, což ztěžuje zneužití zranitelností komponent OS a zvyšuje izolaci kontejnerů. . Kontejnery jsou vytvářeny pomocí standardních mechanismů linuxového jádra – cgroups, jmenných prostorů a seccomp. Pro další izolaci používá distribuce SELinux v režimu „vynucování“.

Kořenový oddíl je připojen pouze pro čtení a oddíl nastavení /etc je připojen v tmpfs a po restartu obnoven do původního stavu. Přímé úpravy souborů v adresáři /etc, jako jsou /etc/resolv.conf a /etc/containerd/config.toml, nejsou podporovány – pro trvalé uložení nastavení musíte použít API nebo přesunout funkcionalitu do samostatných kontejnerů. Modul dm-verity se používá ke kryptografickému ověření integrity kořenového oddílu, a pokud je detekován pokus o úpravu dat na úrovni blokového zařízení, systém se restartuje.

Většina systémových komponent je napsána v Rustu, který poskytuje funkce bezpečné pro paměť, aby se zabránilo zranitelnostem způsobeným přístupy do paměti po volném čase, dereferencemi nulového ukazatele a přetečením vyrovnávací paměti. Při výchozím sestavování se režimy kompilace "-enable-default-pie" a "-enable-default-ssp" používají k povolení náhodného uspořádání adresního prostoru spustitelných souborů (PIE) a ochraně proti přetečení zásobníku prostřednictvím kanárské substituce. U balíčků napsaných v C/C++ jsou navíc příznaky „-Wall“, „-Werror=format-security“, „-Wp,-D_FORTIFY_SOURCE=2“, „-Wp,-D_GLIBCXX_ASSERTIONS“ a „-fstack-clash“. povoleno -ochrana".

V novém vydání:

  • Přidána podpora pro zrcadla registru obrázků kontejnerů.
  • Přidána možnost používat certifikáty s vlastním podpisem.
  • Přidána možnost konfigurace názvu hostitele.
  • Výchozí verze administrativního kontejneru byla aktualizována.
  • Přidána nastavení topologyManagerPolicy a topologyManagerScope pro kubelet.
  • Přidána podpora pro kompresi jádra pomocí algoritmu zstd.
  • Je poskytována možnost načíst virtuální stroje do VMware ve formátu OVA (Open Virtualization Format).
  • Distribuční verze aws-k8s-1.21 byla aktualizována s podporou pro Kubernetes 1.21. Podpora pro aws-k8s-1.16 byla ukončena.
  • Aktualizované verze balíčků a závislosti pro jazyk Rust.

Zdroj: opennet.ru

Přidat komentář