Na voljo je Bottlerocket 1.8, distribucija, ki temelji na izoliranih vsebnikih

Objavljena je bila izdaja distribucije Linuxa Bottlerocket 1.8.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či 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:

  • Vsebina administrativnih in kontrolnih vsebnikov je posodobljena.
  • Izvajalni čas za izolirane vsebnike je bil posodobljen na vejo vsebnika 1.6.x.
  • Zagotavlja, da se procesi v ozadju, ki usklajujejo delovanje vsebnikov, po spremembah v prostoru za potrdila znova zaženejo.
  • Parametre zagona jedra lahko nastavite prek razdelka Konfiguracija zagona.
  • Omogočeno ignoriranje praznih blokov pri spremljanju celovitosti korenske particije z dm-verity.
  • Zagotovljena je možnost statičnega povezovanja imen gostiteljev v /etc/hosts.
  • Zagotovljena je možnost generiranja omrežne konfiguracije s pomočjo pripomočka netdog (dodan je bil ukaz generate-net-config).
  • Predlagane so bile nove možnosti distribucije s podporo za Kubernetes 1.23. Zagonski čas podov v Kubernetesu je bil skrajšan z onemogočanjem načina configMapAndSecretChangeDetectionStrategy. Dodane nove nastavitve za kubelet: ID ponudnika in podPidsLimit.
  • Predlagana je bila nova različica distribucijskega kompleta "aws-ecs-1-nvidia" za storitev Amazon Elastic Container Service (Amazon ECS), ki je opremljena z gonilniki NVIDIA.
  • Dodana podpora za naprave za shranjevanje Microchip Smart Storage in MegaRAID SAS. Podpora za kartice Ethernet na čipih Broadcom je bila razširjena.
  • Posodobljene različice paketov in odvisnosti za jezika Go in Rust ter različice paketov s programi tretjih oseb. Bottlerocket SDK je posodobljen na različico 0.26.0.

Vir: opennet.ru

Dodaj komentar