Bottlerocket 1.8 on saatavilla, jakelu perustuu eristettyihin kontteihin

Linux-jakelun Bottlerocket 1.8.0 julkaisu on julkaistu, ja se 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:

  • Hallinto- ja valvontakonttien sisältö on päivitetty.
  • Eristettyjen säiliöiden ajonaika on päivitetty 1.6.x-konttihaaraan.
  • Varmistaa, että säilöjen toimintaa koordinoivat taustaprosessit käynnistetään uudelleen varmennevarastoon tehtyjen muutosten jälkeen.
  • On mahdollista asettaa ytimen käynnistysparametrit Boot Configuration -osiossa.
  • Tyhjien lohkojen huomioimatta jättäminen käytössä, kun juuriosion eheyttä valvotaan dm-verityn avulla.
  • Mahdollisuus staattisesti sitoa isäntänimiä tiedostossa /etc/hosts on tarjottu.
  • Mahdollisuus luoda verkkomääritykset netdog-apuohjelmalla on tarjottu (komento generate-net-config on lisätty).
  • Uusia jakeluvaihtoehtoja Kubernetes 1.23:n tuella on ehdotettu. Kubernetesin podien käynnistysaikaa on lyhennetty poistamalla configMapAndSecretChangeDetectionStrategy-tila käytöstä. Lisätty uudet kubelet-asetukset: tarjoaja-id ja podPidsLimit.
  • Amazon Elastic Container Servicen (Amazon ECS) jakelusarjasta "aws-ecs-1-nvidia" on ehdotettu uutta versiota, joka toimitetaan NVIDIA-ajureilla.
  • Lisätty tuki Microchip Smart Storage- ja MegaRAID SAS -tallennuslaitteille. Broadcom-sirujen Ethernet-korttien tukea on laajennettu.
  • Päivitetyt pakettiversiot ja riippuvuudet Go- ja Rust-kielille sekä versiot paketeista, joissa on kolmannen osapuolen ohjelmia. Bottlerocket SDK on päivitetty versioon 0.26.0.

Lähde: opennet.ru

Lisää kommentti