Amazon publikon Bottlerocket 1.0.0, një shpërndarje Linux e bazuar në kontejnerë të izoluar

Kompania Amazon prezantuar lëshimi i parë i rëndësishëm i një shpërndarjeje të dedikuar Linux Këllëfi i shisheve 1.0.0, i projektuar për të drejtuar kontejnerët e izoluar në mënyrë efikase dhe të sigurt. Mjetet e shpërndarjes dhe komponentët e kontrollit janë shkruar në Rust and përhapet nën licencat MIT dhe Apache 2.0. Projekti po zhvillohet në GitHub dhe është i disponueshëm për pjesëmarrje nga anëtarët e komunitetit. Imazhi i vendosjes së sistemit është krijuar për arkitekturat x86_64 dhe Aarch64. Sistemi operativ është përshtatur për të ekzekutuar në grupet Amazon ECS dhe AWS EKS Kubernetes. Janë dhënë vegla për krijimin e asambleve dhe botimeve tuaja, të cilat mund të përdorin mjete të tjera orkestrimi, kernel dhe kohëzgjatje për kontejnerët.

Shpërndarja ofron kernel Linux dhe një mjedis minimal të sistemit, duke përfshirë vetëm komponentët e nevojshëm për të drejtuar kontejnerët. Ndër paketat e përfshira në projekt janë sistemi i menaxherit të sistemit, biblioteka Glibc dhe mjetet e montimit
Buildroot, ngarkues GRUB, konfigurues i rrjetit i lig, koha e funksionimit për kontejnerët e izoluar kontejner, platforma e orkestrimit të kontejnerëve Kubernetes, aws-iam-authenticator dhe agjent i Amazon ECS.

Shpërndarja përditësohet në mënyrë atomike dhe shpërndahet në formën e një imazhi të pandashëm të sistemit. Dy ndarje disku janë ndarë për sistemin, njëra prej të cilave përmban sistemin aktiv dhe përditësimi kopjohet në të dytin. Pas vendosjes së përditësimit, ndarja e dytë bëhet aktive dhe në të parën, derisa të arrijë përditësimi tjetër, ruhet versioni i mëparshëm i sistemit, në të cilin mund të riktheheni nëse shfaqen probleme. Përditësimet instalohen automatikisht pa ndërhyrjen e administratorit.

Dallimi kryesor nga shpërndarjet e ngjashme si Fedora CoreOS, CentOS/Red Hat Atomic Host është fokusi kryesor në ofrimin e siguri maksimale në kontekstin e forcimit të mbrojtjes së sistemit nga kërcënimet e mundshme, duke e bërë më të vështirë shfrytëzimin e dobësive në komponentët e OS dhe duke rritur izolimin e kontejnerëve. Kontejnerët krijohen duke përdorur mekanizmat standardë të kernelit Linux - cgroups, hapësirat e emrave dhe seccomp. Për izolim shtesë, shpërndarja përdor SELinux në modalitetin "zbatues" dhe moduli përdoret për verifikimin kriptografik të integritetit të ndarjes rrënjësore. dm-vërtetësi. Nëse zbulohet një përpjekje për të modifikuar të dhënat në nivelin e pajisjes së bllokut, sistemi riniset.

Ndarja rrënjë është montuar vetëm për lexim, dhe ndarja e cilësimeve /etc montohet në tmpfs dhe rikthehet në gjendjen e saj origjinale pas një rinisjeje. Modifikimi i drejtpërdrejtë i skedarëve në drejtorinë /etc, të tilla si /etc/resolv.conf dhe /etc/containerd/config.toml, nuk mbështetet - për të ruajtur përgjithmonë cilësimet, duhet të përdorni API-në ose ta zhvendosni funksionalitetin në kontejnerë të veçantë.

Shumica e komponentëve të sistemit janë shkruar në Rust, i cili ofron veçori të sigurta për memorien për të shmangur dobësitë e shkaktuara nga akseset e memories pa pagesë, mosreferencat e treguesit null dhe tejkalimet e buferit. Kur ndërtohet si parazgjedhje, përdoren mënyrat e kompilimit "--enable-default-pie" dhe "--enable-default-ssp" për të mundësuar randomizimin e hapësirës së adresave të skedarëve të ekzekutueshëm (Byrek) dhe mbrojtje nga tejmbushja e pirgut nëpërmjet zëvendësimit të kanarinës.
Për paketat e shkruara në C/C++, përfshihen flamuj shtesë
"-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" dhe "-fstack-clash-protection".

Mjetet e orkestrimit të kontejnerëve ofrohen veçmas enë kontrolli, i cili aktivizohet si parazgjedhje dhe kontrollohet nëpërmjet API dhe Agjenti AWS SSM. Imazhi bazë nuk ka një guaskë komandimi, server SSH dhe gjuhë të interpretuara (për shembull, pa Python ose Perl) - mjetet administrative dhe mjetet e korrigjimit ndodhen në kontejner të veçantë shërbimi, i cili është i çaktivizuar si parazgjedhje.

Burimi: opennet.ru

Shto një koment