Bottlerocket 1.1.0 Linux jaotuse vÀljalase on saadaval, mida arendab Amazon efektiivseks ja turvaliseks eraldatud konteinerite kÀitamiseks. Jaotuse tööriistad ja halduskomponendid on kirjutatud Rusti keeles ning jagatakse MIT ja Apache 2.0 litsentside all. Bottlerocketi kÀitamist toetatakse Amazon ECS ja AWS EKS Kubernetes klastrites, samuti on vÔimalik luua erinevaid kogumikke ja redaktsioone, mis vÔimaldavad kasutada erinevaid konteinerite orkestreerimise ja tööaegade tööriistu.
Jaotus pakub atomaarset ja automaatselt uuenevat, ĂŒheosalise sĂŒsteemi pilti, mis sisaldab Linuxi tuuma ja minimaalset sĂŒsteemi keskkonda, millel on ainult vajalikud komponendid konteinerite kĂ€itamiseks. Keskkonnas on kasutusel sĂŒsteemihaldur systemd, Glibc raamatukogu, Buildrooti koostamisriistade komplekt, GRUB kĂ€ivitaja, vĂ”rgukonfiguratsiooni tööriist wicked, konteinerite eraldatamise tööaeg containerd, konteinerite orkestreerimise platvorm Kubernetes, aws-iam-authenticator autentimisriist ja Amazon ECS-agent.
Konteinerite orkestreerimise tööriistad tarnitakse eraldi halduskonteineris, mis lĂŒlitatakse vaikimisi sisse ja mida hallatakse lĂ€bi API ja AWS SSM Agendi. Aluspildis ei ole kĂ€surea tĂ”lgendajat, server SSH ja tĂ”lgendatavad keeled (nt Python vĂ”i Perl) â administraatorite jaoks mĂ”eldud tööriistad ja tĂ”rkeotsinguvahendid on viidud eraldi teeninduskonteinerisse, mis on vaikimisi vĂ€lja lĂŒlitatud.
Peamine erinevus sarnaste jaotuste, nagu Fedora CoreOS, CentOS/Red Hat Atomic Host, vahel on suunatus maksimaalse turvalisuse pakkumisele, et tugevdada sĂŒsteemi kaitset vĂ”imalike ohtude eest, keeruliseks muuta haavatavuste Ă€rakasutamine OS komponentides ja suurendada konteinerite isoleeritust. Kotteeritatakse tavaliste Linuxi tuuma mehhanismide â cgroups, nimetamisruumide ja seccomp abil. TĂ€iendava isoleerimise tagamiseks kasutatakse jaotuses SELinuxi 'enforcing' reĆŸiimis.
KĂ€ivitusosa monteeritakse ainult lugemisreĆŸiimis, samas kui seadistusosa /etc monteeritakse tmpfs ja taastab algse oleku pĂ€rast taaskĂ€ivitamist. Failide otsene muutmine kataloogis /etc, nagu /etc/resolv.conf ja /etc/containerd/config.toml, ei ole toetatud â seadete pĂŒsivaks salvestamiseks tuleks kasutada API-d vĂ”i funktsionaalsust eraldada eraldi konteineritesse. KrĂŒptograafilise tĂ”e kontrollimise jaoks kasutatakse moduli dm-verity, ning kui andmete muutmise katse tuvastatakse blokeerimisseadme tasemel, taaskĂ€ivitub sĂŒsteem.
Enamik sĂŒsteemi komponente on kirjutatud keeles Rust, mis pakub mĂ€luohutusvahendeid, mis aitavad vĂ€ltida haavatavusi, nagu juurdepÀÀs vabastatud mĂ€lu aladele, nullviidete dereferentseerimine ja puhvrivĂ€ljakandeid. VaikesĂ€tetena rakendatakse koostamisel kompilatsioonireĆŸiime "--enable-default-pie" ja "--enable-default-ssp", et lubada teostatavfailide (PIE) aadressirikkalduse randomiseerimist ja kaitset virna ĂŒlevoolu eest lĂ€bi kanarisiltide asendamise. C/C++ keeles kirjutatud paketid saavad lisaks lipud "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" ja "-fstack-clash-protection".
Uues vÀljaandes:
- Pakutud on kaks uut distributsiooniversiooni aws-k8s-1.20 ja vmware-k8s-1.20, mis toetavad Kubernetes 1.20. Nendes versioonides, samuti uuendatud versioonis aws-ecs-1, on kasutusel uus Linuxi tuum 5.10. VaikesĂ€ttena on lockdown reĆŸiim muudetud vÀÀrtuseks "integrity" (suudab piirata kasutaja ruumist tuumale muudatuste tegemise vĂ”imalusi). Toetust variantidele aws-k8s-1.15, mis pĂ”hines Kubernetes 1.15-l, on lĂ”petatud.
- Amazon ECS-ile on rakendatud vĂ”rgureĆŸiimi awsvpc tugi, mis vĂ”imaldab eraldada eraldi vĂ”rguliidesed ja sisemised IP-aadressid iga ĂŒlesande jaoks.
- Lisatud seadistused, et hallata erinevaid Kubernetes'i parameetreid, sealhulgas QPS, piirangud basseinidele ja vĂ”imalus ĂŒhendada pilveteenuse pakkujatega, kes ei ole AWS.
- Bootstrap konteineris on kasutaja andmete juurdepÀÀs piiratud SELinuxi abil.
- Lisatud on utiliit resize2fs.
Allikas: opennet.ru
