L’impact majeur des conteneurs sur la sécurité

Lorsqu’il est question de conteneurs, lesquels servent essentiellement à virtualiser des applications, une question demeure : quelle est leur incidence sur la sécurité ? En réalité, les conteneurs peuvent aussi bien améliorer ou nuire à la sécurité.

L’une des principales caractéristiques des conteneurs réside dans les métadonnées qu’ils contiennent. Ces métadonnées informent les équipes sur ce qui est stocké dans les conteneurs, de sorte que les professionnels de la sécurité, les administrateurs et les développeurs aient de la visibilité sur ce qui s’y trouve et ainsi une bonne compréhension de l’importance de chaque conteneur d’un point de vue du risque.

Dans la mesure où tout est géré au sein d’une unité unique, l’architecture du conteneur a une incidence majeure sur la sécurité. Ainsi, plutôt que d’avoir des dépendances disséminées dans tout l’environnement, les conteneurs permettent, grâce à la conteneurisation, de séparer complètement des applications qui se seraient exécutées simultanément sur un serveur.

Cela signifie que les dépendances, telles que les services nécessaires à une application, peuvent être rassemblées au sein de ce conteneur - toutefois isolées des autres conteneurs et systèmes. Lorsqu’elle est bien gérée, cette technique permet de réduire la surface d’attaque d’une entreprise.

Un autre avantage potentiel réside dans le fait que les conteneurs, parce qu’ils peuvent être gérés comme des entités distinctes effectuant une tâche spécifique, rendent l’automatisation - et donc l’automatisation de la sécurité - bien plus simple.

En outre, chaque conteneur peut être testé par les équipes d’AQ (Assurance Qualité) et géré individuellement de manière sécurisée. Cela permet aux équipes DevOps de réduire plus facilement les problèmes que les points de défaillance uniques peuvent causer dans un environnement. Au niveau opérationnel, cela peut accélérer à la fois la vitesse de développement et de déploiement, et accroître la qualité globale d’un environnement.

Comme toujours, toute médaille a son revers, et les conteneurs comportent assurément des inconvénients potentiels.

A l’instar des charges de travail virtualisées, les conteneurs permettent aux ressources logicielles de se diffuser facilement au sein d’un environnement. Cela signifie qu’elles ne seront pas gérées correctement et que, tôt ou tard, l’environnement devra faire face à un encombrement généré par de trop nombreux services inutiles en cours d’exécution, à une surface d’attaque plus conséquente, à des niveaux d’application des correctifs non homogènes et à des paramétrages incohérents du système et des applications.

Élément intéressant : la majorité des défis de sécurité auxquels sont confrontées les entreprises avec les conteneurs sont exactement les mêmes que ceux auxquels elles sont confrontées avec les environnements traditionnels et virtualisés (configuration, systèmes d’exploitation et vulnérabilités des applications).

Que  peuvent faire les entreprises afin de s’assurer que leurs environnements de conteneurs restent sécurisés ? 

Les six points couverts par le document de référence sur le sujet, publié par le CIS (Center for internet Security) et Docker, et rédigé par un quorum d’experts de la sécurité sont les suivants :

- La configuration de la sécurité de l’hôte - Recommandations de sécurité visant à préparer une machine hôte qui exécutera des charges de travail conteneurisées. La sécurisation de l’hôte Docker et l’application des meilleures pratiques en matière de sécurité des infrastructures, constituent la base d’une exécution sécurisée des charges de travail conteneurisées.

- La configuration de Docker (daemon) - Recommandations de sécurité visant à sécuriser le serveur Docker (daemon). Ces recommandations contribueront à sécuriser toutes les instances exécutées à partir du serveur, en examinant les fichiers liés à Docker ainsi que les permissions d’accès aux répertoires.

- Les images de conteneur et le Build File - Les images de base et leurs Build Files déterminent la façon dont le conteneur se comporte, ce qui est essentiel à une infrastructure de conteneurs saine.

- L’exécution du conteneur - Sécuriser le lancement permet d’atténuer grandement les risques d’une infection du conteneur. Les recommandations figurant dans cette partie du document portent sur la vérification de l’authenticité.

- Les opérations de sécurité de Docker - Cette partie offre un bon aperçu des meilleures pratiques actuelles en matière de sécurité qui devraient être étendues à l’environnement des conteneurs.

Comme  on peut le voir d’après les recommandations du Center for internet Security et de Docker ci-dessus, et d’après ce que nous avons passé en revue dans cet article, il existe quelques différences entre la sécurité des conteneurs et la sécurité des applications et des serveurs, mais on observe aussi de nombreuses similitudes entre la sécurité des conteneurs et la sécurité de la virtualisation.

Ces recommandations ont pour but d’aider les entreprises à verrouiller leurs conteneurs et à améliorer la sécurité.