ĂshtĂ« publikuar versioni i distribucionit Linux Bottlerocket 1.8.0, i zhvilluar nĂ« bashkĂ«punim me kompaninĂ« Amazon pĂ«r drejtime tĂ« eficientĂ« dhe tĂ« sigurta tĂ« konteinerĂ«ve tĂ« izoluar. Instrumentet dhe komponentĂ«t menaxhues tĂ« distribucionit janĂ« shkruar nĂ« gjuhĂ«n Rust dhe shpĂ«rndahen nĂ«n licencat MIT dhe Apache 2.0. Bottlerocket mbĂ«shtet funksionimin nĂ« klasterĂ«t Amazon ECS, VMware dhe AWS EKS Kubernetes, si dhe krijimin e ndĂ«rtimeve dhe edicionesh tĂ« rastĂ«sishme, duke lejuar pĂ«rdorimin e instrumenteve tĂ« ndryshme tĂ« orkestrimit dhe runtime pĂ«r kontejnerĂ«t.
Ky distribucion ofron një imazh sistemik të pandarë dhe automatikisht të përditësuar, që përfshin bërthamën Linux dhe një mjedis minimal sistemi, duke përfshirë vetëm komponentët e nevojshëm për funksionimin e kontejnerëve. Në mjedis përdoren menaxheri i sistemit systemd, biblioteka Glibc, instrumenti i ndërtimit Buildroot, ngarkuesi GRUB, konfiguruesi i rrjetit wicked, runtime për kontejnerët e izoluar containerd, platforma e orkestrimit të kontejnerëve Kubernetes, autentifikuesi aws-iam-authenticator dhe agjenti Amazon ECS.
Instrumentet për orkestrimin e kontejnerëve ofrohen në një kontejner menaxhues të veçantë, i cili aktivizohet automatikisht dhe menaxhohet përmes API dhe AWS SSM Agent. Në imazhin bazë mungon shell-i komandues, server SSH dhe gjuhët e interpretuara (p.sh., nuk ka Python ose Perl) - mjetet për administratorin dhe mjetet e diagnostikimit janë transferuar në një kontejner shërbimi të veçantë, i cili është automatikisht i çaktivizuar.
Dallimi kryesor nga distribucionet e ngjashme, si Fedora CoreOS, CentOS/Red Hat Atomic Host është orientimi inicial për të ofruar siguri maksimale në kontekstin e forcuar të mbrojtjes së sistemit nga kërcënimet e mundshme, komplikuar shpëtimin e dobësive në komponentët e OS dhe rritur izolimin e kontejnerëve. Kontejnerët krijohen duke përdorur mekanizmat standard të bërthamës Linux - cgroups, hapsira emrash dhe seccomp. Për izolim shtesë, në distribucion aplikohet SELinux në modalitetin 'enforcing'.
Particioni kryesor montablet nĂ« mĂ«nyrĂ« vetĂ«m pĂ«r lexim dhe pjesa me konfigurimet /etc montablet nĂ« tmpfs dhe rikthen gjendjen e saj origjinale pas rinisjes. Ndryshimi direkt i skedarĂ«ve nĂ« katalogun /etc, siç janĂ« /etc/resolv.conf dhe /etc/containerd/config.toml, nuk mbĂ«shtetet â pĂ«r ruajtjen e pĂ«rhershme tĂ« konfigurimeve, duhet tĂ« pĂ«rdoret API ose tĂ« nxirret funksionaliteti nĂ« kontenierĂ« tĂ« veçantĂ«. PĂ«r verifikimin kriptografik tĂ« integritetit tĂ« ndarjes kryesore, Ă«shtĂ« angazhuar moduli dm-verity, dhe nĂ« rast se identifikohen pĂ«rpjekje pĂ«r tĂ« modifikuar tĂ« dhĂ«nat nĂ« nivelin e pajisjes bllokuese, sistemi ri-nishet.
Shumica e komponentëve sistemikë janë shkruar në gjuhën Rust, e cila ofron mjete për menaxhimin e sigurt të memories, duke evituar dobësi që shkaktohen nga referencat në hapësirën e memories pas lirimit të saj, dereferenca e treguesve null dhe dalja jashtë kufijve të buferave. Gjatë ndërtimit, në mënyrë default aplikohen mënyrat e kompilimit "--enable-default-pie" dhe "--enable-default-ssp" për të përfshirë randomizimin e hapësirës adresore të skedarëve ekzekutivë (PIE) dhe mbrojtjen nga mbushja e stack-ut përmes zëvendësimit të shenjave të kanarëve. Për paketat e shkruara në gjuhët C/C++, shtohen gjithashtu flamujt "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" dhe "-fstack-clash-protection".
NĂ« versionin e ri:
- Përmbajtja e konteinerëve administrativë dhe menaxhues është përditësuar.
- Runtime për konteinerët e izoluar është përditësuar në degën containerd 1.6.x.
- Rinisin proceset në sfond që koordinojnë punën e konteinerëve pas ndryshimeve në magazinën e certifikatave.
- Ofruan mundësinë e vendosjes së parametrave të ngarkesës së bllokut përmes seksionit të Konfigurimit të Boot.
- Aktivizimi i injorimit të bllokave të zbrazëta gjatë kontrollit të integritetit të ndarjes kryesore duke përdorur dm-verity.
- Ofruan mundësinë e lidhjes statike të emrave të hosteve në /etc/hosts.
- Ofruan mundësinë e gjenerimit të konfigurimeve të rrjetit përmes utilitarit netdog (shtuar komanda generate-net-config).
- Propozuar variante të reja të shpërndarjes me mbështetje për Kubernetes 1.23. Kohëzgjatja e ngarkesës së pod-ëve në Kubernetes është reduktuar duke çaktivizuar modin configMapAndSecretChangeDetectionStrategy. Shtuar parametrat e rinj kubelet: provider-id dhe podPidsLimit.
- Propozuar një variant të ri të shpërndarjes "aws-ecs-1-nvidia" për Amazon Elastic Container Service (Amazon ECS), i pajisur me drayverat NVIDIA.
- Shtimi i mbështetjes për pajisjet ruajtëse Microchip Smart Storage dhe MegaRAID SAS. Zgjerimi i mbështetjes për kartat Ethernet me çipa nga Broadcom.
- Përditësimi i versioneve të pakove dhe varësive për gjuhët Go dhe Rust, si dhe versionet e pakove nga programet e palëve të treta. Bottlerocket SDK është përditësuar në versionin 0.26.0.
Burimi: opennet.ru
