Die Veröffentlichung von Bottlerocket 1.7, einer Distribution auf Basis isolierter Container

Die Veröffentlichung der Linux-Distribution Bottlerocket 1.7.0 wurde bekanntgegeben. Diese wird mit UnterstĂŒtzung von Amazon entwickelt und ermöglicht den effizienten und sicheren Betrieb isolierter Container. Die hierzu verwendeten Werkzeuge und Komponenten sind in Rust geschrieben und werden unter den Lizenzen MIT und Apache 2.0 bereitgestellt. Bottlerocket kann in den Clustern Amazon ECS, VMware und AWS EKS Kubernetes betrieben werden, und es können benutzerdefinierte Builds und Versionen erstellt werden, die verschiedene Orchestrierungs- und Runtime-Tools fĂŒr Container unterstĂŒtzen.

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:

  • Beim Installieren von RPM-Paketen wird nun eine Liste der Programme im JSON-Format erzeugt und in den Host-Container als Datei /var/lib/bottlerocket/inventory/application.json eingebunden, um Informationen ĂŒber die verfĂŒgbaren Pakete zu erhalten.
  • Die Container 'admin' und 'control' wurden aktualisiert.
  • Die Versionen der Pakete und AbhĂ€ngigkeiten fĂŒr die Sprachen Go und Rust wurden aktualisiert.
  • Die Versionen der Drittanbieter-Pakete wurden aktualisiert.
  • Probleme mit der Konfiguration von tmpfilesd fĂŒr kmod-5.10-nvidia wurden behoben.
  • Bei der Installation von tuftool wird nun an die Versionen der AbhĂ€ngigkeiten gebunden.

Quelle: opennet.ru

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