7 conseils pour sécuriser les conteneurs de la source à l'exécution

Il faut suivre 3 principes our sécuriser les conteneurs : garantir la sécurité dès la phase de développement, se protéger des menaces pendant la phase d'exécution et prioriser les alertes de sécurité.

Les approches traditionnelles de sécurité ne sont pas en mesure de traiter la nature distribuée et éphémère des conteneurs. Heureusement, une nouvelle approche pensée autour des trois principes ci-dessus est en train d’émerger. Voici 7 bonnes pratiques pour la mettre en œuvre.
 

  1.  Sécuriser le code

    La sécurité des applications doit être prise en compte dès le code source par les développeurs car c’est là qu’ils ont le plus de contrôle. Ces derniers peuvent s’appuyer sur les outils d’analyse du code source qui détectent les problèmes dès la phase de développement et assurent une surveillance continue du code. De plus, l’utilisation d’outils que les développeurs utilisent déjà au quotidien ainsi que l’intégration des analyses de sécurité dans les flux de travail existants leur permettent d’automatiser le processus de détection et de résolution des vulnérabilités.
     
  2.  Sécuriser le code en open source

    Le code en open source présente des risques pour la sécurité puisqu’il revient à faire confiance à d'autres développeurs pour maintenir le paquet. Pour limiter cette dépendance, les développeurs doivent identifier et corriger les problèmes dans les paquets qu'ils utilisent. Les outils d'analyse de la composition logicielle (SCA) aident les développeurs à suivre les dépendances et à se référer à une base de données de vulnérabilités pour signaler tout problème.
     
  3. Sécuriser les images

    Les conteneurs offrent un moyen standardisé de packager des applications. Cependant, les images de conteneurs peuvent être source de vulnérabilités si plusieurs bonnes pratiques de cyber-hygiène ne sont pas respectées. Tout d’abord, il faut identifier une image de base fiable qui fournit les fonctionnalités nécessaires sans risque de surcharge. Ensuite, il faut automatiser l’analyse des images dans le pipeline CI/CD et enfin, surveiller les conteneurs en cours d'exécution afin de détecter les vulnérabilités et les mises à jour récentes.
     
  4.  Sécuriser l'exécution

    Les conteneurs offrent un moyen standardisé de packager des applications. Cependant, les images de conteneurs peuvent être source de vulnérabilités si plusieurs bonnes pratiques de cyber-hygiène ne sont pas respectées. Tout d’abord, il faut identifier une image de base fiable qui fournit les fonctionnalités nécessaires sans risque de surcharge. Ensuite, il faut automatiser l’analyse des images dans le pipeline CI/CD et enfin, surveiller les conteneurs en cours d'exécution afin de détecter les vulnérabilités et les mises à jour récentes.
     
  5.  Sécuriser le réseau

    De plus en plus d’entreprises adoptent une approche de la sécurité réseau basée sur la confiance zéro. Cependant, les approches classiques de pare-feu ne sont pas adaptées aux environnements dynamiques et natifs du cloud. La sécurisation du réseau doit aller au-delà de la couche physique de communication et s’appuyer sur des contrôles natifs. Il faut alors intégrer des solutions permettant de cartographier la topologie du réseau, d’établir des politiques de sécurité de base et d’automatiser la mise en place de nouvelles stratégies.
     
  6. Sécuriser le cloud

    L'Infrastructure as Code (IaC) introduit souvent des erreurs de configuration. Les utilisateurs finaux modifient souvent la configuration pour faciliter l'exécution des tâches bien que celles-ci ne soient pas tout le temps sécurisées. De plus, les configurations par défaut sont quelques fois non conformes aux protocoles de sécurité de l’entreprise.

    La sécurité dans l’IaC se focalise sur la détection et la correction des problèmes de configuration le plus tôt possible, en utilisant souvent une solution de mise en place de politique tel que l’Open Policy Agent (OPA) pour la gouvernance et la conformité.
     
  7. Hiérarchiser des vulnérabilités à l'aide de signaux d'exécution

    Les développeurs peuvent être submergés par le nombre d'alertes de vulnérabilité que les équipes de sécurité et d'exploitation leur envoient. En identifiant les packages logiciels qui sont exécutés dans les conteneurs en cours d'exécution, les développeurs éliminent jusqu'à 95 % des vulnérabilités.