Site icon RDR-IT

Greenbone : déploiement en conteneur d’un scanner de vulnérabilité

Dans ce tutoriel, je vais vous expliquer comment déployer Greenbone (ex OpenVAS) en conteneur avec Docker.

Greenbone est une suite de plusieurs composant (Interface Web, Vulnerability Manager et Scanner) qui va vous permettre de mettre en place des scans de vulnérabilité sur votre infrastructure de façon plus ou moins automatique.

Avec Greenbone vous aurez un aperçu de l’état de vulnérabilité de vos serveurs, pour chaque vulnérabilité trouver, vous aurez des liens vers des documents pour les corrigés.

J’utilise régulièrement cet outils afin d’avoir une vue d’ensemble et cela m’a permit de corriger pas mal de vulnérabilité, surtout quand il y a seulement une mise à jour logiciel à faire.

Pour commencer, vous aurez besoin d’un serveur Linux avec Docker. Concernant les prérequis logiciels, cela dépendre du nombre de scan que vous allez faire et de la taille de votre environnement, pour commencer 2CPU et 4 Go Ram est un bon départ.

Sur le serveur, créer un dossier pour mettre le fichier docker-compose.yml de Greenbone.

sudo mkdir /containers/greenbone/

Aller dans le dossier créé puis créer le dossier docker-compose.yml et coller le contenu ci-après :

sudo nano docker-compose.yml

Le contenu du fichier :

Télécharger les images :

sudo docker compose pull

Démarrer les conteneurs :

sudo docker compose up -d

Vérifier dans les logs qu’il n’y ait pas de problèmes :

sudo docker compose logs -f

Le premier démarrage des conteneurs Greenbone prend du temps, car il va construire la base de données et mettre à jour toutes les vulnérabilités, ce qui peut prendre 1 heure.

Pour accéder à Greenbone, ouvrir un navigateur Internet et aller à l’adresse suivante : http://ip-docker-server:9392

Les identifiants par défaut sont admin / admin

A la connexion, on arrive sur un tableau de bord :

Si le graphique temporel des CVE et le camembert NVTs n’est pas chargé, c’est que l’initialisation des données n’est pas encore fini.

Pour lancer un scan d’un ordinateur, Aller sur Scans 1, cliquer sur la baguette 2 puis sur Task Wizard 3.

Entrer l’adresse IP de l’ordinateur 1 à scanner et cliquer sur Scan 2.

Le scan est ajouté :

Il est possible de renommer le scan, cliquer sur l’icone d’édition 1.

Nommer la tâche 1 (souvent je donne le nom du serveur) et cliquer sur Save 2.

La tâche est renommé et en cours …

Patienter pendant le scan, la durée peut varier en fonction du nombre d’élément qui vont être découvert et donc du test des différentes vulnérabilité possible.

Pour accéder au rapport, cliquer sur la date du denier rapport 1.

Aller sur l’onglet Results pour avoir la liste des vulnérabilités trouvées.

En cliquant sur la première vulnérabilité, le détail s’affiche en dessous et je peux voir que pour corriger cette faille, je dois mettre à jour Tomcat.

Pour mettre à jour les vulnérabilités deux solutions :

Solution 1 :

docker compose pull notus-data vulnerability-tests scap-data dfn-cert-data cert-bund-data report-formats data-objects
docker compose greenbone-community-edition up -d notus-data vulnerability-tests scap-data dfn-cert-data cert-bund-data report-formats data-objects

Solution 2 :

docker compose run --rm greenbone-feed-sync greenbone-feed-sync --type nasl
docker compose run --rm greenbone-feed-sync greenbone-feed-sync --type notus
docker compose run --rm greenbone-feed-sync greenbone-feed-sync --type scap
docker compose run --rm greenbone-feed-sync greenbone-feed-sync --type cert
docker compose run --rm greenbone-feed-sync greenbone-feed-sync --type gvmd-data

La mise à jour peut également prendre du temps.

Avertissement

Penser à changer le mot de passe par défaut dans les paramètres de l’utilisateur, il sera dommage de donner à un pirate l’accès à la liste des vulnérabilités de votre système.


Vous savez comment mettre en place un scanner de vulnérabilité avec Docker.

N’hésiter à user et à en abuser pour augmenter détecter les failles sur votre SI.

Personnellement, il m’a permis de voir des services que je ne sais pas qu’il était présent et de plus vulnérable, ce qui m’a permit de les corriger.

Quitter la version mobile