U numeru hè statu publicatu LinuxBottlerocket 1.3.0, una distribuzione sviluppata in partenariatu cù Amazon, hè cuncipita per eseguisce container isolati in modu efficiente è sicuru. I cumpunenti di strumenti è di cuntrollu di a distribuzione sò scritti in Rust è licenziati sottu e licenze MIT è Apache 2.0. Bottlerocket funziona nantu à cluster Amazon ECS, VMware è AWS EKS Kubernetes, è supporta ancu compilazioni è edizioni persunalizate chì supportanu l'usu di diversi strumenti di orchestrazione di container è di runtime.
A distribuzione furnisce una maghjina di sistema indivisibile atomicamente è automaticamente aggiornata, cumpresu u kernel. Linux è un ambiente di sistema minimale, cumprendu solu i cumpunenti necessarii per l'esecuzione di i container. Questu ambiente include u gestore di sistema systemd, a biblioteca Glibc, a catena di strumenti di compilazione Buildroot, u bootloader GRUB, u configuratore di rete wicked, u runtime containerd per i container isolati, a piattaforma di orchestrazione di container Kubernetes, l'autenticatore aws-iam-authenticator è l'agente Amazon ECS.
L'arnesi d'urchestrazione di i container sò furniti in un container di gestione separatu, chì hè attivatu per difettu è gestitu via l'API è l'Agente AWS SSM. L'imagine di basa ùn include micca una shell di cumanda. servitore SSH è lingue interpretate (per esempiu, senza Python o Perl) - l'arnesi d'amministrazione è di debugging si trovanu in un container di serviziu separatu, chì hè disattivatu per difettu.
A differenza chjave da distribuzioni simili cum'è Fedora CoreOS hè CentOSRed Hat Atomic Host hè principalmente focalizatu nantu à furnisce a massima sicurezza rinfurzendu a prutezzione di u sistema contr'à e minacce potenziali, cumplicendu u sfruttamentu di e vulnerabilità in i cumpunenti di u sistema operativu è aumentendu l'isolamentu di i container. I container sò creati utilizendu meccanismi di u kernel nativu. Linux — gruppi di c, spazii di nomi è seccomp. Per un isolamentu supplementu, a distribuzione usa SELinux in modu "applicazione".
A partizione di a radica hè muntata solu in lettura, è a partizione di paràmetri /etc hè muntata in tmpfs è restaurata à u so statu originale dopu un riavviu. A mudificazione diretta di i fugliali in u cartulare /etc, cum'è /etc/resolv.conf è /etc/containerd/config.toml, ùn hè micca supportatu - per salvà permanentemente i paràmetri, duvete aduprà l'API o move a funziunalità in cuntenituri separati. U modulu dm-verity hè utilizatu per verificà criptograficamente l'integrità di a partizione radicali, è se un tentativu di mudificà e dati à u livellu di u dispositivu di bloccu hè rilevatu, u sistema reboots.
A maiò parte di i cumpunenti di u sistema sò scritti in Rust, chì furnisce funzioni di salvezza di memoria per evità vulnerabilità causate da accessi di memoria dopu senza, dereferences di puntatore nulla, è overruns di buffer. Quandu si custruisce in modu predeterminatu, i modi di compilazione "-enable-default-pie" è "-enable-default-ssp" sò aduprati per attivà a randomizazione di u spaziu di l'indirizzu di u file eseguibile (PIE) è a prutezzione contra i sbocchi di stack through canary substitution. Per i pacchetti scritti in C/C++, i bandieri "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" è "-fstack-clash" sò in più. attivatu - prutezzione ".
In a nova versione:
- Vulnerabilità risolte in l'arnesi di docker è runtime containerd (CVE-2021-41089, CVE-2021-41091, CVE-2021-41092, CVE-2021-41103) ligati à l'impostazione incorrecta di i diritti d'accessu, chì permettenu à l'utilizatori senza privilegi di andà oltre a basa. annuariu è eseguisce prugrammi esterni.
- Aggiuntu à kubelet è pluto Supportu IPv6.
- Hè pussibule di ripiglià u cuntinuu dopu avè cambiatu i so paràmetri.
- U supportu per l'istanze Amazon EC2 M6i hè statu aghjuntu à u pacchettu eni-max-pods.
- Open-vm-tools hà aghjustatu supportu per i filtri di u dispositivu, basatu annantu à u toolkit Cilium.
- Per a piattaforma x86_64, hè implementatu un modu di boot hibridu (cù supportu per EFI è BIOS).
- Versioni di pacchetti aghjurnati è dipendenze per a lingua Rust.
- U supportu per a variante di distribuzione aws-k8s-1.17 basata in Kubernetes 1.17 hè stata interrotta. Hè cunsigliatu di utilizà a versione aws-k8s-1.21 cù supportu per Kubernetes 1.21. I varianti di k8s utilizanu i paràmetri di cgroup runtime.slice è system.slice.
Source: opennet.ru
