Gérer les conteneurs en toute sécurité
Tales Casagrande
22 juin 2022
0 minutes de lectureCe billet a été écrit par Tales Casagrande, un Snyk Ambassador. Les Snyk Ambassadors ont à cœur de partager leur expertise en sécurité. Rejoignez-les dès aujourd’hui en vous inscrivant !
Dans le secteur maritime, le format des conteneurs est défini par la norme ISO 668, qui régit leur empilage en toute sécurité.
Imaginez vos applications réparties dans plusieurs conteneurs, exécutant différentes applications et répondant aux besoins de personnes du monde entier.
Sécuriser les conteneurs logiciels
Les logiciels modernes ne sont pas si différents d’un navire. Nous « empilons » plusieurs microservices dans nos projets, des équipes sont chargées du développement et de la sécurité de l’environnement, et une erreur critique peut tout compromettre. Voyons les conteneurs sous l’angle du développement et de la sécurité.
Faites-vous confiance à l’image que vous déployez en production ? Sa provenance est-elle fiable ?
Effectuez-vous des tests de sécurité pour détecter d’éventuels problèmes ?
Comment hiérarchisez-vous les corrections ?
Votre image de base contient-elle uniquement le strict nécessaire à l’exécution de votre application ?
L’équipe de développement se tient-elle au courant des bonnes pratiques ?
Votre équipe de sécurité vous accompagne-t-elle pendant le développement, ou se contente-t-elle de rejeter la faute sur quelqu’un lorsqu’une vulnérabilité est détectée ?
Si vous ne pouvez pas répondre à toutes ces questions, pas de souci ! Restez avec moi : je vais vous donner quelques conseils.
Commencer votre analyse avec Snyk Container
L’objectif est ici de lever les obstacles entre les équipes de sécurité et de développement en leur fournissant des informations pour hiérarchiser les vulnérabilités des conteneurs selon des critères, plutôt que de générer de volumineux rapports.
Prenons par exemple le dépôt snyk-goof, qui contient une application volontairement vulnérable destinée aux tests (son utilisation en production est déconseillée). Nous allons analyser cette application avec Snyk Container, qui permet d’automatiser facilement et efficacement la correction des vulnérabilités et aide les développeurs à se concentrer sur les problèmes.
Commencez par créer un compte (c’est gratuit !). Si vous en avez déjà un, connectez-vous. Accédez à Projets > Ajouter un projet.


Notez que l’affichage des résultats de l’analyse dans votre nouveau projet importé peut prendre quelques minutes. Snyk peut analyser le code, les bibliothèques et les conteneurs. Aujourd’hui, nous allons nous concentrer sur les conteneurs.

Examinez le Dockerfile. Transporteriez-vous au large un conteneur présentant des problèmes critiques liés à des infrastructures ? Je ne le pense pas ! Posons-nous quelques questions :
Par où commencer ?
Quel est le niveau de priorité de chacun de ces problèmes ?
Pour élaborer votre plan, posez-vous les questions suivantes :
Quelqu’un pourrait-il exploiter ces failles ?
Existe-t-il déjà sur Internet un code malveillant (un exploit connu) permettant d’exploiter cette faille ?
Des personnes parlent-elles de cette faille sur les réseaux sociaux ?
Existe-t-il un correctif ?
Chaque vulnérabilité se voit attribuer un score par le Système de notation des vulnérabilités courantes (CVSS). Ce score repose notamment sur des critères tels que la surface d’attaque, la complexité de l’attaque, l’interaction de l’utilisateur et les privilèges requis.

Snyk Container fournit de nombreuses informations utiles sur chaque vulnérabilité.

Dans cet exemple, nous examinons une image simple, mais imaginez le déploiement à grande échelle. À quoi cela ressemblerait-il ? Nous pouvons établir une base de référence à partir des questions ci-dessus.

Cette image présente les recommandations de mise à niveau de l’image de base de Snyk Code. Ces mises à niveau réduisent les risques et nous évitent de perdre du temps à chercher une autre image de base (ou à tenter de la mettre à niveau).
Réaliser la même analyse avec la CLI Snyk
J’ai effectué mon analyse avec l’interface graphique. Mais les équipes de développement travaillent souvent en ligne de commande ou dans leur IDE. Supprimons donc l’obstacle d’une connexion supplémentaire et réalisons la même analyse avec la CLI Snyk.
Dans la console Snyk, accédez à Intégrations > CLI et suivez les étapes correspondant à votre environnement. Utilisons le même projet : snyk-goof.

Construisons maintenant l’image.

Passons à la partie intéressante ! Démarrons l’analyse avec la CLI.


Les résultats des tests dans la console et dans la CLI diffèrent légèrement, car je les ai effectués à des jours différents. Toutefois, l’analyse avec la CLI Snyk fournit toujours les mêmes recommandations de mise à niveau de l’image de base.
Les avantages d’une analyse fondée sur des métriques
De nouvelles vulnérabilités apparaissent constamment. Nous ne pouvons pas nous arrêter pour corriger chaque problème. Nous devons hiérarchiser les priorités, automatiser et concentrer nos efforts là où l’impact risque d’être le plus grave. Une analyse fondée sur des métriques réduit le bruit entre les équipes et vous aide à trouver rapidement comment gérer vos conteneurs en toute sécurité.
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.
