Bottlerocket 1.8 er tilgjengelig, en distribusjon basert på isolerte beholdere

Utgivelsen av Linux-distribusjonen Bottlerocket 1.8.0 er publisert, utviklet med deltagelse av Amazon for effektiv og sikker lansering av isolerte beholdere. Distribusjonens verktøy og kontrollkomponenter er skrevet i Rust og distribuert under MIT- og Apache 2.0-lisensene. Den støtter kjøring av Bottlerocket på Amazon ECS, VMware og AWS EKS Kubernetes-klynger, i tillegg til å lage tilpassede bygg og utgaver som tillater bruk av ulike orkestrerings- og kjøretidsverktøy for containere.

Distribusjonen gir et atomisk og automatisk oppdatert udelelig systembilde som inkluderer Linux-kjernen og et minimalt systemmiljø, inkludert bare komponentene som er nødvendige for å kjøre containere. Miljøet inkluderer systemd systembehandleren, Glibc-biblioteket, Buildroot byggeverktøyet, GRUB oppstartslasteren, den onde nettverkskonfiguratoren, containerd runtime for isolerte containere, Kubernetes container orkestreringsplattform, aws-iam-autenticator og Amazon ECS agent.

Beholderorkestreringsverktøy kommer i en separat administrasjonsbeholder som er aktivert som standard og administrert gjennom API og AWS SSM Agent. Grunnbildet mangler et kommandoskall, SSH-server og tolkede språk (for eksempel ingen Python eller Perl) - administrative verktøy og feilsøkingsverktøy er plassert i en egen tjenestebeholder, som er deaktivert som standard.

Hovedforskjellen fra lignende distribusjoner som Fedora CoreOS, CentOS/Red Hat Atomic Host er det primære fokuset på å gi maksimal sikkerhet i sammenheng med å styrke systembeskyttelsen mot mulige trusler, noe som gjør det vanskeligere å utnytte sårbarheter i OS-komponenter og øke containerisolasjonen . Beholdere lages ved å bruke standard Linux-kjernemekanismer - cgroups, namespaces og seccomp. For ytterligere isolasjon bruker distribusjonen SELinux i "håndhevende" modus.

Rotpartisjonen er montert skrivebeskyttet, og /etc settings-partisjonen monteres i tmpfs og gjenopprettes til sin opprinnelige tilstand etter en omstart. Direkte modifikasjon av filer i /etc-katalogen, slik som /etc/resolv.conf og /etc/containerd/config.toml, støttes ikke - for å lagre innstillinger permanent, må du bruke API eller flytte funksjonaliteten til separate beholdere. dm-verity-modulen brukes til å kryptografisk verifisere integriteten til rotpartisjonen, og hvis det oppdages et forsøk på å endre data på blokkenhetsnivå, starter systemet på nytt.

De fleste systemkomponenter er skrevet i Rust, som gir minnesikre funksjoner for å unngå sårbarheter forårsaket av etterfrie minnetilganger, null-peker-dereferanser og bufferoverskridelser. Når du bygger som standard, brukes kompilasjonsmodusene "-enable-default-pie" og "-enable-default-ssp" for å muliggjøre randomisering av det kjørbare filadresserommet (PIE) og beskyttelse mot stabeloverflyt gjennom kanariebytte. For pakker skrevet i C/C++ er flaggene "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" og "-fstack-clash" i tillegg aktivert -beskyttelse".

I den nye utgivelsen:

  • Innholdet i administrasjons- og kontrollbeholderne er oppdatert.
  • Kjøretid for isolerte beholdere har blitt oppdatert til containerd 1.6.x-grenen.
  • Sikrer at bakgrunnsprosesser som koordinerer driften av containere startes på nytt etter endringer i sertifikatlageret.
  • Det er mulig å angi kjerneoppstartsparametere gjennom Boot Configuration-delen.
  • Aktivert ignorering av tomme blokker ved overvåking av integriteten til rotpartisjonen ved hjelp av dm-verity.
  • Muligheten til statisk å binde vertsnavn i /etc/hosts er gitt.
  • Muligheten til å generere en nettverkskonfigurasjon ved hjelp av netdog-verktøyet er gitt (kommandoen generer-net-config er lagt til).
  • Nye distribusjonsalternativer med støtte for Kubernetes 1.23 er foreslått. Oppstartstiden for pods i Kubernetes har blitt redusert ved å deaktivere configMapAndSecretChangeDetectionStrategy-modusen. Lagt til nye kubelet-innstillinger: provider-id og podPidsLimit.
  • En ny versjon av distribusjonssettet "aws-ecs-1-nvidia" for Amazon Elastic Container Service (Amazon ECS), levert med NVIDIA-drivere, har blitt foreslått.
  • Lagt til støtte for Microchip Smart Storage og MegaRAID SAS-lagringsenheter. Støtte for Ethernet-kort på Broadcom-brikker er utvidet.
  • Oppdaterte pakkeversjoner og avhengigheter for Go- og Rust-språkene, samt versjoner av pakker med tredjepartsprogrammer. Bottlerocket SDK har blitt oppdatert til versjon 0.26.0.

Kilde: opennet.ru

Legg til en kommentar