8 conseils pour sécuriser les conteneurs du code à l’exécution
Sarah Conway
24 août 2022
0 minutes de lectureNous annonçons aujourd’hui un nouveau guide pratique et un rapport sur la sécurité des conteneurs, réalisés en collaboration avec notre partenaire Sysdig.

Dans cet article, nous vous présentons des conseils pour relever les défis de la sécurité des conteneurs en vous appuyant sur trois principes fondamentaux :
Sécuriser dès le départ
Se protéger contre les menaces à l’exécution
Prioriser les alertes de sécurité qui comptent
Les approches de sécurité traditionnelles ne peuvent pas s’adapter à la nature distribuée et éphémère des conteneurs. Une nouvelle approche émerge, axée sur la sécurisation du code, l’analyse à l’exécution et la priorisation des menaces. Voici 8 bonnes pratiques pour mettre en œuvre cette approche moderne de la sécurité des conteneurs :
1. Sécurité du code
Le code source est l’élément sur lequel les développeurs ont le plus de contrôle. La sécurité des applications doit donc commencer à la source. Les outils d’analyse du code source, qui détectent les problèmes dès le début du développement et surveillent le code en continu, constituent un moyen efficace d’y parvenir. En travaillant directement avec les outils utilisés quotidiennement par les développeurs et en intégrant les analyses de sécurité aux workflows existants, ces derniers peuvent automatiser la détection et la correction des problèmes.
2. Sécurité de l’open source
Le code open source comporte des risques de sécurité, car vous dépendez d’autres développeurs pour assurer la maintenance des packages. Pour limiter ces risques, les développeurs doivent pouvoir détecter et corriger les problèmes dans les packages qu’ils utilisent. Les outils d’analyse de la composition logicielle (SCA) les aident à suivre leurs dépendances en signalant les problèmes à partir d’une base de données de vulnérabilités.
3. Sécurité des images
Les conteneurs offrent un moyen standardisé de empaqueter des applications, mais les images de conteneurs peuvent elles-mêmes présenter des vulnérabilités. La sécurité des images nécessite de :
Choisir une image de base fiable et minimale, qui fournit les fonctionnalités nécessaires sans superflu
Analyser automatiquement les images dans le pipeline CI/CD
Surveiller les conteneurs en cours d’exécution pour détecter les nouvelles vulnérabilités ou mises à jour
4. Sécurité à l’exécution
Les conteneurs sont opaques et 44 % d’entre eux vivent moins de cinq minutes ; sécuriser les conteneurs en cours d’exécution peut donc être complexe. Choisissez un outil de sécurité à l’exécution qui :
Surveille les conteneurs de manière légère (par exemple, à l’aide de journaux d’audit)
Fournit des informations et du contexte sur les événements de sécurité
Vous permet d’automatiser les politiques et les actions de réponse
5. Sécurité réseau
Les entreprises adoptent de plus en plus une approche Zero Trust en matière de sécurité réseau, mais les pare-feu classiques ne sont pas adaptés aux environnements cloud natifs dynamiques. La sécurité réseau doit aller au-delà de la couche de communication physique et s’appuyer sur des contrôles natifs tels que les NetworkPolicy Kubernetes. Choisissez des solutions qui vous permettent de :
Cartographier la topologie du réseau
Définir des politiques de référence
Automatiser la génération de nouvelles politiques
6. Sécurité de Kubernetes et du cloud
L’infrastructure as code (IaC) entraîne souvent des erreurs de configuration. Les utilisateurs finaux modifient souvent les configurations pour faciliter certaines tâches, mais ces changements ne sont pas toujours sécurisés. Les configurations par défaut peuvent également ne pas respecter les protocoles de sécurité de l’organisation.
La sécurité de l’IaC consiste à détecter et corriger ces problèmes de configuration le plus tôt possible, souvent à l’aide d’un moteur de politiques tel qu’Open Policy Agent (OPA) pour assurer la gouvernance et la conformité.
7. Priorisation des vulnérabilités à l’aide des signaux d’exécution
Les développeurs peuvent être submergés par le nombre d’alertes de vulnérabilité reçues des équipes de sécurité et d’exploitation. En identifiant les packages logiciels réellement exécutés dans les conteneurs actifs, ils peuvent éliminer immédiatement jusqu’à 95 % des vulnérabilités qu’ils auraient autrement dû examiner.
8. Sécurité du code à l’exécution avec Snyk et Sysdig
Snyk détecte et corrige automatiquement les vulnérabilités dans votre code, vos dépendances open source, vos conteneurs et votre IaC. Conçu pour s’intégrer aux processus et aux outils utilisés chaque jour par les développeurs, Snyk favorise une approche collaborative de la sécurité, évolutive et alignée sur le modèle DevOps itératif, même lorsque les équipes de sécurité restent réduites et stables.
Snyk et Sysdig s’intègrent pour aider les développeurs à sécuriser le code et les conteneurs pendant le développement, à protéger l’environnement Kubernetes à l’exécution et à transmettre aux développeurs les retours et la visibilité issus de la production, en éliminant le bruit lié aux vulnérabilités des conteneurs.
Pour approfondir le sujet, consultez la checklist complète,« Sécurité des conteneurs, du code à l’exécution,» consacrée à la sécurisation des conteneurs dans le pipeline de développement.
La sécurité des conteneurs, pensée pour les développeurs
Snyk détecte et corrige automatiquement les vulnérabilités dans les images de conteneurs et les workloads Kubernetes.


