Dans le cloud, les conteneurs et les applications conteneurisées apportent rapidité et efficacité aux équipes de développement. Ils créent cependant de nouveaux défis en matière de sécurité du cloud. Si ces architectures sont dynamiques et prennent en charge le déploiement automatisé d'applications, ce qui leur confère tant de valeur s’accompagne également de nouveaux vecteurs de menaces.

Lorsque les développeurs poussent une application conteneurisée vers un environnement de test, le pipeline CI/CD prend le relais. L'orchestration peut être complexe et il faut veiller à ne pas introduire de nouvelles failles de sécurité dans le processus.

Par ailleurs, les applications conteneurisées peuvent être créées en tant que microservices pour gérer des tâches très spécifiques. Dans de nombreux cas, elles sont ainsi plus faciles à tester, à distribuer et à déployer de manière dynamique que leurs homologues monolithiques. Les architectures microservices se traduisent alors par un nombre beaucoup plus important de conteneurs uniques, qui devront chacun être gérés et sécurisés. Ces applications finiront par ailleurs par traiter un grand nombre de données sensibles. La sécurité ne doit pas seulement être prise en compte, elle doit être intégrée dans le processus de développement des conteneurs.

Sécuriser l’orchestration des conteneurs

La plupart des risques de sécurité des applications conteneurisées et des services et infrastructures qui les supportent peuvent être découverts et atténués, voire corrigés grâce à une meilleure visibilité de l'environnement de l'entreprise et à l'analyse des événements de sécurité. Cette dernière fournissant un contexte et donnant des détails sur les anomalies comportementales, les organisations peuvent identifier les problèmes dans leurs processus d'orchestration et les corriger avant qu'ils ne causent de graves dommages.

Les recommandations suivantes sont essentielles pour éviter les vulnérabilités de sécurité des conteneurs :

  1. Gagnez en visibilité sur les vulnérabilités et les mauvaises configurations. Votre programme de gestion des vulnérabilités doit inclure vos technologies de conteneurs. Recherchez des solutions qui sont capables d’identifier les vulnérabilités de votre système d'exploitation hôte, des images de conteneurs et des conteneurs eux-mêmes, à l'aide de données analytiques en temps réel recueillies dans toute votre infrastructure.
    Par ailleurs, des erreurs de configuration dans le provisionnement des conteneurs pourraient générer une surface d’attaque plus grande et plus vulnérable, ou permettre un accès non fiable à des ressources fiables. Des organisations telles que le CIS fournissent des conseils de sécurité pour la plupart des systèmes d'exploitation et de nombreuses applications, y compris Docker et Kubernetes.
  2. Pensez au contrôle de l'intégrité des fichiers. Les outils de contrôle de l’intégrité des fichiers en temps réel incluant les conteneurs vont vous alerter lorsque de nouvelles applications sont installées, que des modifications sont apportées aux fichiers de configuration clés des conteneurs ou que les journaux des conteneurs sont altérés. Ces outils doivent être en mesure d’identifier le processus ou l'utilisateur qui a modifié un fichier et également de reconnaître l'activité à l'intérieur et autour d'un conteneur.
  3. Utilisez des images fiables. Les conteneurs sont construits à partir d'images stockées sur des référentiels publics ou privés. Comprenez d'où proviennent vos images et recherchez des outils permettant de les analyser à la recherche d'éventuelles vulnérabilités. N'oubliez pas qu'une vulnérabilité dans une seule image va se propager dans tous les conteneurs basés sur cette image.
  4. Adoptez le principe du moindre privilège. Mettez en place une discipline organisationnelle en matière d'accès. Auditez et examinez régulièrement les accès root et autres super utilisateurs, et supprimez les accès privilégiés des processus qui n'en ont pas besoin. Les conteneurs Docker ont accès à des espaces de noms spécifiques, notamment le réseau, les processus, les communications interprocessus, les points de montage du système de fichiers et le noyau. Documentez et comprenez tous les accès partagés à ces espaces de noms et recherchez les cas de privilèges inappropriés.
  5. Sécurisez vos tableaux de bord administratifs. Un tableau de bord efficace peut simplifier votre orchestration et votre administration du cloud. Tous vos actifs cloud et conteneurs sont visibles d'un seul coup d'œil, mais un attaquant qui obtient l'accès à un tableau de bord peut rapidement accéder à l'ensemble de votre environnement. Utilisez l'authentification multi-facteurs et vérifiez les accès. Inventoriez les abonnements et les listes de contrôle d'accès pour vous assurer que chaque actif est correctement sécurisé.
  6. Détectez des anomalies. La plupart des équipes de sécurité envoient les journaux des conteneurs à un serveur centralisé pour analyse, puis alertent en cas d'activité suspecte. En raison de la nature hautement dynamique et éphémère des environnements conteneurisés, cela n’est pas suffisant. L'analyse par machine learning, qui prend en compte un contexte comportemental, est le moyen le plus efficace de détecter les anomalies et doit faire partie des opérations standard de l'équipe de sécurité.

Les applications conteneurisées déployées dans le cloud permettent aux organisations de fournir plus rapidement les services nécessaires à leurs clients. Les technologies qui analysent le comportement en temps réel afin de surveiller et d'alerter sur les mauvaises configurations et autres vulnérabilités dans les infrastructures de conteneurs cloud continuent de progresser. En associant ces technologies à l'analyse des anomalies et aux dernières bonnes pratiques de sécurité, vous obtiendrez les contrôles de détection, de protection et de réponse aux menaces indispensables à la sécurité de ces clouds dynamiques.

Par Philippe Van Hove, VP EMEA South & Central chez Lacework