Sortie de Bottlerocket 1.2, une distribution basée sur des conteneurs isolés

La version 1.2.0 du système d'exploitation Linux Bottlerocket, développé avec la participation d'Amazon pour un démarrage efficace et sécurisé de conteneurs isolés, est disponible. Les outils et les composants de gestion du système sont écrits en Rust et sont sous licences MIT et Apache 2.0. Bottlerocket peut être exécuté dans des clusters Amazon ECS, VMware et AWS EKS Kubernetes, et permet la création de builds et éditions personnalisées, prenant en charge divers outils d'orchestration et runtime pour conteneurs.

La distribution fournit une image système atomique et automatiquement mise à jour, incluant le noyau Linux et un environnement système minimal, ne comprenant que les composants nécessaires au lancement de conteneurs. L'environnement utilise le gestionnaire système systemd, la bibliothèque Glibc, les outils de construction Buildroot, le chargeur d'amorçage GRUB, le configurateur réseau wicked, le runtime pour conteneurs isolés containerd, la plateforme d'orchestration de conteneurs Kubernetes, l'authentificateur aws-iam-authenticator et l'agent Amazon ECS.

Les outils d'orchestration de conteneurs sont fournis dans un conteneur de gestion distinct, qui est activé par défaut et géré via l'API et l'AWS SSM Agent. L'image de base ne comprend pas de shell. serveur SSH et les langages interprétés (comme Python ou Perl) - les outils pour les administrateurs et les outils de débogage sont placés dans un conteneur distinct, qui est désactivé par défaut.

La principale différence par rapport à des distributions similaires, telles que Fedora CoreOS, CentOS/Red Hat Atomic Host, réside dans l'accent mis sur la sécurité maximale afin de renforcer la protection du système contre d'éventuelles menaces, de compliquer l'exploitation des vulnérabilités dans les composants du système d'exploitation, et d'accroître l'isolation des conteneurs. Les conteneurs sont créés à l'aide de mécanismes natifs du noyau Linux - cgroups, espaces de noms et seccomp. Pour une isolation supplémentaire, SELinux est utilisé en mode « enforcing ».

La partition racine est montée en mode lecture seule, tandis que la partition de configuration /etc est montée en tmpfs et restaure son état d'origine après un redémarrage. La modification directe des fichiers dans le répertoire /etc, tels que /etc/resolv.conf et /etc/containerd/config.toml, n'est pas supportée - pour une conservation permanente des paramètres, il convient d'utiliser l'API ou d'externaliser les fonctionnalités dans des conteneurs séparés. Un module dm-verity est utilisé pour la vérification cryptographique de l'intégrité de la partition racine, et en cas de détection d'une tentative de modification des données au niveau du périphérique de bloc, le système redémarre.

La plupart des composants système sont écrits en Rust, qui offre des outils pour une gestion sécurisée de la mémoire, évitant ainsi les vulnérabilités causées par l'accès à la mémoire après sa libération, la déréférenciation de pointeurs nuls et les débordements de tampon. Les modes de compilation par défaut «--enable-default-pie» et «--enable-default-ssp» sont appliqués pour activer la randomisation de l'espace d'adresse des fichiers exécutables (PIE) et protéger contre les débordements de pile via des substituts de canari. Pour les paquets écrits en C/C++, des drapeaux supplémentaires «-Wall», «-Werror=format-security», «-Wp,-D_FORTIFY_SOURCE=2», «-Wp,-D_GLIBCXX_ASSERTIONS» et «-fstack-clash-protection» sont également activés.

Dans cette nouvelle version :

  • Ajout du support des miroirs de registre d'images de conteneurs.
  • Ajout de la possibilité d'utiliser des certificats auto-signés.
  • Ajout d'un paramètre pour configurer le nom d'hôte.
  • Mise à jour de la version du conteneur administratif par défaut.
  • Ajout des paramètres topologyManagerPolicy et topologyManagerScope pour kubelet.
  • Ajout du support de la compression du noyau via l'algorithme zstd.
  • Possibilité de démarrer sur VMware machines virtuelles au format OVA (Open Virtualization Format).
  • Mise à jour de la version de la distribution aws-k8s-1.21 avec support de Kubernetes 1.21. La prise en charge de aws-k8s-1.16 a été arrêtée.
  • Versions des paquets et dépendances pour Rust mises à jour.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster