Bottlerocket 1.8 ist verfĂŒgbar, ein auf isolierten Containern basierendes Betriebssystem.

Die neue Version des Linux-Distributions Bottlerocket 1.8.0 wurde veröffentlicht, entwickelt in Zusammenarbeit mit Amazon, um isolierte Container effizient und sicher auszufĂŒhren. Die Werkzeuge und Verwaltungskomponenten der Distribution sind in Rust geschrieben und stehen unter den Lizenzen MIT und Apache 2.0 zur VerfĂŒgung. Bottlerocket wird in Amazon ECS-Clustern, VMware und AWS EKS Kubernetes unterstĂŒtzt und ermöglicht die Erstellung benutzerdefinierter Builds und Varianten, die verschiedene Orchestrierungs- und Runtime-Tools fĂŒr Container nutzen können.

Die Distribution bietet ein atomar und automatisch aktualisierbares, unteilbares System-Image, das den Linux-Kernel und eine minimale Systemumgebung umfasst, die nur die erforderlichen Komponenten zum Starten von Containern enthĂ€lt. In der Umgebung kommen der Systemmanager systemd, die Glibc-Bibliothek, das Buildroot-Bausystem, der Bootloader GRUB, der Netzwerk-Configurator wicked, die Runtime fĂŒr isolierte Container containerd, die Container-Orchestrierungsplattform Kubernetes, der Authenticator aws-iam-authenticator und der Agent von Amazon ECS zum Einsatz.

Container-Orchestrierungswerkzeuge werden in einem separaten Management-Container bereitgestellt, der standardmĂ€ĂŸig aktiviert ist und ĂŒber die API und AWS SSM Agent verwaltet wird. Im Basis-Image fehlt eine Kommandozeilen-Schnittstelle. der Server SSH und interpretierte Sprachen (z. B. kein Python oder Perl) – Administrations- und Debugging-Tools sind in einen separaten Dienstcontainer ausgelagert, der standardmĂ€ĂŸig deaktiviert ist.

Ein wesentliches Unterscheidungsmerkmal zu Ă€hnlichen Distributionen wie Fedora CoreOS, CentOS/Red Hat Atomic Host ist der primĂ€re Fokus auf die Bereitstellung maximaler Sicherheit im Hinblick auf die VerstĂ€rkung des Schutzes des Systems gegen potenzielle Bedrohungen, die Erschwernis der Ausnutzung von Schwachstellen in Betriebssystemkomponenten sowie die Erhöhung der Isolation von Containern. Container werden mithilfe der integrierten Mechanismen des Linux-Kernels – cgroups, Namespaces und seccomp – erstellt. FĂŒr zusĂ€tzliche Isolation wird in der Distribution SELinux im Modus 'enforcing' eingesetzt.

Das Root-Verzeichnis wird im Nur-Lese-Modus gemountet, wĂ€hrend das Verzeichnis mit den Einstellungen "/etc" in tmpfs gemountet wird und nach einem Neustart den ursprĂŒnglichen Zustand wiederherstellt. Direkte Änderungen an Dateien im Verzeichnis "/etc", wie z.B. "/etc/resolv.conf" und "/etc/containerd/config.toml", werden nicht unterstĂŒtzt – fĂŒr die dauerhafte Speicherung von Einstellungen sollte die API verwendet oder die FunktionalitĂ€t in separate Container ausgelagert werden. FĂŒr die kryptographische Verifizierung der IntegritĂ€t des Root-Verzeichnisses wird das dm-verity-Modul eingesetzt, und im Falle eines versuchten Datenmodifikationen auf BlockgerĂ€tebene wird das System neu gestartet.

Die meisten Systemkomponenten sind in der Programmiersprache Rust geschrieben, die sicherere Speicherverwaltungsfunktionen bietet, um Schwachstellen wie den Zugriff auf den freigegebenen Speicher, das Dereferenzieren von Nullzeigern und BufferĂŒberlĂ€ufe zu vermeiden. StandardmĂ€ĂŸig werden die Kompilierungsparameter „—enable-default-pie“ und „—enable-default-ssp“ verwendet, um die Adressraumrandomisierung fĂŒr ausfĂŒhrbare Dateien (PIE) und den Schutz vor StackĂŒberlĂ€ufen durch das Platzieren von Canary-Tags zu aktivieren. FĂŒr in C/C++ geschriebene Pakete werden zusĂ€tzlich die Flags „-Wall“, „-Werror=format-security“, „-Wp,-D_FORTIFY_SOURCE=2“, „-Wp,-D_GLIBCXX_ASSERTIONS“ und „-fstack-clash-protection“ aktiviert.

In der neuen Version:

  • Der Inhalt der Verwaltungs- und Steuercontainer wurde aktualisiert.
  • Die Laufzeitumgebung fĂŒr isolierte Container wurde auf den Branch containerd 1.6.x aktualisiert.
  • Es wurde sichergestellt, dass Hintergrundprozesse, die die Funktionsweise von Containern koordinieren, nach Änderungen im Zertifikatsspeicher neu gestartet werden.
  • Es wurde die Möglichkeit zur Festlegung von Kernel-Boot-Parametern ĂŒber den Abschnitt Boot Configuration bereitgestellt.
  • Die Ignorierung leerer Blöcke bei der IntegritĂ€tsprĂŒfung der Root-Partition mithilfe von dm-verity ist aktiviert.
  • Es besteht die Möglichkeit einer statischen Bindung von Hostnamen in /etc/hosts.
  • Die Generierung von Netzwerkkonfigurationen ist mit dem Tool netdog möglich (Befehl generate-net-config hinzugefĂŒgt).
  • Neue Varianten des Distributionspakets mit UnterstĂŒtzung fĂŒr Kubernetes 1.23 wurden angeboten. Die Startzeit von Pods in Kubernetes wurde durch die Deaktivierung des Modus configMapAndSecretChangeDetectionStrategy verkĂŒrzt. Neue Einstellungen fĂŒr Kubelets wurden hinzugefĂŒgt: provider-id und podPidsLimit.
  • Eine neue Variante des Distributionspakets 'aws-ecs-1-nvidia' fĂŒr den Amazon Elastic Container Service (Amazon ECS) wurde mit NVIDIA-Treibern bereitgestellt.
  • UnterstĂŒtzung fĂŒr SpeichergerĂ€te von Microchip Smart Storage und MegaRAID SAS wurde hinzugefĂŒgt. Die UnterstĂŒtzung fĂŒr Ethernet-Karten mit Broadcom-Chips wurde erweitert.
  • Updates fĂŒr Paketversionen und AbhĂ€ngigkeiten fĂŒr die Sprachen Go und Rust sowie fĂŒr Pakete mit Drittanbietersoftware wurden vorgenommen. Das Bottlerocket SDK wurde auf Version 0.26.0 aktualisiert.

Quelle: opennet.ru

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster