On considérera que le serveur est déjà équipé de docker et de containers en cours de fonctionnement.
Dans notre cas on regardera le docker fourni par Syspass, un gestionnaire de mot de passe avec interface web, donc un outil critique.
Rien de plus simple, il existe une image présente sur le hub docker: trivy.
docker run aquasec/trivy
Première étape: récuperer le nom de l’image à scanner:
docker image ls --all
Seconde étape: lancer le scan.
Si le scan est exécuté dans une fenêtre type Putty, je recommande d’ajouter « | more » pour pouvoir suivre chaque alerte.
docker run aquasec/trivy syspass/syspass:3.1.2 | more
Maintenant, si l’on souhaite avoir un fichier pour analyse ou sauvegarde de l’audit, la commande trivy ne change pas, seulement il suffit de remplacer le « | more » par :
docker run aquasec/trivy syspass/syspass:3.1.2 > audit_syspass.log
puis de l’ouvrir:
Il est aussi possible d’utiliser des templates en suivant la documentation.
Il est possible de générer un fichier par sévérité.
Les valeurs possibles sont: critical, high, medium et low.
docker run aquasec/trivy --severity CRITICAL syspass/syspass:3.1.2 | more
Il est aussi possible d’effectuer un scan pour rechercher des vulnérabilités soit de l’os soit des librairies.
Dans le cas de l’os:
docker run aquasec/trivy --vuln-type os syspass/syspass:3.1.2 | more
Dans le cas des libraries:
docker run aquasec/trivy --vuln-type library syspass/syspass:3.1.2 | more
Trivy est capable de fonctionner en mode client-serveur.
Le serveur récupère les bases de données d’alertes, ainsi les client n’aurons pas télécharger ces bases et les flux vers internet n’ont pas à être ouvert.
docker run aquasec/trivy server --listen 192.168.1.52:8080
docker run aquasec/trivy server --remote https://192.168.1.52:8080 syspass/syspass:3.1.2
En utilisant l’export vers des fichiers log ou json ainsi que crontab, il devient donc possible de superviser les risques que vous encourez avec Docker.
docker run aquasec/trivy image -f json -o /var/log/scan_syspass.json syspass/syspass:3.1.2
Sans renier les avantages de docker (tels qu’obtenir rapidement des applications opérationnelles, simplifier les montées de versions), il convient tout de même de ne pas le croire 100 % sécurisé.
Même si patcher le serveur hôte est, normalement, acquis pour les administrateurs, il reste encore à faire comprendre qu’il doit en être de même pour les images
Ce qui signifie:
Guide ANSSI:
https://www.ssi.gouv.fr/publication/recommandations-de-securite-relatives-au-deploiement-de-conteneurs-docker
Trivy Adopted by Leading Cloud Native Platforms:
https://www.aquasec.com/news/trivy-vulnerability-scanner-aqua-security-adopted-by-leading-cloud-native-platforms/