Dostupan je Bottlerocket 1.8, distribucija temeljena na izoliranim spremnicima

Objavljeno je izdanje Linux distribucije Bottlerocket 1.8.0, razvijene uz sudjelovanje Amazona za učinkovito i sigurno pokretanje izoliranih spremnika. Distribucijski alati i kontrolne komponente napisani su u Rustu i distribuiraju se pod licencama MIT i Apache 2.0. Podržava pokretanje Bottlerocketa na klasterima Amazon ECS, VMware i AWS EKS Kubernetes, kao i stvaranje prilagođenih verzija i izdanja koja dopuštaju upotrebu raznih alata za orkestraciju i vrijeme izvođenja za spremnike.

Distribucija pruža atomski i automatski ažuriranu nedjeljivu sliku sustava koja uključuje Linux kernel i minimalno okruženje sustava, uključujući samo komponente potrebne za pokretanje spremnika. Okruženje uključuje upravitelja sustava systemd, biblioteku Glibc, alat za izgradnju Buildroot, GRUB boot loader, opaki mrežni konfigurator, runtime spremnika za izolirane spremnike, Kubernetes platformu za orkestraciju spremnika, aws-iam-authenticator i Amazon ECS agent.

Alati za orkestraciju spremnika dolaze u zasebnom spremniku za upravljanje koji je omogućen prema zadanim postavkama i njime se upravlja putem API-ja i AWS SSM agenta. Osnovnoj slici nedostaje naredbena ljuska, SSH poslužitelj i interpretirani jezici (na primjer, nema Python ili Perl) - administrativni alati i alati za otklanjanje pogrešaka smješteni su u zasebni spremnik usluge, koji je prema zadanim postavkama onemogućen.

Ključna razlika u odnosu na slične distribucije kao što su Fedora CoreOS, CentOS/Red Hat Atomic Host je primarni fokus na pružanje maksimalne sigurnosti u kontekstu jačanja zaštite sustava od mogućih prijetnji, što otežava iskorištavanje ranjivosti u komponentama OS-a i povećava izolaciju spremnika . Spremnici se stvaraju korištenjem standardnih mehanizama Linux kernela - cgroups, namespaces i seccomp. Za dodatnu izolaciju, distribucija koristi SELinux u načinu "provođenja".

Korijenska particija je montirana samo za čitanje, a /etc particija postavki je montirana u tmpfs i vraćena u svoje izvorno stanje nakon ponovnog pokretanja. Izravna izmjena datoteka u /etc direktoriju, kao što su /etc/resolv.conf i /etc/containerd/config.toml, nije podržana - da biste trajno spremili postavke, morate koristiti API ili premjestiti funkcionalnost u zasebne spremnike. Modul dm-verity koristi se za kriptografsku provjeru integriteta root particije, a ako se otkrije pokušaj izmjene podataka na razini blok uređaja, sustav se ponovno pokreće.

Većina komponenti sustava napisana je u Rustu, koji pruža značajke za sigurnost memorije kako bi se izbjegle ranjivosti uzrokovane pristupima memoriji nakon oslobađanja, dereferenciranjem nultog pokazivača i prekoračenjem međuspremnika. Prilikom izrade prema zadanim postavkama, načini kompilacije "-enable-default-pie" i "-enable-default-ssp" koriste se za omogućavanje nasumičnog odabira adresnog prostora izvršne datoteke (PIE) i zaštitu od preljeva stogova kroz canary zamjenu. Za pakete napisane u C/C++ dodatno su zastavice “-Wall”, “-Werror=format-security”, “-Wp,-D_FORTIFY_SOURCE=2”, “-Wp,-D_GLIBCXX_ASSERTIONS” i “-fstack-clash” omogućena - zaštita".

U novom izdanju:

  • Ažuriran je sadržaj administrativnih i kontrolnih spremnika.
  • Vrijeme izvođenja za izolirane spremnike ažurirano je na granu spremnika 1.6.x.
  • Osigurava ponovno pokretanje pozadinskih procesa koji koordiniraju rad spremnika nakon promjena u spremištu certifikata.
  • Moguće je postaviti parametre pokretanja kernela kroz odjeljak Boot Configuration.
  • Omogućeno ignoriranje praznih blokova prilikom praćenja integriteta korijenske particije pomoću dm-verityja.
  • Omogućena je mogućnost statičkog vezanja imena računala u /etc/hosts.
  • Omogućena je mogućnost generiranja mrežne konfiguracije pomoću uslužnog programa netdog (dodana je naredba generate-net-config).
  • Predložene su nove mogućnosti distribucije s podrškom za Kubernetes 1.23. Vrijeme pokretanja podova u Kubernetesu smanjeno je onemogućavanjem načina configMapAndSecretChangeDetectionStrategy. Dodane nove postavke za kubelet: provider-id i podPidsLimit.
  • Predložena je nova verzija kompleta za distribuciju "aws-ecs-1-nvidia" za Amazon Elastic Container Service (Amazon ECS), koja se isporučuje s NVIDIA upravljačkim programima.
  • Dodana podrška za Microchip Smart Storage i MegaRAID SAS uređaje za pohranu. Podrška za Ethernet kartice na Broadcom čipovima je proširena.
  • Ažurirane verzije paketa i ovisnosti za jezike Go i Rust, kao i verzije paketa s programima trećih strana. Bottlerocket SDK je ažuriran na verziju 0.26.0.

Izvor: opennet.ru

Dodajte komentar