Les conteneurs sont désormais le moyen de prédilection des entreprises pour packager et faire évoluer les applications. Les environnements basés sur des conteneurs se prêtent à une extensibilité facile, et les clients peuvent exploiter des environnements hôtes qui englobent des centaines ou des milliers d’instances. Désormais, AWS propose d’exécuter les services d’orchestration de conteneurs sur Bottlerocket, son système d’exploitation open source basé sur Linux, et spécialement conçu par Amazon Web Services pour faire fonctionner des conteneurs sur des machines virtuelles ou des hôtes bare-metal.
« Aujourd’hui, la plupart des clients exécutent des applications conteneurisées sur des systèmes d’exploitation polyvalents qui sont mis à jour paquet par paquet, ce qui rend les mises à jour du système d’exploitation difficiles à automatiser », explique AWS dans son communiqué. Bottlerocketprend en charge les images Docker et les images conformes au format d’image de l’Open Container Initiative, ce qui signifie qu’il fonctionne avec tous les conteneurs basés sur Linux. Il fonctionne avec les services d’orchestration de conteneursAmazon EKS et Amazon ECS.
Un OS sécurisé à plusieurs niveaux
L’OS repose sur un noyau Linux et les couches applicatives nécessaires au fonctionnement des conteneurs, ce qui réduit la surface d’attaque. Il utilise le système SELinux (Security-Enhanced Linux) en mode d’exécution pour accroître l’isolation entre les conteneurs et le système d’exploitation hôte, en plus des technologies intégrées en standard dans le noyau Linux pour mettre en œuvre l’isolation entre les charges de travail conteneurisées, telles que les groupes de contrôle (cgroups), les espaces de noms et seccomp.
De plus, il utilise Verity target de Device-mapper (dm-verity), une fonction du noyau Linux qui permet de vérifier l’intégrité afin d’empêcher les attaquants de persister dans les menaces sur le système d’exploitation, comme l’écrasement des logiciels du noyau. Il inclut par ailleurs eBPF, qui réduit le besoin de modules du noyau pour de nombreuses opérations système de bas niveau. De grandes parties de Bottlerocket sont écrites en Rust, un langage de programmationqui permet de garantir la sécurité des threads et d’éviter les erreurs liées à la mémoire, comme les débordements de mémoire tampon qui peuvent entraîner des vulnérabilités de sécurité.
Bottlerocket est maintenant disponible gratuitement sous forme d’Amazon Machine Image (AMI) pour Amazon Elastic Compute Cloud (EC2).