ĂshtĂ« publikuar versioni 1.7.0 i shpĂ«rndarjes Linux Bottlerocket, i zhvilluar me ndihmĂ«n e kompanisĂ« Amazon pĂ«r nisjen efikase dhe tĂ« sigurt tĂ« kontejnerĂ«ve tĂ« izoluar. Veglat dhe komponentĂ«t menaxhues tĂ« shpĂ«rndarjes janĂ« shkruar nĂ« gjuhĂ«n Rust dhe shpĂ«rndahen nĂ«n licencat MIT dhe Apache 2.0. Bottlerocket mbĂ«shtet ekzekutimin nĂ« klasterĂ«t Amazon ECS, VMware dhe AWS EKS Kubernetes, si dhe krijimin e ndĂ«rtimĂ«ve dhe edicioneve tĂ« ndryshshme, qĂ« lejojnĂ« pĂ«rdorimin e mjeteve 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:
- Gjatë instalimit të paketave RPM, gjenerohet një listë programesh në formatin JSON dhe montimi i saj në host-kontejner si skedari /var/lib/bottlerocket/inventory/application.json për të marrë informacion rreth paketave të disponueshme.
- Janë përditësuar kontejnerët 'admin' dhe 'control'.
- Janë përditësuar versionet e paketave dhe varësitë për gjuhët Go dhe Rust.
- Janë përditësuar versionet e paketave të programeve të palëve të treta.
- Janë zgjidhur problemet me konfigurimin e tmpfilesd për kmod-5.10-nvidia.
- Gjatë instalimit të tuftool, është siguruar lidhja e versioneve të varësive.
Burimi: opennet.ru
