Bottlerocket 1.2:n julkaisu, eristettyihin konteihin perustuva jakelu

Saatavilla on Linux-jakelun Bottlerocket 1.2.0 julkaisu, joka on kehitetty yhdessä Amazonin kanssa eristettyjen säiliöiden tehokkaaseen ja turvalliseen käynnistämiseen. Jakelun työkalut ja ohjauskomponentit on kirjoitettu Rust-kielellä ja niitä jaetaan MIT- ja Apache 2.0 -lisensseillä. Se tukee Bottlerocketin suorittamista Amazon ECS-, VMware- ja AWS EKS Kubernetes -klustereissa sekä mukautettujen koontiversioiden ja versioiden luomista, jotka mahdollistavat erilaisten orkestrointi- ja ajonaikaisten työkalujen käytön säilöille.

Jakelu tarjoaa atomisesti ja automaattisesti päivitetyn jakamattoman järjestelmäkuvan, joka sisältää Linux-ytimen ja minimaalisen järjestelmäympäristön, joka sisältää vain säilöjen suorittamiseen tarvittavat komponentit. Ympäristö sisältää systemd-järjestelmänhallinnan, Glibc-kirjaston, Buildroot-koontityökalun, GRUB-käynnistyslataimen, ilkeän verkon konfiguraattorin, yksittäisten säilöjen konttiajon, Kubernetes-säilön orkestrointialustan, aws-iam-authenticatorin ja Amazonin. ECS-agentti.

Säilön organisointityökalut toimitetaan erillisessä hallintasäiliössä, joka on oletuksena käytössä ja jota hallitaan API:n ja AWS SSM Agentin kautta. Peruskuvasta puuttuu komentokulli, SSH-palvelin ja tulkitut kielet (esim. ei Python tai Perl) - hallintatyökalut ja virheenkorjaustyökalut sijoitetaan erilliseen palvelusäiliöön, joka on oletuksena pois käytöstä.

Keskeinen ero samankaltaisiin jakeluihin, kuten Fedora CoreOS, CentOS/Red Hat Atomic Host, on ensisijainen painopiste maksimaalisen turvallisuuden tarjoamisessa vahvistettaessa järjestelmän suojaa mahdollisilta uhkilta, mikä vaikeuttaa käyttöjärjestelmän komponenttien haavoittuvuuksien hyödyntämistä ja lisää kontin eristäytymistä. . Säilöt luodaan käyttämällä tavallisia Linux-ytimen mekanismeja - cgroups, namespaces ja seccomp. Lisäeristystä varten jakelu käyttää SELinuxia "enforcing"-tilassa.

Juuriosio asennetaan vain luku -tilassa, ja /etc-asetukset-osio liitetään tmpfs-tiedostoon ja palautetaan alkuperäiseen tilaan uudelleenkäynnistyksen jälkeen. /etc-hakemistossa olevien tiedostojen, kuten /etc/resolv.conf ja /etc/containerd/config.toml, suoraa muokkaamista ei tueta - jos haluat tallentaa asetukset pysyvästi, sinun on käytettävä API:ta tai siirrettävä toiminnallisuus erillisiin säilöihin. Dm-verity-moduulia käytetään juuriosion eheyden salaustarkistukseen, ja jos havaitaan yritys muokata tietoja lohkolaitetasolla, järjestelmä käynnistyy uudelleen.

Useimmat järjestelmäkomponentit on kirjoitettu Rust-kielellä, joka tarjoaa muistia turvallisia ominaisuuksia, joilla vältetään haavoittuvuudet, jotka aiheutuvat vapaan muistin käytön jälkeen, nollaosoittimen viittauksista ja puskurin ylityksistä. Kun rakennetaan oletusarvoisesti, käännöstiloja "-enable-default-pie" ja "-enable-default-ssp" käytetään mahdollistamaan suoritettavan tiedoston osoiteavaruuden (PIE) satunnaistaminen ja suojaus pinon ylivuodoilta kanarian korvaamisen kautta. C/C++-kielellä kirjoitetuissa paketeissa on lisäksi liput "-Wall", "-Worror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" ja "-fstack-clash". käytössä -suojaus".

Uudessa julkaisussa:

  • Lisätty tuki konttikuvarekisterin peileille.
  • Lisätty mahdollisuus käyttää itse allekirjoitettuja varmenteita.
  • Lisätty mahdollisuus määrittää isäntänimi.
  • Hallinnollisen säilön oletusversio on päivitetty.
  • Lisätty topologyManagerPolicy- ja topologyManagerScope-asetukset kubeletille.
  • Lisätty tuki ytimen pakkaamiseen zstd-algoritmilla.
  • Tarjolla on mahdollisuus ladata virtuaalikoneita VMwareen OVA-muodossa (Open Virtualization Format).
  • Jakeluversio aws-k8s-1.21 on päivitetty tukemaan Kubernetes 1.21:tä. aws-k8s-1.16:n tuki on lopetettu.
  • Päivitetyt pakettiversiot ja riippuvuudet Rust-kielelle.

Lähde: opennet.ru

Lisää kommentti