Bottlerocket 1.2 izlaišana, izplatīšana, kuras pamatā ir izolēti konteineri

Ir pieejams Linux izplatīšanas Bottlerocket 1.2.0 izlaidums, kas izstrādāts ar Amazon līdzdalību efektīvai un drošai izolētu konteineru palaišanai. Izplatīšanas rīki un vadības komponenti ir rakstīti Rust un tiek izplatīti saskaņā ar MIT un Apache 2.0 licencēm. Tas atbalsta Bottlerocket palaišanu Amazon ECS, VMware un AWS EKS Kubernetes klasteros, kā arī pielāgotu būvējumu un izdevumu izveidi, kas ļauj konteineriem izmantot dažādus orķestrēšanas un izpildlaika rīkus.

Izplatījums nodrošina atomiski un automātiski atjauninātu nedalāmu sistēmas attēlu, kas ietver Linux kodolu un minimālu sistēmas vidi, ieskaitot tikai konteineru palaišanai nepieciešamos komponentus. Vidē ietilpst sistēmas sistēmas pārvaldnieks, Glibc bibliotēka, Buildroot veidošanas rīks, GRUB sāknēšanas ielādētājs, ļaunā tīkla konfigurators, konteineru izpildlaiks izolētiem konteineriem, Kubernetes konteineru orķestrēšanas platforma, aws-iam-autentifikators un Amazon. ECS aģents.

Konteinera orķestrēšanas rīki ir iekļauti atsevišķā pārvaldības konteinerā, kas ir iespējots pēc noklusējuma un tiek pārvaldīts, izmantojot API un AWS SSM aģentu. Bāzes attēlam trūkst komandu apvalka, SSH servera un tulkotās valodas (piemēram, nav Python vai Perl) - administratīvie rīki un atkļūdošanas rīki tiek ievietoti atsevišķā pakalpojuma konteinerā, kas pēc noklusējuma ir atspējots.

Galvenā atšķirība no līdzīgiem izplatījumiem, piemēram, Fedora CoreOS, CentOS/Red Hat Atomic Host, galvenā uzmanība tiek pievērsta maksimālas drošības nodrošināšanai saistībā ar sistēmas aizsardzības stiprināšanu pret iespējamiem draudiem, apgrūtinot OS komponentu ievainojamību izmantošanu un palielinot konteineru izolāciju. . Konteineri tiek veidoti, izmantojot standarta Linux kodola mehānismus – cgroups, namespaces un seccomp. Papildu izolācijai izplatīšana izmanto SELinux “piespiedu” režīmā.

Saknes nodalījums ir uzstādīts tikai lasāms, un /etc iestatījumu nodalījums tiek montēts tmpfs un pēc restartēšanas tiek atjaunots tā sākotnējā stāvoklī. Tieša failu pārveidošana direktorijā /etc, piemēram, /etc/resolv.conf un /etc/containerd/config.toml, netiek atbalstīta - lai pastāvīgi saglabātu iestatījumus, ir jāizmanto API vai jāpārvieto funkcionalitāte atsevišķos konteineros. Dm-verity modulis tiek izmantots, lai kriptogrāfiski pārbaudītu saknes nodalījuma integritāti, un, ja tiek atklāts mēģinājums modificēt datus blokierīces līmenī, sistēma tiek restartēta.

Lielākā daļa sistēmas komponentu ir rakstīti valodā Rust, kas nodrošina atmiņai drošus līdzekļus, lai izvairītos no ievainojamībām, ko izraisa pēcbrīva piekļuve atmiņai, nulles rādītāja novirzīšana un bufera pārtēriņš. Veidojot pēc noklusējuma, tiek izmantoti kompilācijas režīmi "-enable-default-pie" un "-enable-default-ssp", lai iespējotu izpildāmā faila adrešu telpas (PIE) randomizāciju un aizsardzību pret steku pārpildīšanu, izmantojot kanāriju aizstāšanu. Pakotnēm, kas rakstītas C/C++ valodā, papildus tiek izmantoti karodziņi “-Wall”, “-Werror=format-security”, “-Wp,-D_FORTIFY_SOURCE=2”, “-Wp,-D_GLIBCXX_ASSERTIONS” un “-fstack-clash”. iespējota -aizsardzība".

Jaunajā laidienā:

  • Pievienots konteinera attēlu reģistra spoguļu atbalsts.
  • Pievienota iespēja izmantot pašparakstītus sertifikātus.
  • Pievienota iespēja konfigurēt resursdatora nosaukumu.
  • Administratīvā konteinera noklusējuma versija ir atjaunināta.
  • Pievienoti topologyManagerPolicy un topologyManagerScope iestatījumi kubelet.
  • Pievienots kodola saspiešanas atbalsts, izmantojot zstd algoritmu.
  • Tiek nodrošināta iespēja ielādēt virtuālās mašīnas VMware OVA (Open Virtualization Format) formātā.
  • Izplatīšanas versija aws-k8s-1.21 ir atjaunināta ar atbalstu Kubernetes 1.21. Atbalsts aws-k8s-1.16 ir pārtraukts.
  • Atjauninātas pakotnes versijas un atkarības Rust valodai.

Avots: opennet.ru

Pievieno komentāru