Dostupan je Bottlerocket 1.8, distribucija zasnovana na izolovanim kontejnerima

Objavljeno je izdanje Linux distribucije Bottlerocket 1.8.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:

  • Sadržaj administrativnih i kontrolnih kontejnera je ažuriran.
  • Vrijeme izvođenja za izolirane spremnike je ažurirano na granu containerd 1.6.x.
  • Osigurava da se pozadinski procesi koji koordiniraju rad kontejnera ponovno pokrenu nakon promjena u spremištu certifikata.
  • Moguće je postaviti parametre pokretanja kernela kroz odjeljak Boot Configuration.
  • Omogućeno ignorisanje praznih blokova prilikom praćenja integriteta root particije pomoću dm-verity.
  • Omogućena je mogućnost statičkog povezivanja imena hostova u /etc/hosts.
  • Omogućena je mogućnost generiranja mrežne konfiguracije pomoću uslužnog programa netdog (dodata je komanda gene-net-config).
  • Predložene su nove opcije distribucije sa podrškom za Kubernetes 1.23. Vrijeme pokretanja podova u Kubernetesu je smanjeno onemogućavanjem configMapAndSecretChangeDetectionStrategy moda. Dodane nove postavke kubeleta: provider-id i podPidsLimit.
  • Predložena je nova verzija distributivnog kompleta "aws-ecs-1-nvidia" za Amazon Elastic Container Service (Amazon ECS), koji se isporučuje sa NVIDIA drajverima.
  • Dodata podrška za Microchip Smart Storage i MegaRAID SAS uređaje za skladištenje. Podrška za Ethernet kartice na Broadcom čipovima je proširena.
  • Ažurirane verzije paketa i zavisnosti za jezike Go i Rust, kao i verzije paketa sa programima trećih strana. Bottlerocket SDK je ažuriran na verziju 0.26.0.

izvor: opennet.ru

Dodajte komentar