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

Saadaval on Linuxi distributsiooni Bottlerocket 1.2.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, 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:

  • Lisatud konteineri kujutise registri peeglite tugi.
  • Lisatud on võimalus kasutada ise allkirjastatud sertifikaate.
  • Lisatud võimalus hostinime seadistamiseks.
  • Halduskonteineri vaikeversiooni on värskendatud.
  • Kubeleti jaoks on lisatud topologyManagerPolicy ja topologyManagerScope'i sätted.
  • Lisatud zstd-algoritmi abil kerneli tihendamise tugi.
  • Pakutakse võimalust laadida virtuaalmasinaid VMware'i OVA (Open Virtualization Format) vormingus.
  • Jaotusversiooni aws-k8s-1.21 on värskendatud Kubernetes 1.21 toega. aws-k8s-1.16 tugi on lõpetatud.
  • Värskendatud paketi versioonid ja sõltuvused Rust keele jaoks.

Allikas: opennet.ru

Lisa kommentaar