Vydanie Bottlerocket 1.3, distribúcie založenej na izolovaných kontajneroch

Bol bol nový vydanie Linux distribúcie Bottlerocket 1.3.0, ktorý sa vyvíja s podporou spoločnosti Amazon na efektívne a bezpečné spúšťanie izolovaných kontajnerov. Nástroje a správcovské komponenty distribúcie sú napísané v jazyku Rust a sú distribuované pod licenciou MIT a Apache 2.0. Bottlerocket podporuje spúšťanie v klastroch Amazon ECS, VMware a AWS EKS Kubernetes, ako aj vytváranie vlastných zostáv a edícií, ktoré umožňujú používanie rôznych nástrojov na orchestráciu a runtime pre kontajnery.

Distribúcia poskytuje atómovo a automaticky aktualizovaný nedeliteľný systémový obraz, ktorý obsahuje Linux jadro a minimálne systémové prostredie, vrátane iba komponentov potrebných na spúšťanie kontajnerov. V prostredí sú zapojené systémový správca systemd, knižnica Glibc, nástroj na zostavovanie Buildroot, zavádzač GRUB, konfigurátor siete wicked, runtime pre izolované kontajnery containerd, platforma na orchestráciu kontajnerov Kubernetes, autentifikátor aws-iam-authenticator a agent Amazon ECS.

Nástroje na orchestráciu kontajnerov sú dodávané v samostatnom riadiacom kontajneri, ktorý je zapnutý ako predvolené a spravovaný prostredníctvom API a AWS SSM Agent. V základnom obraze chýba príkazový shell. server SSH a interpretované jazyky (napríklad Python či Perl) – prostriedky pre administrátora a ladicí nástroje sú presunuté do samostatného služobného kontajnera, ktorý je predvolene vypnutý.

Kľúčovým rozdielom od podobných distribúcií, ako sú Fedora CoreOS, CentOS/Red Hat Atomic Host, je primárna orientácia na zabezpečenie maximálnej bezpečnosti v kontexte posilnenia ochrany systému pred možnými hrozbami, sťažovania prevádzky zraniteľností v komponentoch OS a zvyšovania izolácie kontajnerov. Kontajnery sa vytvárajú pomocou štandardných mechanizmov Linux jadra – cgroups, namespace a seccomp. Pre dodatočnú izoláciu sa v distribúcii používa SELinux v režime 'enforcing'.

Hlavný oddiel je pripojený v režime len na čítanie a oddiel s nastaveniami /etc je pripojený v tmpfs a obnovuje pôvodný stav po reštartovaní. Priame úpravy súborov v adresári /etc, ako napríklad /etc/resolv.conf a /etc/containerd/config.toml, nie sú podporované — na trvalé uchovanie nastavení je potrebné použiť API alebo presunúť funkčnosť do samostatných kontajnerov. Pre kryptografickú verifikáciu integrity hlavného oddielu je použitý modul dm-verity, a v prípade zistenia pokusu o modifikáciu dát na úrovni blokového zariadenia sa systém reštartuje.

Väčšina systémových komponentov je napísaná v jazyku Rust, ktorý poskytuje prostriedky pre bezpečnú prácu s pamäťou, čím sa vyhýba zraniteľnostiam spôsobeným prístupom do oblasti pamäte po jej uvoľnení, dereferencovaním nulových ukazovateľov a prekročením hraníc vášho vyrovnávacieho priestoru. Pri zostavovaní je predvolený režim kompilácie „--enable-default-pie“ a „--enable-default-ssp“ na aktiváciu náhodizácie adresného priestoru vykonávacích súborov (PIE) a ochranu pred pretečením zásobníka prostredníctvom substitúcie kanárikových značiek. Pre balíky napísané v jazyku C/C++ sú navyše pridávané flagy „-Wall“, „-Werror=format-security“, „-Wp,-D_FORTIFY_SOURCE=2“, „-Wp,-D_GLIBCXX_ASSERTIONS“ a „-fstack-clash-protection“.

V novom vydaní:

  • Boli odstránené zraniteľnosti v nástrojoch docker a runtime containerd (CVE-2021-41089, CVE-2021-41091, CVE-2021-41092, CVE-2021-41103), ktoré súviseli s nesprávnym nastavením prístupových práv, čo umožňovalo nepriviligovaným používateľom prekonať základný adresár a spúšťať externé programy.
  • Do kubelet a pluto bola pridaná podpora IPv6.
  • Bola poskytnutá možnosť reštartovať kontajner po zmene jeho nastavení.
  • Do balíka eni-max-pods bola pridaná podpora inštancií Amazon EC2 M6i.
  • Do open-vm-tools bola pridaná podpora filtrovania zariadení, realizovaná na základe nástrojov Cilium.
  • Pre platformu x86_64 bol implementovaný hybridný režim bootovania (s podporou EFI a BIOS).
  • Bol aktualizovaný balík a závislosti pre jazyk Rust.
  • Podpora variantu distribúcie aws-k8s-1.17 založeného na Kubernetes 1.17 bola ukončená. Odporúča sa používať variant aws-k8s-1.21 s podporou Kubernetes 1.21. V variantoch k8s sú použité nastavenia cgroup runtime.slice a system.slice.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster