Clair : analyse de vulnérabilité¶
Clair est utilisé pour l'analyse statique des vulnérabilités dans les conteneurs d'applications.
Il est entièrement intégré à Quay. Dès qu'une nouvelle image est poussée dans vos registres Docker, Clair va analyser chaque couche de l'image pour trouver d'éventuelles vulnérabilités.
Note
Dans ce tutoriel, remplacez les valeurs suivantes comme suit :
ZONE_NAME
à remplacer par le nom de votre zone d'administration (commence par ocb-).
Source de vulnerabilités¶
Les analyses de Clair s'appuyent sur la base de données Common Vulnerabilities and Exposures (CVE) et des bases de données similaires de Red Hat, Ubuntu, Debian, etc.
Voici l'ensemble des sources de données :
- Debian Security Bug Tracker
- Ubuntu CVE Tracker
- Red Hat Security Data
- Oracle Linux Security Data
- Amazon Linux Security Advisories
- Alpine SecDB
- NIST NVD
Comment fonctionne Clair ?¶
- Toutes les 6 heures, Clair vérifie les sources de données et importe les vulnérabilités nouvellement trouvées dans sa propre base de données.
- Quay utilise l'API Clair pour indexer chaque image et générer une liste des paquets installés. Cette liste est stockée dans la base de données de Clair.
- Quay utilise l'API Clair pour interroger la base de données Clair et mettre en corrélation tout paquet installé (de toute image docker) avec les vulnérabilités trouvées dans les sources de données.
Comme chaque image Docker est systématiquement indexée, Clair n'a pas besoin de la scanner à nouveau lorsque de nouvelles vulnérabilités sont trouvées, il sait déjà quels paquets sont installés dans chacune d'elles, et peut notifier dès qu'une nouvelle vulnérabilité est trouvée.
Analyse de vulnérabilité et résultats¶
Une fois qu'une image est poussée dans le registre, Clair est automatiquement notifié pour l'analyser. L'analyse peut prendre un certain temps en fonction de la taille et du nombre de layers de l'image.
Voici un exemple d'une nouvelle image sur le point d'être analysée :
Dès qu'une image a été scannée, Clair affiche les éventuelles vulnérabilités. S'il n'en trouve pas, le statut "Passed" est affiché.
Voici un exemple d'une image scannée sans vulnérabilité :
Voici un exemple d'une image scannée avec 64 vulnérabilités, dont 12 sont considérées comme "High-level", haut niveau de vulnérabilité.
Si vous cliquez dessus, Clair vous donne plus de détails sur toutes ces vulnérabilités, et la manière dont vous pouvez les corriger.
Pour chaque vulnérabilité trouvée, Clair affiche :
- la CVE (l'identifiant de la faille dans le registre Common Vulnerabilities and Exposures) et sa description
- la sévérité
- le system package vulnérable et la version du package
- quelle version du system package pourrait corriger la vulnérabilité