Saadaval on Bottlerocket 1.8, isoleeritud konteineritel põhinev jaotus

Avaldatud on Linuxi distributsiooni Bottlerocket 1.8.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:

  • Haldus- ja kontrollkonteinerite sisu on uuendatud.
  • Eraldatud konteinerite käitusaeg on värskendatud konteinerite 1.6.x harule.
  • Tagab, et konteinerite tööd koordineerivad taustaprotsessid taaskäivitatakse pärast sertifikaadisalve muutmist.
  • Kerneli alglaadimisparameetreid on võimalik määrata jaotises Boot Configuration.
  • Lubatud tühjade plokkide ignoreerimine juurpartitsiooni terviklikkuse jälgimisel dm-verity abil.
  • On pakutud võimalus hostinimesid staatiliselt siduda failis /etc/hosts.
  • Võimalus luua võrgukonfiguratsioon netdogi utiliidi abil (lisatud on käsk generate-net-config).
  • Välja on pakutud uued levitamisvõimalused Kubernetes 1.23 toega. Kubernetese kaustade käivitusaega on lühendatud, keelates režiimi configMapAndSecretChangeDetectionStrategy. Lisatud uued kubeleti seaded: pakkuja ID ja podPidsLimit.
  • Välja on pakutud Amazon Elastic Container Service'i (Amazon ECS) jaotuskomplekti "aws-ecs-1-nvidia" uus versioon, mis on varustatud NVIDIA draiveritega.
  • Lisatud on Microchip Smart Storage ja MegaRAID SAS salvestusseadmete tugi. Laiendatud on Broadcomi kiipide Etherneti kaartide tugi.
  • Värskendatud paketiversioonid ja sõltuvused Go ja Rust keelte jaoks, samuti kolmanda osapoole programmidega pakettide versioonid. Bottlerocket SDK on värskendatud versioonile 0.26.0.

Allikas: opennet.ru

Lisa kommentaar