Bottlerocket 1.0.0, la distribution d'Amazon basée sur des conteneurs isothermes

Fusée en bouteille

Il ya quelques jours Amazon a publié la sortie de la première version significative de Fusée à bouteille 1.0.0, qui est une distribution Linux spécialisée conçue pour faire fonctionner des conteneurs isolés efficacement et en toute sécurité.

Le système d'exploitation Il est conçu pour fonctionner sur des clusters Amazon ECS et AWS EKS Kubernetes. Des outils sont fournis pour créer vos propres assemblys et correctifs, qui peuvent être utilisés par d'autres outils d'exécution de conteneur, de noyau et d'orchestration.

La distribution fournit un noyau Linux et un environnement système minimal, Quoi inclut uniquement les composants requis pour exécuter les conteneurs.

Parmi les packages impliqués dans le projet figuraient le gestionnaire système systemd, la bibliothèque Glibc to, les outils d'assemblage Buildroot, le configurateur de chargeur de démarrage méchant réseau GRUB, le runtime pour les conteneurs isolés dans le conteneur, la plate-forme d'orchestration Kubernetes Container Authenticator agent aws-iam-authentication et Amazon ECS.

La mise en page est mise à jour de manière atomique et présentée comme une image système indivisible. Deux partitions de disque sont affectées au système, dont l'une contient le système actif et la mise à jour est copiée sur la seconde.

Une fois la mise à jour implémentée, la deuxième section est activée, et dans la première, jusqu'à l'arrivée de la prochaine mise à jour, la version précédente du système est enregistrée, dans laquelle elle peut être rétablie en cas de problème. Les mises à jour sont installées automatiquement sans intervention de l'administrateur.

La principale différence avec des distributions similaires tels que Fedora CoreOS, CentOS / Red Hat Atomic Host est l'objectif principal pour assurer une sécurité maximale dans le contexte du renforcement de la protection contre les menaces potentielles, compliquant l'exploitation des vulnérabilités dans les composants du système d'exploitation et augmentant l'isolation des conteneurs.

Les conteneurs sont créés à l'aide des mécanismes standard du noyau Linux: cgroups, espaces de noms et seccomp. Pour une isolation supplémentaire, la distribution utilise SELinux en mode "application" et le module dm-verity est utilisé pour la vérification cryptographique de l'intégrité de la partition racine.

Si une tentative de modification des données est détectée au niveau du périphérique bloc, le système redémarre.

La partition racine est montée en lecture seule et la partition de configuration / etc est montée dans tmpfs et restaurée à son état d'origine au redémarrage.

La modification directe des fichiers dans le répertoire / etc n'est pas prise en charge, comme /etc/resolv.conf et /etc/containerd/config.toml, pour enregistrer définitivement la configuration, utiliser l'API ou déplacer la fonctionnalité vers des conteneurs séparés.

La plupart des composants du système sont écrits dans le langage Rust, qui fournit un moyen de manipuler la mémoire en toute sécurité pour éviter les vulnérabilités causées par l'accès à une zone mémoire après sa libération, le déréférencement des pointeurs nuls et le dépassement des limites de la mémoire tampon.

Lors de la compilation, les modes de compilation «–enable-default-pie» et «–enable-default-ssp» sont utilisés par défaut pour activer la randomisation de l'espace d'adressage exécutable (PIE) et pour se protéger contre le débordement de pile en utilisant le remplacement des étiquettes Canary .

Pour les packages écrits en C / C ++, les indicateurs "-Wall", "-Werror = format-security", "-Wp, -D_FORTIFY_SOURCE = 2", "-Wp, -D_GLIBCXX_ASSERTIONS" et "-fstack-clash - protection".

Outils d'orchestration À partir de conteneurs sont expédiés dans un conteneur de gestion séparé qui est activé par défaut et géré via l'agent et l'API AWS SSM.

L'image de base ne dispose pas d'un shell de commande, d'un serveur SSH et de langages interprétés (par exemple, pas de Python ou Perl) - les outils d'administration et les outils de débogage sont déplacés vers un conteneur de services distinct, qui est désactivé par défaut.

Obtenez Bottlerocket 1.0.0

La distribution ainsi que les composants de contrôle de distribution sont écrits en Rust et sont distribués sous les licences MIT et Apache 2.0. Le projet est en cours de développement sur GitHub et est disponible pour la participation de la communauté.

L'image de déploiement du système est générée pour les architectures x86_64 et Aarch64.

Pour plus d'informations, vous pouvez consulter le lien suivant. 


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.