Amazon publică Bottlerocket 1.0.0, o distribuție Linux bazată pe containere izolate

Compania Amazon prezentat prima lansare semnificativă a unei distribuții Linux dedicate Bottlerocket 1.0.0, conceput pentru a rula containere izolate eficient și sigur. Instrumentele și componentele de control ale distribuției sunt scrise în Rust și răspândire sub licențe MIT și Apache 2.0. Proiectul este dezvoltat pe GitHub și este disponibil pentru participarea membrilor comunității. Imaginea de implementare a sistemului este generată pentru arhitecturile x86_64 și Aarch64. Sistemul de operare este adaptat să ruleze pe clusterele Amazon ECS și AWS EKS Kubernetes. Sunt furnizate instrumente pentru crearea propriilor ansambluri și ediții, care pot folosi alte instrumente de orchestrare, nuclee și runtime pentru containere.

Distribuția oferă nucleul Linux și un mediu de sistem minim, incluzând doar componentele necesare rulării containerelor. Printre pachetele implicate în proiect se numără managerul de sistem systemd, biblioteca Glibc și instrumentele de asamblare
Buildroot, bootloader GRUB, configurator de rețea rău, timp de rulare pentru containere izolate containerd, platforma de orchestrare a containerelor Kubernetes, aws-iam-authenticator și agent Amazon ECS.

Distribuția este actualizată atomic și este furnizată sub forma unei imagini de sistem indivizibile. Două partiții de disc sunt alocate pentru sistem, dintre care una conține sistemul activ, iar actualizarea este copiată pe a doua. După implementarea actualizării, cea de-a doua partiție devine activă, iar în prima, până la sosirea următoarei actualizări, este salvată versiunea anterioară a sistemului, la care puteți derula înapoi dacă apar probleme. Actualizările sunt instalate automat fără intervenția administratorului.

Diferența esențială față de distribuții similare, cum ar fi Fedora CoreOS, CentOS/Red Hat Atomic Host este concentrarea principală pe furnizarea securitate maximă în contextul întăririi protecției sistemului împotriva posibilelor amenințări, făcând mai dificilă exploatarea vulnerabilităților din componentele sistemului de operare și crescând izolarea containerelor. Containerele sunt create folosind mecanisme standard ale nucleului Linux - cgroups, namespaces și seccomp. Pentru o izolare suplimentară, distribuția folosește SELinux în modul „aplicare”, iar modulul este utilizat pentru verificarea criptografică a integrității partiției rădăcină. dm-adevăr. Dacă este detectată o încercare de modificare a datelor la nivel de dispozitiv bloc, sistemul repornește.

Partiția rădăcină este montată numai în citire, iar partiția de setări /etc este montată în tmpfs și restaurată la starea inițială după o repornire. Modificarea directă a fișierelor din directorul /etc, cum ar fi /etc/resolv.conf și /etc/containerd/config.toml, nu este acceptată - pentru a salva permanent setările, trebuie să utilizați API-ul sau să mutați funcționalitatea în containere separate.

Cele mai multe componente ale sistemului sunt scrise în Rust, care oferă funcții de siguranță pentru memorie pentru a evita vulnerabilitățile cauzate de accesările la memorie după eliberarea, dereferințele pointerului nul și depășirile de buffer. La construirea implicită, modurile de compilare „--enable-default-pie” și „--enable-default-ssp” sunt folosite pentru a permite randomizarea spațiului de adrese al fișierelor executabile (PLĂCINTĂ) și protecție la depășire a stivei prin înlocuire canary.
Pentru pachetele scrise în C/C++, sunt incluse steaguri suplimentare
„-Wall”, „-Werror=format-security”, „-Wp,-D_FORTIFY_SOURCE=2”, „-Wp,-D_GLIBCXX_ASSERTIONS” și „-fstack-clash-protection”.

Instrumentele de orchestrare a containerelor sunt furnizate separat recipient de control, care este activat implicit și controlat prin API și AWS SSM Agent. Imaginea de bază nu are un shell de comandă, un server SSH și limbi interpretate (de exemplu, fără Python sau Perl) - instrumentele administrative și instrumentele de depanare sunt situate în container de serviciu separat, care este dezactivat implicit.

Sursa: opennet.ru

Adauga un comentariu