La sécurité des conteneurs est cruciale pour toute infrastructure modernisée. Trivy est un scanner de vulnérabilités Open Source qui analyse les images Docker, les manifestes Kubernetes et plus encore, pour détecter les failles de sécurité et proposer des correctifs.
Prérequis
- Docker installé (version ≥20.10)
- Kubectl configuré pour votre cluster Kubernetes
- CI/CD (GitLab CI, GitHub Actions, Jenkins…)
Installation de Trivy
sudo apt update && sudo apt install trivy -y
Scan d’une image Docker
trivy image myapp:latest
- Résumé des vulnérabilités par sévérité (CRITICAL, HIGH, MEDIUM, LOW)
- Détails et CVE associés
Intégration CI/CD
Exemple avec GitLab CI
stages:
- scan
trivy_scan:
stage: scan
image: aquasec/trivy:latest
script:
- trivy image --exit-code 1 --severity CRITICAL,HIGH myapp:latest
Exemple avec GitHub Actions
name: trivy-scan
on: [push]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run Trivy scan
uses: aquasec/trivy-action@v0.2.0
with:
image-ref: 'myapp:latest'
severity: 'CRITICAL,HIGH'
Scan de manifestes Kubernetes
trivy k8s --ignore-unfixed --skip-dirs deploy/ --format table
- Analyse des images référencées dans les YAML
- Détection des vulnérabilités et des risques de configuration
Automatisation et reporting
- Slack notifications via Webhook
- Génération de rapports HTML/JSON
- Gatekeeping : refus des builds en cas de vulnérabilités critiques
Bonnes pratiques
- Mettre à jour fréquemment la base de données de vulnérabilités (
trivy --download-db-only
) - Scanner à chaque build et deployment
- Surveiller les nouvelles CVE et corriger rapidement
- Utiliser des policies avec OPA/Gatekeeper pour renforcer la sécurité
Avantages
- Simple à installer et à utiliser
- Supporte Docker, Kubernetes, fichiers système, Git, etc.
- Rapide et léger
- Communauté active et mises à jour régulières
Limites
- Dépendance à la base de vulnérabilités de GitHub
- Faux positifs possibles
- Pas de remédiation automatique (nécessite scripts ou outils complémentaires)
Conclusion
Intégrer Trivy dans votre pipeline DevSecOps vous permet de détecter rapidement les vulnérabilités, de renforcer la sécurité de vos conteneurs et de réduire les risques avant déploiement en production.