Bottlerocket 1.8 është në dispozicion, një distribucion i bazuar në kontejnerë të izoluar

Ë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

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster