Izdanje Bottlerocketa 1.2, distribucije zasnovane na izolovanim kontejnerima

Dostupno je izdanje Linux distribucije Bottlerocket 1.2.0, razvijene uz učešće Amazona za efikasno i sigurno pokretanje izolovanih kontejnera. Alati i kontrolne komponente distribucije su napisane na Rustu i distribuiraju se pod licencama MIT i Apache 2.0. Podržava pokretanje Bottlerocket-a na Amazon ECS, VMware i AWS EKS Kubernetes klasterima, kao i kreiranje prilagođenih build-ova i izdanja koja omogućavaju korištenje različitih alata za orkestraciju i vrijeme izvođenja za kontejnere.

Distribucija pruža atomski i automatski ažuriranu nedjeljivu sliku sistema koja uključuje Linux kernel i minimalno sistemsko okruženje, uključujući samo komponente potrebne za pokretanje kontejnera. Okruženje uključuje systemd upravitelja sistema, Glibc biblioteku, alat za pravljenje Buildroot, GRUB pokretač, konfigurator opake mreže, vrijeme izvođenja kontejnera za izolovane kontejnere, platformu za orkestraciju Kubernetes kontejnera, aws-iam-authenticator i Amazon ECS agent.

Alati za orkestraciju kontejnera dolaze u zasebnom kontejneru za upravljanje koji je podrazumevano omogućen i kojim se upravlja preko API-ja i AWS SSM agenta. Osnovnoj slici nedostaju komandna školjka, SSH server i interpretirani jezici (na primjer, bez Python-a ili Perl-a) - administrativni alati i alati za otklanjanje grešaka smješteni su u poseban servisni kontejner, koji je po defaultu 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žanju maksimalne sigurnosti u kontekstu jačanja zaštite sistema od mogućih prijetnji, što otežava iskorištavanje ranjivosti u komponentama OS-a i povećava izolaciju kontejnera. . Kontejneri se kreiraju korištenjem standardnih mehanizama jezgre Linuxa - cgroups, namespaces i seccomp. Za dodatnu izolaciju, distribucija koristi SELinux u "prisilnom" načinu.

Korijenska particija se montira samo za čitanje, a /etc settings particija se montira u tmpfs i vraća u prvobitno stanje nakon ponovnog pokretanja. Direktna modifikacija datoteka u /etc direktoriju, kao što su /etc/resolv.conf i /etc/containerd/config.toml, nije podržana - da biste trajno sačuvali postavke, morate koristiti API ili premjestiti funkcionalnost u zasebne spremnike. Modul dm-verity se koristi za kriptografsku provjeru integriteta root particije, a ako se otkrije pokušaj izmjene podataka na razini blok uređaja, sistem se ponovo pokreće.

Većina sistemskih komponenti je napisana u Rustu, koji pruža funkcije sigurne za memoriju kako bi se izbjegle ranjivosti uzrokovane naknadnim pristupima memoriji, nultim dereferencijama pokazivača i prekoračenjem bafera. Kada se gradi po defaultu, koriste se načini kompilacije "-enable-default-pie" i "-enable-default-ssp" kako bi se omogućila randomizacija adresnog prostora izvršne datoteke (PIE) i zaštita od prekoračenja steka kroz kanarsku supstituciju. Za pakete napisane na C/C++, zastavice “-Wall”, “-Werror=format-security”, “-Wp,-D_FORTIFY_SOURCE=2”, “-Wp,-D_GLIBCXX_ASSERTIONS” i “-fstack-clash” su dodatno omogućena -zaštita".

U novom izdanju:

  • Dodata podrška za ogledala registra slika kontejnera.
  • Dodata mogućnost korištenja samopotpisanih certifikata.
  • Dodata opcija za konfigurisanje imena hosta.
  • Zadana verzija administrativnog kontejnera je ažurirana.
  • Dodate postavke topologyManagerPolicy i topologyManagerScope za kubelet.
  • Dodata podrška za kompresiju kernela pomoću zstd algoritma.
  • Omogućena je mogućnost učitavanja virtuelnih mašina u VMware u formatu OVA (Open Virtualization Format).
  • Verzija distribucije aws-k8s-1.21 je ažurirana sa podrškom za Kubernetes 1.21. Podrška za aws-k8s-1.16 je ukinuta.
  • Ažurirane verzije paketa i zavisnosti za Rust jezik.

izvor: opennet.ru

Dodajte komentar