Izdanje Bottlerocket 1.2, distribucije temeljene na izoliranim spremnicima

Dostupno je izdanje distribucije Linuxa Bottlerocket 1.2.0, razvijeno 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:

  • Dodana podrška za zrcala registra slika spremnika.
  • Dodana je mogućnost korištenja samopotpisanih certifikata.
  • Dodana opcija za konfiguriranje naziva hosta.
  • Zadana verzija administrativnog spremnika je ažurirana.
  • Dodane postavke topologyManagerPolicy i topologyManagerScope za kubelet.
  • Dodana podrška za kompresiju kernela pomoću zstd algoritma.
  • Omogućena je mogućnost učitavanja virtualnih strojeva u VMware u OVA (Open Virtualization Format) formatu.
  • Verzija distribucije aws-k8s-1.21 ažurirana je podrškom za Kubernetes 1.21. Podrška za aws-k8s-1.16 je prekinuta.
  • Ažurirane verzije paketa i ovisnosti za Rust jezik.

Izvor: opennet.ru

Dodajte komentar