Bottlerocket 1.8 is beschikbaar, een distributie gebaseerd op geïsoleerde containers.

De release van de Linux-distributie Bottlerocket 1.8.0 is gepubliceerd, ontwikkeld met medewerking van Amazon voor de efficiënte en veilige uitvoering van geïsoleerde containers. De tools en beheerscomponenten van de distributie zijn geschreven in Rust en worden verspreid onder de MIT- en Apache 2.0-licenties. Bottlerocket ondersteunt uitvoering in Amazon ECS-clusters, VMware en AWS EKS Kubernetes, evenals het maken van aangepaste builds en edities die verschillende orkestratietools en runtime voor containers mogelijk maken.

De distributie biedt een atomisch en automatisch bijgewerkt ononderbroken systeembestand dat de Linux-kernel en een minimale systeemomgeving omvat, met alleen de componenten die nodig zijn voor het draaien van containers. In de omgeving zijn de systeembeheerder systemd, de Glibc-bibliotheek, de buildtool Buildroot, de opstartloader GRUB, de netwerkinstellingen configurator wicked, de runtime voor geïsoleerde containers containerd, de containerorkestratieplatform Kubernetes, de authenticator aws-iam-authenticator en de Amazon ECS-agent betrokken.

De tools voor containerorkestratie worden geleverd in een aparte beheerscontainer, die standaard is ingeschakeld en via de API en AWS SSM Agent wordt beheerd. De basisafbeelding heeft geen opdrachtregelinterface. server SSH en geïnterpreteerde talen (bijvoorbeeld geen Python of Perl) - hulpmiddelen voor de beheerder en foutopsporingstools zijn in een aparte hulpprogrammacontainer geplaatst, die standaard is uitgeschakeld.

Het belangrijkste verschil met soortgelijke distributies, zoals Fedora CoreOS, CentOS/Red Hat Atomic Host, is de primaire focus op het bieden van maximale beveiliging in het kader van het versterken van de systeembeveiliging tegen mogelijke bedreigingen, het bemoeilijken van het exploiteren van kwetsbaarheden in OS-componenten en het verhogen van de isolatie van containers. Containers worden gemaakt met behulp van de ingebouwde mechanismen van de Linux-kernel - cgroups, namespaces en seccomp. Voor extra isolatie wordt SELinux in de ‘enforcing’-modus in de distributie toegepast.

De rootpartitie wordt gemonteerd in alleen-lezen modus, terwijl de instellingenpartitie /etc wordt gemonteerd in tmpfs en de oorspronkelijke status herstelt na herstart. Directe wijziging van bestanden in de map /etc, zoals /etc/resolv.conf en /etc/containerd/config.toml, wordt niet ondersteund — voor het permanent opslaan van instellingen dient de API te worden gebruikt of functionaliteit in aparte containers te worden geplaatst. Voor cryptografische verificatie van de integriteit van de rootpartitie wordt de dm-verity-module ingeschakeld, en bij detectie van pogingen om gegevens op het niveau van het blokapparaat te wijzigen, wordt het systeem opnieuw opgestart.

De meeste systeemelementen zijn geschreven in Rust, dat middelen biedt voor veilige geheugentoegang, waardoor kwetsbaarheden door toegang tot vrijgegeven geheugengebieden, dereferencen van null-pointers en buffer-overflows worden voorkomen. Bij de standaardcompilatie worden de compilatiemodi ‘—enable-default-pie’ en ‘—enable-default-ssp’ toegepast om adresrandomisatie van uitvoerbare bestanden (PIE) en bescherming tegen stack-overflows via canary-tags in te schakelen. Voor pakketten geschreven in C/C++ worden bovendien de flags ‘-Wall’, ‘-Werror=format-security’, ‘-Wp,-D_FORTIFY_SOURCE=2’, ‘-Wp,-D_GLIBCXX_ASSERTIONS’ en ‘-fstack-clash-protection’ ingeschakeld.

In de nieuwe release:

  • De inhoud van de beheers- en controlecontainers is bijgewerkt.
  • De runtime voor geïsoleerde containers is bijgewerkt naar de containerd 1.6.x branch.
  • Herstart van achtergrondprocessen die de werking van containers coördineren, is verzekerd na wijzigingen in de certificaatopslag.
  • De mogelijkheid is verstrekt om opstartparameters van de kernel in te stellen via het Boot Configuration-gedeelte.
  • Lege blokken worden genegeerd bij de integriteitscontrole van de rootpartitie met behulp van dm-verity.
  • De mogelijkheid is geboden voor statische naambinding van hosts in /etc/hosts.
  • De mogelijkheid is geboden om een netwerkconfiguratie te genereren met de netdog-tool (de opdracht generate-net-config is toegevoegd).
  • Nieuwe distributie-opties met ondersteuning voor Kubernetes 1.23 zijn voorgesteld. De opstarttijd van pods in Kubernetes is verkort door de configMapAndSecretChangeDetectionStrategy-modus uit te schakelen. Nieuwe kubelet-instellingen zijn toegevoegd: provider-id en podPidsLimit.
  • Een nieuwe distributievariant ‘aws-ecs-1-nvidia’ voor Amazon Elastic Container Service (Amazon ECS) is voorgesteld, geleverd met NVIDIA-drivers.
  • Ondersteuning voor Microchip Smart Storage en MegaRAID SAS-opslagapparaten is toegevoegd. De ondersteuning voor Ethernet-kaarten op Broadcom-chips is uitgebreid.
  • De versies van de pakketten en afhankelijkheden voor de talen Go en Rust zijn bijgewerkt, evenals de versies van externe programma's. De Bottlerocket SDK is bijgewerkt naar versie 0.26.0.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster