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

Avaldatud on Linuxi distributsiooni Bottlerocket 1.7.0 väljalase, mis töötati välja 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, VMware'i ja AWS EKS Kubernetes'i klastrites, samuti kohandatud järge ja väljaannete loomist, mis võimaldavad konteinerite jaoks kasutada erinevaid orkestreerimis- ja käitustöö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:

  • RPM-pakettide installimisel on võimalik saadaolevate pakettide kohta teabe hankimiseks luua JSON-vormingus programmide loend ja ühendada see hosti konteinerisse failina /var/lib/bottlerocket/inventory/application.json.
  • Konteinereid "administraator" ja "juhtimine" on värskendatud.
  • Uuendatud paketiversioonid ja sõltuvused Go ja Rust keelte jaoks.
  • Kolmanda osapoole programmidega pakettide värskendatud versioonid.
  • Lahendatud on kmod-5.10-nvidia tmpfilesd konfiguratsiooniprobleemid.
  • Tuftool'i installimisel lingitakse sõltuvusversioonid.

Allikas: opennet.ru

Lisa kommentaar