Nedavno lansiranje je najavljeno nove verzije Linux distribucije "Flaša 1.7.0", razvijen uz učešće Amazona, za efikasno i sigurno pokretanje izolovanih kontejnera.
Za one koji su novi u Bottlerocketu, trebali biste znati da je ovo distribucija koja pruža automatski atomski ažurnu nedjeljivu sliku sistema koja uključuje Linux kernel i minimalno sistemsko okruženje koje uključuje samo komponente potrebne za pokretanje kontejnera.
O Bottlerocket -u
Okruženje koristi systemd sistem menadžer, Glibc biblioteku, Buildroot alat za pravljenje, GRUB pokretač pokretanja, runtime sandbox kontejnera, platformu za orkestraciju Kubernetes kontejnera, aws-iam autentifikator i Amazon ECS agent.
Alati za orkestraciju kontejnera dolaze u zasebnom kontejneru za upravljanje koji je podrazumevano omogućen i kojim se upravlja preko AWS SSM agenta i API-ja. Osnovnoj slici nedostaju komandna školjka, SSH server i interpretirani jezici (na primjer, Python ili Perl): alati za administraciju i otklanjanje grešaka se premještaju u poseban servisni kontejner, koji je po defaultu onemogućen.
Ključna razlika od sličnih distribucija kao što su Fedora CoreOS, CentOS / Red Hat Atomic Host je glavni fokus na pružanju maksimalne sigurnosti u kontekstu jačanja zaštite sistema od mogućih prijetnji, što komplikuje eksploataciju ranjivosti u komponentama operativnog sistema i povećava izolaciju kontejnera.
Kontejneri se kreiraju upotrebom uobičajenih mehanizama jezgre Linuxa: cgroups, namespaces i seccomp. Za dodatnu izolaciju, distribucija koristi SELinux u načinu "aplikacija".
Korijenska particija se montira samo za čitanje a particija sa /etc konfiguracijom se montira u tmpfs i vraća u prvobitno stanje nakon ponovnog pokretanja. Direktna modifikacija datoteka u direktoriju /etc, kao što su /etc/resolv.conf i /etc/containerd/config.toml, nije podržana; da biste trajno sačuvali konfiguraciju, morate ili koristiti API ili premjestiti funkcionalnost u zasebne spremnike.
Za kriptografsku provjeru integriteta root particije koristi se modul dm-verity, a ako se otkrije pokušaj izmjene podataka na nivou blok uređaja, sistem se ponovo pokreće.
Većina komponenti sistema je napisana na Rustu, koji obezbjeđuje alate sigurne u memoriji za sprječavanje ranjivosti uzrokovanih adresiranjem memorijskog područja nakon što je oslobođeno, dereferenciranjem nultih pokazivača i prekoračenjem bafera.
Prilikom kompajliranja, "–enable-default-pie" i "–enable-default-ssp" načini kompajliranja se koriste prema zadanim postavkama da bi se omogućila randomizacija izvršnog adresnog prostora (PIE) i zaštita od prelivanja steka putem zamjene kanarskih oznaka.
Šta je novo u Bottlerocketu 1.7.0?
U ovoj novoj verziji distribucije koja je predstavljena, jedna od promjena koja se ističe je ta prilikom instaliranja RPM paketa, omogućeno je generiranje liste programa u JSON formatu i montirajte ga u host kontejner kao /var/lib/bottlerocket/inventory/application.json datoteku da dobijete informacije o dostupnim paketima.
Takođe je predstavljen u Bottlerocket 1.7.0 ažuriranje “admin” i “control” kontejnera, kao i verzije paketa i zavisnosti za Go i Rust.
S druge strane, ističe se ažurirane verzije paketa sa programima trećih strana, također su popravljeni problemi s konfiguracijom tmpfilesd-a za kmod-5.10-nvidia i kada se instaliraju tuftool verzije ovisnosti su povezane.
Konačno za one koji jesu Zainteresovan da saznam više o tome u vezi sa ovom distribucijom, treba da znate da su komplet alata i komponente kontrole distribucije napisane u Rustu i da se distribuiraju pod licencama MIT i Apache 2.0.
Flaša podržava pokretanje Amazon ECS, VMware i AWS EKS Kubernetes klastera, kao i kreiranje prilagođenih build-ova i izdanja koja omogućavaju različite orkestracije i alate za vrijeme izvođenja za kontejnere.
Možete provjeriti detalje, Na sledećem linku.