Izdaja Bottlerocket 1.1, distribucije, ki temelji na izoliranih vsebnikih

Na voljo je izdaja distribucije Linuxa Bottlerocket 1.1.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čih Amazon ECS in AWS EKS Kubernetes ter ustvarjanje gradenj in izdaj po meri, ki omogočajo uporabo različnih orodij za orkestracijo in čas izvajanja 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:

  • Predlagani sta bili dve novi distribucijski možnosti aws-k8s-1.20 in vmware-k8s-1.20 s podporo za Kubernetes 1.20. Te različice, kot tudi posodobljena različica aws-ecs-1, uporabljajo novo izdajo jedra Linuxa 5.10. Način zaklepanja je privzeto nastavljen na »integrity« (zmožnosti, ki omogočajo spreminjanje delujočega jedra iz uporabniškega prostora, so blokirane). Podpora za različico aws-k8s-1.15, ki temelji na Kubernetesu 1.15, je bila ukinjena.
  • Amazon ECS podpira omrežni način awsvpc, ki omogoča dodelitev ločenih omrežnih vmesnikov in notranjih naslovov IP za vsako nalogo.
  • Dodane nastavitve za nadzor različnih parametrov Kubernetes, vključno s QPS, omejitvami bazena in možnostjo povezovanja s ponudniki oblaka, ki niso AWS.
  • Bootstrap vsebnik zagotavlja omejitev dostopa do uporabniških podatkov z uporabo SELinux.
  • Dodan pripomoček resize2fs.

Vir: opennet.ru

Dodaj komentar