Izdaja Bottlerocket 1.2, distribucije, ki temelji na izoliranih vsebnikih

Na voljo je izdaja distribucije Linuxa Bottlerocket 1.2.0, ki je bila razvita s sodelovanjem Amazona za učinkovit in varen zagon izoliranih vsebnikov. Orodja in nadzorne komponente distribucije so napisane v Rustu in se distribuirajo pod licencama MIT in Apache 2.0. Podpira zagon Bottlerocket v gručeh Amazon ECS, VMware in AWS EKS Kubernetes ter ustvarjanje gradenj in izdaj po meri, ki omogočajo uporabo različnih orodij za orkestracijo in izvajanje za vsebnike.

Distribucija zagotavlja atomsko in samodejno posodobljeno nedeljivo sliko sistema, ki vključuje jedro Linuxa in minimalno sistemsko okolje, vključno s komponentami, potrebnimi za zagon vsebnikov. Okolje vključuje upravitelja sistema systemd, knjižnico Glibc, orodje za gradnjo Buildroot, zagonski nalagalnik GRUB, zloben omrežni konfigurator, izvajalno okolje vsebnika za izolirane vsebnike, platformo za orkestracijo vsebnikov Kubernetes, aws-iam-authenticator in Amazon ECS agent.

Orodja za orkestracijo vsebnika so v ločenem vsebniku za upravljanje, ki je privzeto omogočen in se upravlja prek API-ja in agenta AWS SSM. Osnovni sliki manjka ukazna lupina, strežnik SSH in interpretirani jeziki (na primer brez Pythona ali Perla) - skrbniška orodja in orodja za odpravljanje napak so nameščena v ločenem storitvenem vsebniku, ki je privzeto onemogočen.

Ključna razlika od podobnih distribucij, kot so Fedora CoreOS, CentOS/Red Hat Atomic Host, je primarna osredotočenost na zagotavljanje maksimalne varnosti v kontekstu krepitve zaščite sistema pred možnimi grožnjami, oteževanje izkoriščanja ranljivosti v komponentah OS in povečanje izolacije vsebnika. . Vsebniki so ustvarjeni s standardnimi mehanizmi jedra Linuxa - cgroups, namespaces in seccomp. Za dodatno izolacijo distribucija uporablja SELinux v načinu »uveljavljanje«.

Korenska particija je nameščena samo za branje, particija z nastavitvami /etc pa je nameščena v tmpfs in po vnovičnem zagonu obnovljena v prvotno stanje. Neposredno spreminjanje datotek v imeniku /etc, kot sta /etc/resolv.conf in /etc/containerd/config.toml, ni podprto – če želite trajno shraniti nastavitve, morate uporabiti API ali premakniti funkcionalnost v ločene vsebnike. Modul dm-verity se uporablja za kriptografsko preverjanje celovitosti korenske particije in če je zaznan poskus spreminjanja podatkov na ravni blokovne naprave, se sistem znova zažene.

Večina sistemskih komponent je napisanih v Rustu, ki zagotavlja varne funkcije za pomnilnik, da se izognemo ranljivostim, ki jih povzročajo dostopi do pomnilnika po sprostitvi, dereference ničelnega kazalca in prekoračitve medpomnilnika. Pri privzeti gradnji se načina prevajanja "-enable-default-pie" in "-enable-default-ssp" uporabljata za omogočanje naključne razvrstitve naslovnega prostora izvršljivih datotek (PIE) in zaščito pred prelivi skladov s kanarsko zamenjavo. Za pakete, napisane v C/C++, so zastavice “-Wall”, “-Werror=format-security”, “-Wp,-D_FORTIFY_SOURCE=2”, “-Wp,-D_GLIBCXX_ASSERTIONS” in “-fstack-clash” dodatno omogočeno - zaščita".

V novi izdaji:

  • Dodana podpora za zrcala registra slik vsebnika.
  • Dodana možnost uporabe samopodpisanih potrdil.
  • Dodana možnost za konfiguracijo imena gostitelja.
  • Privzeta različica skrbniškega vsebnika je bila posodobljena.
  • Dodane nastavitve topologyManagerPolicy in topologyManagerScope za kubelet.
  • Dodana podpora za stiskanje jedra z uporabo algoritma zstd.
  • Zagotovljena je možnost nalaganja virtualnih strojev v VMware v formatu OVA (Open Virtualization Format).
  • Različica distribucije aws-k8s-1.21 je bila posodobljena s podporo za Kubernetes 1.21. Podpora za aws-k8s-1.16 je bila ukinjena.
  • Posodobljene različice paketov in odvisnosti za jezik Rust.

Vir: opennet.ru

Dodaj komentar