Izdanje Bottlerocket 1.7, distribucije kojoj su osnova izolirani kontejneri

Objavljen je izlaz Linux distribucije Bottlerocket 1.7.0, koju razvija kompanija Amazon za efikasno i sigurno pokretanje izolovanih kontejnera. Alati i upravljačke komponente distribucije napisani su na jeziku Rust i distribuiraju se pod MIT i Apache 2.0 licencama. Podržano je pokretanje Bottlerocket-a u Amazon ECS, VMware i AWS EKS Kubernetes klasterima, kao i kreiranje proizvoljnih buildova i izdanja koja omogućavaju korišćenje različitih alata za orkestraciju i runtime za kontejnere.

Distribucija pruža atomsku i automatski ažuriranu nedjeljivu sistemsku sliku, koja uključuje Linux kernel i minimalno sistemsko okruženje, uključujući samo komponente potrebne za pokretanje kontejnera. U okruženju se koriste sistemski upravljač systemd, biblioteka Glibc, alat za izgradnju Buildroot, bootloader GRUB, konfigurator mreže wicked, runtime za izolirane kontejnere containerd, platforma za orkestraciju kontejnera Kubernetes, autentifikator aws-iam-authenticator i agent Amazon ECS.

Alati za orkestraciju kontejnera isporučuju se u zasebnom upravljačkom kontejneru, koji je uključen prema zadanim postavkama i upravlja se putem API-a i AWS SSM Agent-a. U osnovnoj slici nedostaje komandna ljuska, server SSH i interpretirani jezici (primjerice, nedostaju Python ili Perl) — alati za administratora i alati za debagiranje premješteni su u zaseban servisni kontejner, koji je prema zadanim postavkama isključen.

Ključna razlika u odnosu na slične distribucije, poput Fedora CoreOS, CentOS/Red Hat Atomic Host, jest primarna orijentacija na pružanje maksimalne sigurnosti u kontekstu jačanja zaštite sustava od mogućih prijetnji, otežavanja iskorištavanja ranjivosti u komponentama OS-a i povećanja izolacije kontejnera. Kontejneri se kreiraju pomoću ugrađenih mehanizama Linux kernela — cgroups, prostora imena i seccomp. Za dodatnu izolaciju u distribuciji se koristi SELinux u načinu rada 'enforcing'.

Korijenski odjeljak montira se u režimu samo za čitanje, a odjeljak s postavkama /etc montira se u tmpfs i obnavlja izvorno stanje nakon ponovnog pokretanja. Izravna izmjena datoteka u direktoriju /etc, poput /etc/resolv.conf i /etc/containerd/config.toml, nije podržana — za trajno spremanje postavki treba koristiti API ili iznijeti funkcionalnost u odvojene kontejnere. Za kriptografsku verifikaciju cjelovitosti korijenskog odjeljka uključen je modul dm-verity, a u slučaju otkrivanja pokušaja modifikacije podataka na razini blok uređaja sustav se ponovo pokreće.

Većina sustavnih komponenti napisana je na jeziku Rust, koji pruža sredstva za sigurni rad s memorijom, čime se izbjegavaju ranjivosti uzrokovane pristupom području memorije nakon njegovog oslobađanja, dereferenciranjem nultih pokazivača i izlaskom iz granica bafera. Tijekom izrade prema zadanim postavkama primjenjuju se opcije kompilacije "--enable-default-pie" i "--enable-default-ssp" za uključivanje randomizacije adresnog prostora izvršnih datoteka (PIE) i zaštite od preljeva stoga putem zamjene kanarinskih oznaka. Za pakete napisane na jeziku C/C++, dodatno se uključuju oznake "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" i "-fstack-clash-protection".

U novom izdanju:

  • Prilikom instalacije RPM paketa obezbeđena je generacija spiska programa u JSON formatu i montiranje istog u host-kontejner kao fajl \/var\/lib\/bottlerocket\/inventory\/application.json za dobijanje informacija o dostupnim paketima.
  • Ažurirani su kontejneri „admin“ i „control“.
  • Ažurirane su verzije paketa i zavisnosti za jezike Go i Rust.
  • Ažurirane su verzije paketa sa sporednim aplikacijama.
  • Rešeni su problemi sa konfiguracijom tmpfilesd za kmod-5.10-nvidia.
  • Prilikom instalacije tuftool obezbeđena je vezanost verzija zavisnosti.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster