Välja tuli Linux-i jaotuse Bottlerocket 1.1.0. See on välja töötatud Amazoni kaasabil tõhusate ja turvaliste isoleeritud konteinerite käivitamiseks. Jaotuse tööriistakomplekt ja halduskomponendid on kirjutatud keeles Rust ning levitatakse MIT ja Apache 2.0 litsentside alusel. Bottlerocketi käivitamine on toetatud Amazon ECS klastrites ja AWS EKS Kuberneteses, samuti võimaldab see kohandatud versioonide ja redaktsioonide loomist, mis lubavad erinevate orkestreerimise tööriistade ja konteinerite runtime'ide kasutamist.
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:
- Kaks uut varianti jaotusest aws-k8s-1.20 ja vmware-k8s-1.20, mis toetavad Kubernetes 1.20, on pakkumisel. Nendes variantides, samuti uuendatud versioonis aws-ecs-1, on kasutusele võetud uus Linuxi tuuma väljaanne 5.10. Vaikimisi on lockdown-režiim seatud väärtusele "integrity" (blokeerib kasutajaruumi võimalused, mis võimaldavad muuta töötavat tuuma). Toetuse lõpetamine variandi aws-k8s-1.15 kohta, mis põhineb Kubernetes 1.15-l.
- Amazon ECS-ile on rakendatud võrgurežiimi awsvpc tugi, mis võimaldab eraldada eraldi võrguliideseid ja sisemisi IP-aadressid iga ülesande jaoks.
- Lisatud on sätted Kubernetes'i erinevate parameetrite haldamiseks, sealhulgas QPS, ujukite piirangud ja võimalus ühendada pilveteenuse pakkujatega, kes ei ole AWS.
- Bootstrap konteineris on tagatud juurdepääsukaitse kasutajaandmetele läbi SELinuxi.
- Lisatud on utiliit resize2fs.
Allikas: opennet.ru
