KÀskluse Linux-distro Bottlerocket 1.3.0 vÀljaanne, mille arendamist toetab ettevÔte Amazon, et tÔhusalt ja turvaliselt kÀivitada isoleeritud konteinerid. Distro tööriistakomplekt ja halduskomponendid on kirjutatud Rusti keeles ning neid levitatakse MIT ja Apache 2.0 litsentside alusel. Bottlerocketi kÀitamine on toetatud Amazon ECS, VMware ja AWS EKS Kubernetes klastrites, samuti saate luua kohandatud kogumikke ja redaktsioone, mis vÔimaldavad kasutada erinevaid orkestreerimise ja konteinerite eluiga tööriistu.
Distributsioon pakub atomaarset ja automaatselt uuendatavat osalist sĂŒsteemipilti, mis sisaldab Linuxi tuuma ja minimaalset sĂŒsteemikeskkonda, sealhulgas ainult konteinerite kĂ€itamiseks vajalikke komponente. Keskkonnas on kaasatud sĂŒsteemi halduri systemd, Glibc teek, Buildrooti ehitustööriist, GRUB kĂ€ivitaja, vĂ”rgu konfigureerija wicked, isoleeritud konteinerite runtime containerd, konteinerite orkestreerimise platvorm Kubernetes, autentija aws-iam-authenticator ja Amazon ECS agent.
Konteinerite orkestreerimise tööriistad pakutakse eraldi halduskonteineris, mis on vaikimisi sisse lĂŒlitatud ja mida juhitakse API ja AWS SSM Agendi kaudu. Baaspildis puudub kĂ€surea liides. server SSH ja tĂ”lgendatavad keelid (nt Python vĂ”i Perl ei ole saadaval) â administraatori ja silumisvahendid on viidud eraldi teeninduskonteinerisse, mis on vaikimisi vĂ€lja lĂŒlitatud.
Peamine erinevus sarnaste distributsioonide, nagu Fedora CoreOS, CentOS/Red Hat Atomic Host, ees on maksimaalse turvalisuse tagamine, et tugevdada sĂŒsteemi kaitset vĂ”imalike ohtude eest, raskendada haavatavuste Ă€rakasutamist OPS komponentides ja suurendada konteinerite isolatsiooni. Konteinerid luuakse Linuxi pĂ”himoodulite kaudu â cgroups, nimespacious ja seccomp. TĂ€iendava isolatsiooni saavutamiseks rakendatakse distributsioonis SELinuxi âenforcingâ reĆŸiimis.
Juurt jagu liidetakse ainult lugemisreĆŸiimis ning seadete jagu /etc liidetakse tmpfs, taastades algse oleku pĂ€rast taaskĂ€ivitamist. Failide otsene muutmine kataloogis /etc, nagu nĂ€iteks /etc/resolv.conf ja /etc/containerd/config.toml, ei ole toetatud â parimate seadete sĂ€ilitamiseks tuleks kasutada API-d vĂ”i viia funktsioon eraldi konteineritesse. Juurepartitsiooni terviklikkuse krĂŒptograafiliseks kontrollimiseks kasutatakse moodulit dm-verity, ning andmete muutmise katse korral blokeerib sĂŒsteem taaskĂ€ivitamise.
Enamik sĂŒsteemikomponente on kirjutatud Rusti keeles, mis pakub mĂ€luga ohutut töötlemist, vĂ€ltides haavatavusi, mis tulenevad mĂ€lu vabastamise jĂ€rgsest juurdepÀÀsust, nullnĂ€idikute de-referentseerimisest ja puhverpiirist vĂ€ljumisest. Vaikimisi kompileerimise reĆŸiimid "--enable-default-pie" ja "--enable-default-ssp" vĂ”imaldavad tĂ€idesaatvate failide (PIE) aadressiruumi randomiseerimist ja steki ĂŒlevoolu kaitset kanaribalipide asendamise kaudu. C/C++ keeles kirjutatud pakettide puhul aktiveeritakse tĂ€iendavalt lipud "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" ja "-fstack-clash-protection".
Uues vÀljaandes:
- Aadressitud on haavatavustega, mis esinesid docker'i tööriistakomplektis ja runtime containerd's (CVE-2021-41089, CVE-2021-41091, CVE-2021-41092, CVE-2021-41103), mis olid seotud vale juurdepÀÀsuloogikaga, mis vÔimaldas mitteprivileegitud kasutajatel pÀÀseda vÀlja pÔhikaustast ja kÀivitada vÀliseid programme.
- Kubelet'i ja pluto toodi sisse IPv6 tugi.
- Konteinerite uuesti kÀivitamise vÔimalus pÀrast nende seadetega seotud muudatusi.
- Paketti eni-max-pods on lisatud Amazon EC2 M6i instantside tugi.
- Open-vm-tools'i on lisatud seadme filtrite tugi, mis on rakendatud Cilium'i tööriistakomplekti kaudu.
- Platvormile x86_64 on rakendatud hĂŒbriidne laadimisreĆŸiim (toetades EFI ja BIOS).
- Uuendatud pakettide ja sÔltuvuste versioonid keelele Rust.
- Distro variante aws-k8s-1.17, mis pÔhineb Kubernetes 1.17, on toe lÔpetanud. Soovitame kasutada aws-k8s-1.21 varianti, mis toetab Kubernetes 1.21. k8s variantides on kasutusel seadistused cgroup runtime.slice ja system.slice.
Allikas: opennet.ru
