Lansarea Bottlerocket 1.2, o distribuție bazată pe containere izolate

Este disponibilă lansarea distribuției Linux Bottlerocket 1.2.0, dezvoltată cu participarea companiei Amazon pentru rularea eficientă și sigură a containerelor izolate. Instrumentele și componentele de gestionare ale distribuției sunt scrise în limbajul Rust și sunt distribuite sub licențele MIT și Apache 2.0. Este susținută rularea Bottlerocket în clustere Amazon ECS, VMware și AWS EKS Kubernetes, precum și crearea de build-uri și ediții personalizate care permit utilizarea diferitelor instrumente de orchestrare și runtime pentru containere.

Distribuția oferă o imagine de sistem atomică și actualizabilă automat, indisolubilă, care include kernelul Linux și un mediu de sistem minim, incluzând doar componentele necesare pentru rularea containerelor. În mediu sunt implicate managerul de sistem systemd, biblioteca Glibc, instrumentele de construcție Buildroot, bootloader-ul GRUB, configuratorul de rețea wicked, runtime-ul pentru containere izolate containerd, platforma de orchestrare a containerelor Kubernetes, autentificatorul aws-iam-authenticator și agentul Amazon ECS.

Instrumentele pentru orchestrarea containerelor sunt furnizate într-un container de gestionare separat, care este activat în mod implicit și gestionat prin API și AWS SSM Agent. Imaginea de bază nu conține un shell de comandă, serverul SSH și limbajele interpretate (de exemplu, nu există Python sau Perl) — instrumentele pentru administratori și uneltele de depanare sunt plasate într-un container de serviciu separat, care este dezactivat în mod implicit.

Principala diferență față de distribuțiile similare, cum ar fi Fedora CoreOS, CentOS/Red Hat Atomic Host, este orientarea primară spre asigurarea unei securități maxime în contextul întăririi protecției sistemului împotriva amenințărilor potențiale, dificultății exploatării vulnerabilităților în componentele OS și creșterii izolării containerelor. Containerele sunt create folosind mecanisme standard ale kernel-ului Linux — cgroups, spații de nume și seccomp. Pentru o izolare suplimentară, în distribuție se aplică SELinux în modul „enforcing”.

Partiția de bază este montată în mod numai pentru citire, iar partiția de configurare /etc este montată în tmpfs și își restabilește starea originală după repornire. Modificarea directă a fișierelor din directorul /etc, cum ar fi /etc/resolv.conf și /etc/containerd/config.toml, nu este suportată – pentru salvarea permanentă a setărilor ar trebui utilizat API-ul sau funcționalitatea ar trebui extinsă în containere separate. Pentru verificarea criptografică a integrității partiției de bază este activat modulul dm-verity, iar în caz de încercare de modificare a datelor la nivel de dispozitiv bloc, sistemul se va reporni.

Cele mai multe componente de sistem sunt scrise în limbajul Rust, care oferă mijloace pentru o utilizare sigură a memoriei, evitând vulnerabilitățile cauzate de accesul la memoria eliberată, dereferențierea pointerilor nuli și depășirea limitelor bufferului. La compilarea implicită se aplică modurile de compilare „--enable-default-pie” și „--enable-default-ssp” pentru a activa randomizarea spațiului de adresare al fișierelor executabile (PIE) și protecția împotriva overflow-ului stivei prin substituția etichetelor de canar. Pentru pachetele scrise în C/C++, sunt adăugate suplimentar flag-urile „-Wall”, „-Werror=format-security”, „-Wp,-D_FORTIFY_SOURCE=2”, „-Wp,-D_GLIBCXX_ASSERTIONS” și „-fstack-clash-protection”.

În noua versiune:

  • A fost adăugată suport pentru mirror-uri de registre de imagini de containere.
  • A fost adăugată posibilitatea de a utiliza certificate auto-semnați.
  • A fost adăugat un parametru pentru configurarea numelui gazdei.
  • A fost actualizată versiunea containerului administrativ destinat în mod implicit.
  • Au fost adăugate setările topologyManagerPolicy și topologyManagerScope pentru kubelet.
  • A fost adăugată suport pentru compresia nucleului folosind algoritmul zstd.
  • A fost oferită posibilitatea de a încărca în VMware mașini virtuale în format OVA (Open Virtualization Format).
  • A fost actualizată varianta distribuției aws-k8s-1.21 cu suport pentru Kubernetes 1.21. Suportul pentru aws-k8s-1.16 a fost închis.
  • Au fost actualizate versiunile pachetelor și dependențele pentru limbajul Rust.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster