L’utilisation des conteneurs continue de croître. Qu'il s'agisse d'applications cloud natives sans serveur ou d'une volonté de moderniser des monolithes, les conteneurs deviennent rapidement la plate-forme préférée pour le déploiement d'applications.
Sysdig a récemment publié son rapport 2019 sur l'utilisation des conteneurs, basé sur les données recueillies auprès des clients de ses services de cloud public et sur site. Les données couvraient plus de deux millions de conteneurs.
Outre la découverte vraiment passionnante (si vous êtes comme moi) selon laquelle 60 % de ces conteneurs exécutent NGINX, Sysdig a découvert des statistiques de sécurité assez troublantes.
Considérez celui-ci : 54 % des conteneurs ont vécu moins de cinq minutes. En 2018, ce n’était le cas que pour 20 % des personnes interrogées.
Pourquoi est-ce troublant ? La sécurité, bien sûr. Si vous essayez de sécuriser l'accès (et vous devriez le faire) et de protéger l'application ou l'API exécutée dans ce conteneur, vous devez vous assurer que vos services de sécurité ajustent constamment les politiques pour correspondre à l'état actuel du cluster. Cela signifie que les politiques doivent s'appliquer aux conteneurs lorsqu'ils sont lancés et supprimer les politiques lorsqu'ils sont mis hors service. Il y a beaucoup de changements en cours, ce qui signifie beaucoup de frais opérationnels. Il est déjà assez difficile d’assurer la sécurité d’une application relativement statique. C’est vraiment difficile de le faire à grande vitesse avec un outil très volatil.
Si cela ne vous dérange pas, essayez cette statistique : même si 60 % des images de conteneurs sont extraites de registres privés (bon travail !), 52 % d'entre elles échouent aux analyses d'images. Cela signifie qu’ils présentaient des vulnérabilités connues d’un niveau de gravité élevé ou supérieur.
Pouah. Je ne peux même pas.
Il s'avère que des tas de personnes exécutent le conteneur en tant que root (médiane par hôte : 21) ou en mode privilégié (médiane par hôte : 4). D'autres n'ont pas de privilèges restreints (médiane 28 par hôte). C'est particulièrement frustrant car Docker (l'environnement d'exécution de conteneur le plus répandu) démarre avec un ensemble restreint de fonctionnalités par défaut. Cela signifie que quelqu'un a volontairement modifié les paramètres de sécurité par défaut. L'exécution sans restrictions peut donner lieu à la possibilité d'augmenter les privilèges ou de sortir du conteneur (permettant l'accès au système).
Nous faisons maintenant une pause pour un rappel sur les bases de la sécurité des conteneurs :
Il est absolument essentiel pour la sécurité des applications (et donc de l’entreprise) que de bonnes pratiques de sécurité des conteneurs soient réellement mises en pratique. Notre prochain rapport 2020 sur l’état des services d’application révèle que les services cloud natifs/microservices représentent en moyenne 15 % du portefeuille d’applications d’une entreprise. Ce pourcentage est observé malgré les résultats qui indiquent de longs retards dans le traitement des nouvelles demandes. Cela signifie que les applications conteneurisées ne vont cesser de croître. Et si nous ne pouvons pas sécuriser un petit pourcentage d’applications, comment pouvons-nous espérer évoluer pour sécuriser un pourcentage significatif d’entre elles ?
Pratiquez la conteneurisation en toute sécurité.
Si vous souhaitez rafraîchir vos connaissances sur les bases de la sécurité des conteneurs, consultez cette série basée sur l'expertise de mon collègue de F5, Jordan Zebor :