Bottlerocket 1.1 väljalase, isoleeritud konteineritel põhinev distributsioon

Saadaval on Linuxi distributsiooni Bottlerocket 1.1.0 väljalase, mis on välja töötatud Amazoni osalusel isoleeritud konteinerite tõhusaks ja turvaliseks käivitamiseks. Distributsiooni tööriistad ja juhtimiskomponendid on kirjutatud Rusti keeles ning neid levitatakse MIT ja Apache 2.0 litsentside all. See toetab Bottlerocketi käitamist Amazon ECS-i ja AWS EKS Kubernetesi klastrites, samuti kohandatud järge ja väljaannete loomist, mis võimaldavad konteinerite jaoks kasutada erinevaid orkestreerimis- ja käitusaegseid tööriistu.

Distributsioon pakub aatomiliselt ja automaatselt värskendatavat jagamatut süsteemipilti, mis sisaldab Linuxi tuuma ja minimaalset süsteemikeskkonda, sealhulgas ainult konteinerite käitamiseks vajalikke komponente. Keskkond sisaldab süsteemihaldurit, Glibc-teeki, Buildrooti ehitustööriista, GRUB-i alglaadurit, õelat võrgukonfiguraatorit, isoleeritud konteinerite konteinerite käitusaega, Kubernetes konteinerite orkestreerimisplatvormi, aws-iam-autentiaatorit ja Amazoni. ECS agent.

Konteinerite orkestreerimistööriistad on eraldi halduskonteineris, mis on vaikimisi lubatud ja mida hallatakse API ja AWS SSM agendi kaudu. Põhipildil puuduvad käsukest, SSH-server ja tõlgendatavad keeled (näiteks Python või Perl) - haldustööriistad ja silumistööriistad on paigutatud eraldi teeninduskonteinerisse, mis on vaikimisi keelatud.

Peamine erinevus sarnastest distributsioonidest, nagu Fedora CoreOS, CentOS/Red Hat Atomic Host, seisneb esmajoones maksimaalse turvalisuse tagamises seoses süsteemi kaitse tugevdamisega võimalike ohtude eest, muutes OS-i komponentide haavatavuste ärakasutamise keerulisemaks ja suurendades konteineri isolatsiooni. . Konteinerite loomisel kasutatakse standardseid Linuxi tuumamehhanisme – cgroups, namespaces ja seccomp. Täiendavaks isoleerimiseks kasutab distributsioon SELinuxi jõustamisrežiimis.

Juursektsioon paigaldatakse kirjutuskaitstud kujul ja /etc sätete partitsioon ühendatakse tmpfs-i ja taastatakse pärast taaskäivitamist algsesse olekusse. Kataloogis /etc olevate failide (nt /etc/resolv.conf ja /etc/containerd/config.toml) otsest muutmist ei toetata – seadete püsivaks salvestamiseks tuleb kasutada API-d või teisaldada funktsionaalsus eraldi konteineritesse. Dm-verity moodulit kasutatakse juurpartitsiooni terviklikkuse krüptograafiliseks kontrollimiseks ja kui tuvastatakse katse muuta andmeid plokkseadme tasemel, siis süsteem taaskäivitub.

Enamik süsteemikomponente on kirjutatud keeles Rust, mis pakub mälule ohutuid funktsioone, et vältida haavatavusi, mis on põhjustatud pärast vaba mälupöördumist, nullkursori viidetest ja puhvri ülekoormustest. Vaikimisi koostamisel kasutatakse kompileerimisrežiime "-enable-default-pie" ja "-enable-default-ssp", et võimaldada käivitatava faili aadressiruumi (PIE) randomiseerimist ja kaitsta virna ülevoolu eest kanaari asendamise kaudu. C/C++ keeles kirjutatud pakettide puhul on lisaks lipud “-Wall”, “-Worror=format-security”, “-Wp,-D_FORTIFY_SOURCE=2”, “-Wp,-D_GLIBCXX_ASSERTIONS” ja “-fstack-clash”. lubatud -kaitse".

Uues väljaandes:

  • Välja on pakutud kaks uut levitamisvalikut aws-k8s-1.20 ja vmware-k8s-1.20 Kubernetes 1.20 toega. Need variandid ja ka värskendatud versioon aws-ecs-1 kasutavad uut Linuxi kerneli versiooni 5.10. Lukustusrežiimiks on vaikimisi seatud "terviklikkus" (funktsioonid, mis võimaldavad kasutajaruumist töötavas kernelis muudatusi teha, on blokeeritud). Kubernetes 8-l põhineva variandi aws-k1.15s-1.15 tugi on lõpetatud.
  • Amazon ECS toetab awsvpc võrgurežiimi, mis võimaldab teil eraldada iga ülesande jaoks eraldi võrguliidesed ja sisemised IP-aadressid.
  • Lisatud seaded erinevate Kubernetese parameetrite juhtimiseks, sealhulgas QPS, basseinipiirangud ja võimalus luua ühendus muude pilveteenuse pakkujatega peale AWS.
  • Alglaadimiskonteiner piirab SELinuxi abil juurdepääsu kasutajaandmetele.
  • Lisatud utiliit resize2fs.

Allikas: opennet.ru

Lisa kommentaar