Skip to main content
Sécurité du cloud

Qu’est-ce que GitLab Container Scanning ?

Renforcez la sécurité et la conformité de votre entreprise avec GitLab Container Scanning. Détectez les vulnérabilités et les malwares dans vos images de conteneurs avant leur déploiement. Automatisez l’analyse, réduisez les risques et sécurisez votre chaîne d’approvisionnement logiciel.

Par SentinelOne
Qu’est-ce que GitLab Container Scanning ?

GitLab Container Scanning est un outil essentiel pour préserver la sécurité et l’intégrité des applications conteneurisées. À mesure que les organisations adoptent la conteneurisation pour déployer leurs logiciels, il devient encore plus important de connaître et d’utiliser cette technique.

Cet article présente en détail GitLab Container Scanning, son fonctionnement, les formats de conteneurs pris en charge et la manière dont les bonnes pratiques et les exemples concrets facilitent sa mise en place dans vos projets. Ce guide met en avant les bonnes pratiques pour vous aider à sécuriser le développement sans perturber vos workflows.

GitLab Container Scanning - Featured Image | SentinelOne

Comprendre GitLab Container Scanning

Comprendre GitLab Container Scanning est essentiel pour sécuriser les applications conteneurisées avec GitLab ou d’autres plateformes de conteneurisation comme Docker. GitLab Container Scanning vérifie chaque composant de votre logiciel à la recherche de vulnérabilités exploitables par des attaquants. C’est l’équivalent d’une analyse antivirus des éléments qui le composent.

L’analyse examine les logiciels contenus dans les conteneurs pour détecter les problèmes et les risques potentiels. Cette étape est cruciale dans le développement logiciel moderne. Les conteneurs réunissent souvent des composants de diverses sources, qui doivent tous respecter les normes de sécurité pour préserver l’intégrité de votre application.

GitLab Container Scanning apporte une protection essentielle aux applications conteneurisées. La détection précoce des vulnérabilités contribue à maintenir des systèmes sécurisés et rassure les développeurs comme les autres parties prenantes.

Comment fonctionne GitLab Container Scanning ?

GitLab Container Scanning détecte automatiquement les vulnérabilités dans les images de conteneurs et facilite leur correction rapide et fiable. Voici comment il fonctionne :

GitLab Container Scanning s’intègre facilement au pipeline CI/CD. L’analyse fait ainsi partie intégrante de chaque compilation et de chaque envoi de code, au lieu d’être une opération isolée. Les contrôles de sécurité accompagnent le développement en continu, plutôt que d’être effectués une seule fois.

Utilisation des bases de données de vulnérabilités

L’outil compare les composants aux bases de données de vulnérabilités connues. Il détecte ainsi les failles répertoriées dans les paquets logiciels et les bibliothèques utilisés au sein des conteneurs, ce qui facilite l’identification des menaces connues.

Génération d’un rapport

À la fin de l’analyse, GitLab Container Scanning génère un rapport détaillé. Il présente les vulnérabilités détectées, leur niveau de gravité et, si nécessaire, les corrections ou les mesures d’atténuation recommandées.

Automatisation des réponses

Selon sa configuration, GitLab Container Scanning déclenche des réponses automatiques. Il peut notamment créer des tickets à traiter par les équipes de développement ou même interrompre le pipeline CI/CD si des vulnérabilités critiques sont détectées, afin qu’aucun code non sécurisé n’atteigne la production.

Correction et surveillance continue

Notre outil de surveillance continue accompagne les corrections en analysant chaque mise à jour des conteneurs. Il recherche automatiquement les vulnérabilités susceptibles d’apparaître lors des modifications et maintient la protection face aux nouvelles vulnérabilités.

Callout Background Image Gradient

Guide du marché du CNAPP

Obtenez des informations clés sur l'état du marché CNAPP dans ce Gartner Market Guide for Cloud-Native Application Protection Platforms.

Formats de conteneurs pris en charge par GitLab

La prise en charge des formats de conteneurs par GitLab Container Scanning concerne leur structure et l’organisation de leurs données. Les outils d’analyse Trivy et Grype prennent en charge de nombreuses distributions Linux pour détecter rapidement les vulnérabilités dans différents environnements.

Outils d’analyse open source :

  • Trivy (analyseur open source de vulnérabilités pour les conteneurs et les systèmes d’exploitation) : Trivy est un outil reconnu, conçu pour analyser les conteneurs et les systèmes d’exploitation. Léger et complet, il détecte les vulnérabilités dans de nombreuses distributions Linux.
  • Grype : Grype fournit des données précises sur les vulnérabilités des images de conteneurs. Cet outil d’analyse complète Trivy en examinant les menaces de sécurité et en fournissant des données précises et exploitables sur les vulnérabilités.

Distributions Linux prises en charge

Il est important de distinguer les formats de conteneurs des distributions. Les conteneurs stockent des données, tandis que les distributions sont différentes variantes du système d’exploitation Linux prises en charge par les outils Trivy et Grype de GitLab. Voici un aperçu des nombreuses distributions prises en charge :

  • Alma Linux : analysé avec Trivy
  • Alpine Linux : pris en charge par Grype et Trivy
  • Amazon Linux : pris en charge par Grype et Trivy
  • BusyBox : analysé par Grype
  • CentOS : pris en charge par Grype et Trivy
  • CBL-Mariner : analysé avec Trivy
  • Debian : pris en charge par Grype et Trivy
  • Distroless : pris en charge par Grype et Trivy
  • Oracle Linux : pris en charge par Grype et Trivy
  • Photon OS : analysé par Trivy
  • Red Hat (RHEL) : pris en charge par Grype et Trivy
  • Rocky Linux : analysé avec Trivy
  • SUSE : analysé par Trivy
  • Ubuntu : pris en charge par Grype et Trivy

L’importance d’une large prise en charge des distributions

Chez GitLab Container Scanning, nous savons que la prise en charge d’un large éventail de distributions devient de plus en plus essentielle à mesure que les applications conteneurisées gagnent en popularité auprès des développeurs, qui choisissent souvent leur distribution Linux selon les performances, la sécurité, la compatibilité ou leurs préférences personnelles. En prenant en charge plusieurs distributions simultanément, GitLab Container Scanning garantit que les développeurs peuvent continuer à sécuriser leurs applications, quel que soit l’environnement choisi – renforçant ainsi notre engagement à offrir une sécurité complète aux charges de travail conteneurisées.

Comment configurer GitLab pour l’analyse des conteneurs ?

Configurer GitLab pour l’analyse des conteneurs est simple et rapide. Vous pouvez ainsi détecter automatiquement les vulnérabilités de vos applications conteneurisées. Voici les principales étapes :

1. Activer l’analyse des conteneurs avec une demande de fusion automatique

GitLab 14.9 simplifie l’activation de l’analyse des conteneurs grâce à une demande de fusion automatique. Voici comment procéder :

  • Accédez au projet souhaité.
  • Accédez à Sécurité > Configuration de la sécurité.
  • Sur la ligne Analyse des conteneurs, sélectionnez Configurer avec une demande de fusion.

Une fois cette option activée, GitLab crée automatiquement une demande de fusion contenant les modifications nécessaires à l’analyse des conteneurs. Vérifiez-la, puis fusionnez-la pour terminer la configuration.

2. Configuration avec le fichier .gitlab-ci.yml :

Pour configurer manuellement l’analyse des conteneurs, ajoutez le modèle correspondant à votre fichier .gitlab-ci.yml :

include:   - template: Security/Container-Scanning.gitlab-ci.yml

Ce modèle ajoute une tâche container_scanning à votre pipeline CI/CD. Elle recherche les vulnérabilités dans les images Docker et enregistre les résultats sous forme d’artefact de rapport d’analyse des conteneurs.

Voici un exemple de fichier .gitlab-ci.yml qui crée et analyse des images Docker.

include:   - template: Jobs/Build.gitlab-ci.yml   - template: Security/Container-Scanning.gitlab-ci.yml container_scanning:   variables:     CS_DEFAULT_BRANCH_IMAGE: $CI_REGISTRY_IMAGE/$CI_DEFAULT_BRANCH:$CI_COMMIT_SHA

3. Personnaliser les paramètres d’analyse des conteneurs

GitLab vous donne la possibilité d’adapter l’analyse des conteneurs à vos besoins : enrichir les journaux, vous authentifier auprès d’un registre précis ou obtenir des résultats plus détaillés.

Pour obtenir des journaux détaillés, par exemple, modifiez votre fichier .gitlab-ci.yml comme suit :

include:   - template: Security/Container-Scanning.gitlab-ci.yml variables:     SECURE_LOG_LEVEL: 'debug'

4. Analyser une image dans un registre distant :

Vous pouvez également analyser des images situées dans un registre autre que celui du projet avec la configuration suivante :

include:   - template: Security/Container-Scanning.gitlab-ci.yml container_scanning:   variables:     CS_IMAGE: example.com/user/image:tag

La configuration de GitLab Container Scanning est intuitive, qu’elle passe par une demande de fusion automatique ou par une configuration manuelle. Grâce à ses outils d’analyse, GitLab intègre les contrôles de sécurité au workflow des développeurs et joue un rôle essentiel dans le développement logiciel moderne et sécurisé.

Bonnes pratiques pour GitLab Container Scanning

1. Mettre régulièrement à jour les outils d’analyse

Maintenez les outils d’analyse comme Trivy et Grype à jour. Ils détecteront ainsi les nouvelles vulnérabilités dès leur apparition et resteront compatibles avec les évolutions des distributions prises en charge. Des mises à jour régulières sont indispensables.

2. Intégrer l’analyse dès le début du développement

Plus tôt vous intégrez l’analyse des conteneurs au cycle de développement, plus tôt vous identifiez et corrigez les vulnérabilités. En intégrant GitLab Container Scanning à votre pipeline d’intégration continue (CI), vous lancez automatiquement une analyse à chaque envoi de code – l’analyse fait ainsi partie de votre workflow de développement et accélère l’identification et la correction des vulnérabilités.

3. Adapter les analyses à vos besoins

Tous les projets n’ont pas besoin des mêmes analyses. Adaptez le niveau de détail, les registres ciblés ou les variables aux exigences de votre projet – vous gagnerez en rapidité et en efficacité. Utilisez les options de personnalisation du fichier .gitlab-ci.yml pour ajuster précisément vos analyses.

4. Examiner régulièrement les rapports d’analyse et agir

Lancer des analyses ne suffit pas – vous devez aussi examiner les résultats et agir rapidement. L’examen régulier des artefacts de rapport d’analyse des conteneurs, associé à une remédiation systématique, accélère l’identification et le traitement des vulnérabilités. Intégrez le workflow de remédiation à vos processus de développement existants pour faciliter cette tâche essentielle.

Workflow de remédiation avec GitLab Container Scanning

Le workflow de remédiation de GitLab Container Scanning comprend plusieurs étapes pour identifier les vulnérabilités des images de conteneurs et les corriger efficacement et méthodiquement. Voici à quoi ressemble un workflow type :

  1. Identifier les vulnérabilités : GitLab propose l’analyse des conteneurs et des contrôles de sécurité avec Trivy ou Grype. Une fois les vulnérabilités détectées, cette étape produit un rapport détaillé qui les répertorie toutes.
  2. Analyser les résultats : Examinez en détail les rapports d’analyse des conteneurs pour déterminer la gravité, le type et l’origine des vulnérabilités. Repérez celles qui exigent une intervention immédiate afin de les traiter en priorité.
  3. Prioriser la remédiation : Classez les problèmes par priorité selon cette évaluation. Traitez d’abord les vulnérabilités qui menacent directement les applications, en tenant également compte de leur impact et de leur facilité d’exploitation.
  4. Établir un plan de remédiation : Après avoir classé les vulnérabilités par priorité, définissez un plan pour traiter chacune d’elles. Ce plan précise les mesures nécessaires pour les atténuer, comme l’installation de mises à jour, la modification de paramètres ou la modification directe du code.
  5. Appliquer les correctifs : Appliquez les mesures prévues au moyen de demandes de fusion GitLab qui modifient le code, la configuration ou les dépendances concernés. La collaboration entre développeurs, équipes de sécurité et autres parties prenantes est souvent essentielle à la réussite de cette étape.
  6. Tester les correctifs : Après l’application des correctifs, effectuez des vérifications supplémentaires. Assurez-vous qu’ils éliminent les vulnérabilités sans créer de nouveaux problèmes. Une nouvelle analyse des images de conteneurs ou d’autres tests peuvent confirmer l’efficacité de la remédiation et détecter d’éventuelles failles de sécurité.
  7. Surveiller et améliorer en continu: Les workflows de remédiation ne se mettent pas en place du jour au lendemain; la surveillance, l’analyse et la révision continues assurent leur efficacité dans la durée. Une approche itérative garantit leur viabilité à long terme.

Exemples concrets et cas d’usage

1. Banque

La sécurité des applications bancaires est primordiale. Les méthodes traditionnelles ne détectent pas toujours les vulnérabilités à temps. L’intégration de GitLab Container Scanning au pipeline CI/CD des applications bancaires rend possibles l’analyse et la remédiation en temps réel. Elle renforce la sécurité tout en favorisant la confiance et la conformité dans le secteur.

2. Santé

Les systèmes de santé traitent des données sensibles soumises à des exigences réglementaires strictes. Pourtant, les vérifications manuelles sont souvent fastidieuses et sources d’erreurs. En utilisant GitLab Container Scanning pour les évaluations des vulnérabilités et dans leurs processus de reporting continu sur la conformité, les établissements de santé renforcent leur protection contre les intrusions et simplifient considérablement le reporting.

3. Start-up technologiques

Les start-up technologiques peinent souvent à concilier développement rapide et respect des normes de sécurité. GitLab Container Scanning rapproche ces deux impératifs; l’analyse continue des vulnérabilités des applications conteneurisées accélère les cycles de développement sans compromettre la sécurité – les start-up conservent ainsi l’agilité nécessaire pour innover et une posture de sécurité solide.

Callout Background Image Gradient

Voir SentinelOne en action

Découvrez comment la sécurité du cloud alimentée par l'IA peut protéger votre organisation lors d'une démonstration individuelle avec un expert produit de SentinelOne.

Conclusion

GitLab Container Scanning est devenu un outil précieux du développement moderne. Il détecte rapidement et de manière fiable les vulnérabilités des applications conteneurisées. Son intégration aux pipelines de développement donne aux organisations une visibilité précoce sur les vulnérabilités. Elles intègrent ainsi la sécurité dès le développement, réduisent les risques et renforcent leur posture de sécurité globale.

GitLab Container Scanning fait partie intégrante d’une stratégie DevSecOps efficace et favorise l’amélioration continue de la sécurité. Qu’il s’agisse de respecter les réglementations, de protéger les données clients ou de maintenir des cycles de développement agiles, cet outil place la sécurité au cœur de l’innovation et répond à des besoins variés, quels que soient les secteurs et les cas d’usage.

"

FAQ sur GitLab Container Scanning

GitLab Container Scanning recherche les vulnérabilités dans vos images de conteneurs pendant le processus CI/CD. Il utilise des scanners comme Trivy pour examiner chaque couche, des packages du système d’exploitation de base aux dépendances de l’application, avant la mise en production des images. Pour l’activer, ajoutez le modèle CI Container-Scanning de GitLab ou créez une merge request en un clic.

Les résultats apparaissent sous forme d’artefacts JSON et dans l’onglet Security de votre pipeline. Ils signalent les CVE à risque et les versions de système d’exploitation qui ne sont plus prises en charge.

Il détecte les CVE connues dans votre image de base et vos packages système. Si cette option est activée, il repère aussi les failles des bibliothèques propres à certains langages, comme les packages Java ou Python. Il signale également les systèmes d’exploitation en fin de vie qui ne reçoivent plus de mises à jour de sécurité. Le scanner Trivy s’appuie sur des sources telles que NVD, les bases de suivi de sécurité des distributions et la base d’avis de sécurité de GitLab pour identifier et classer les vulnérabilités selon leur score CVSS et leur exploitabilité.

Ajoutez le modèle intégré de GitLab à votre fichier .gitlab-ci.yml.

include:

  - template: Jobs/Container-Scanning.gitlab-ci.yml

Vous pouvez aussi accéder à Secure > Security configuration dans votre projet, cliquer sur Configure with a merge request, puis fusionner la demande. Les tâches nécessaires sont alors ajoutées à votre pipeline. Aucun script supplémentaire n’est nécessaire si vous créez déjà votre image Docker et la publiez dans le registre du projet

Une fois le pipeline exécuté, ouvrez Build > Pipelines, choisissez une exécution, puis sélectionnez l’onglet Security. Vous y trouverez la gravité de chaque vulnérabilité, son score CVSS, sa probabilité d’exploitation (EPSS) et les recommandations de remédiation. Le rapport d’analyse brut (gl-container-scanning-report.json) et une SBOM CycloneDX (gl-sbom-report.cdx.json) sont disponibles sous Job Artifacts.

Avec l’offre Ultimate, les résultats apparaissent également dans les merge requests et dans un rapport consolidé des vulnérabilités sur la branche par défaut.

Oui. Chaque fiche de vulnérabilité comprend une description du problème, de son impact et des mesures de remédiation recommandées, comme la mise à jour de packages ou la modification de la configuration. Avec l’offre Ultimate, GitLab peut même générer des correctifs automatiques sous forme de merge requests qui mettent à jour votre Dockerfile ou votre manifeste de packages vers des versions corrigées.

Créez un fichier vulnerability-allowlist.yml à la racine de votre dépôt. Répertoriez les identifiants CVE dont vous avez confirmé qu’ils correspondent à des faux positifs, pour toutes les images ou pour des images précises. GitLab exclut ensuite ces CVE des futurs rapports d’analyse et les marque comme « Approved » dans le journal des tâches. L’onglet Security reste ainsi centré sur les risques réels, sans masquer les problèmes avérés.

En savoir plus sur Sécurité du cloud

Decorative background gradient

Votre sécurité cloud—entièrement évaluée en 30 minutes.

Rencontrez un expert SentinelOne pour évaluer votre posture de sécurité cloud dans des environnements multi-cloud, découvrir les actifs cloud, les mauvaises configurations, l’analyse des secrets, et prioriser les risques avec Verified Exploit Paths™.
Dark dashboard UI with purple-highlighted nav, summary cards showing 149, 7, 78, 56, 1.2 h, and a status table with linked purple text