OpenVAS 21.04 : installer et utiliser un scanner de vulnérabilités avec Docker

Dans ce tutoriel dédié à la sécurité, je vais vous expliquer comment installer OpenVAS avec Docker, qui est un scanner de vulnérabilité.

Avant de commencer, je vais rapidement vous expliquez ce qu’est un scanner de vulnérabilité, c’est un applicatif qui va permettre de scanner votre environnement informatique (serveurs, équipements réseaux, sites …) à la recherche de failles de sécurité, une fois le scan terminé, vous aurez un rapport, avec l’ensemble de faille connus qui sont sur votre réseau et vous pourrez ainsi prendre des mesures pour les corrigés.

OpenVAS également connu sous le nom de Greenbone Security Assistant est un scanner de vulnérabilité open source et gratuit.

Pour ce tutoriel, j’ai fait choisie d’utiliser Docker pour faire fonctionner OpenVAS, car cela permet de l’installer facilement et rapidement.

Prérequis

Vous devez avoir une machine sous Linux (pour ma part Ubuntu) avec Docker d’installé et docker-compose.

Vous trouverez ici un tutoriel sur l’installation de Docker : https://rdr-it.io/docker-installation-et-utilisation-concrete-sur-ubuntu/installation-de-docker-sur-ubuntu/

Si vous utilisez Ubuntu, voici un script pour l’installation de Docker et Docker Compose :

J’ai l’habitude de stocker mes conteneurs dans le dossier à l’emplacement /containers/<stack-name>. pour cela je vais créer un dossier openvas dans mon dossier containers.

sudo mkdir openvas

Déploiement des conteneurs pour OpenVas

Vous trouverez la documentation officiel ici : https://greenbone.github.io/docs/latest/21.04/container/

On va commencer pas créer le fichier docker-compose.yml et ensuite l’ouvrir avec nano :

sudo touch docker-compose.yml
sudo nano docker-compose.yml

Copier le contenu du fichier docker-compose.yml qui se trouve ici : https://git.rdr-it.io/docker/OpenVAS/-/blob/main/docker-compose.yml

Enregistrer et fermer le fichier docker-compose.yml

Comment vous pourrez le voir dans les différentes commandes, j’ai laissé le project name (-p) au niveau des commandes docker-compose.

Télécharger les différentes images :

sudo docker-compose -p greenbone-community-edition pull

Une fois les images téléchargés, démarrer les :

sudo docker-compose -p greenbone-community-edition up -d

Vous pouvez vérifier que les conteneurs sont bien démarrés avec la commande :

sudo docker ps

OpenVas est déployé mais pas encore fonctionnel.

Synchronisation des tests de vulnérabilités et des données de vulnérabilités

Ca va être la partie plus longue, l’injection des données de vulnérabilités et les tests, pour le moment OpenVAS ne contient aucune données.

Pour cette partie, il faut prévoir 1 à 2 heures.

On va commencer par injecter les différents tests de vulnérabilité, pour cela entrer la commande :

sudo docker-compose -p greenbone-community-edition exec -u ospd-openvas ospd-openvas greenbone-nvt-sync

Patienter pendant le téléchargement des fichiers …

Les données sont téléchargées comme on peut le voir sur la capture ci-dessous :

Il faut maintenant patienter pour passer à la suite, car celle-ci sont en cours d’injection dans la base de données, le seul moyen que j’ai trouvé pour vérifier l’avancement, c’est de vérifier la charge CPU avec la commande htop.

Quand la charge du serveur est de nouveau faible, on peut considérer que l’injection des données en base est terminée.

Synchronisation des données SCAP, CERT et GVMD

Maintenant, on va passer à la synchronisation des données SCAP, CERT et GVMD, le procédure est identique pour la synchronisation des tests, après le téléchargement, patienter pendant l’injection dans la base de données.

SCAP :

sudo docker-compose -p greenbone-community-edition exec -u gvmd gvmd greenbone-feed-sync --type SCAP

CERT :

sudo docker-compose -p greenbone-community-edition exec -u gvmd gvmd greenbone-feed-sync --type CERT

GVMD :

sudo docker-compose -p greenbone-community-edition exec -u gvmd gvmd greenbone-feed-sync --type GVMD_DATA

Le scanner de vulnérabilité est prêt à être utilser.

Utiliser le scanner de vulnérabilités – Greenbone – OpenVAS

OpenVAS s’utilise à l’aide d’un navigateur Internet, depuis un navigateur Internet, entrer l’ip ou l’url du serveur sur le port 9392 : http://ip:9392

Les identifiants par défaut sont admin / admin.

Après la connexion, on est redirigé vers tableau de bortd (Dashboard) qui contient différente information sur les scan, vide pour le moment et une chronologie du nombre de CVE découverte dans le temps.

Maintenant, on va voir comment lancer un scan pour voir si des vulnérabilités sont présentes.

Depuis le menu de navigation, passer le curseur sur Scans 1 et cliquer sur Tasks 2.

Sur la nouvelle page, passer le curseur sur la baguette « magique » 1 et cliquer sur Task Wizard 2.

Entrer une adresse, une plage IP ou CIDR 1 de ce que vous souhaitez scanner puis cliquer sur Start Scan 2.

La tâche de scan a été ajoutée, celle-ci est normalement dans la liste, elle va passer par plusieurs status : Requests -> Queue -> Running.

Il est possible d’avoir des informations sur la tâche et les découvertes en cours de plusieurs, cliquer le numéro dans la colonne Reports 1.

Puis cliquer sur la date du rapport 1.
On arrive sur la page du rapport, pour le moment on peut voir que celui-ci est en cours, le rapport est alimenté au fur et à mesure du scan.

Patienter pendant la durée du scan, qui va dépendre du nombre d’IP.

Une fois le scan terminée, dans les rapports, on a un score de criticité qui s’affiche, qui correspond souvent à celui de la faille la dangereuse trouvée.

Cliquer de nouveau sur la date rapport pour accéder à celui-ci.

Une fois sur le rapport, cliquer sur Results 1 pour afficher la liste des vulnérabilité découverte.

Pendant le scan, OpenVAS va aussi créer un inventaire en créant un hôte et en collectant des informations comme la version du système d’exploitation.

Dans la partie CVEs, on retrouve les vulnérabilités détectées.

En cliquant sur la CVE, vous aurez plus d’information dessus et notamment les mesures à prendre.

Dans la partie Closed CVE, on retrouve les vulnérabilités connues qui sont corrigées.

Vous avez maintenant toutes les informations nécessaires afin de pouvoir commencer à utiliser OpenVAS pour trouver les vulnérabilités sur votre système d’information.

Conclusion

Au vue du nombre de CVE qui sont découvertes régulièrement, l’utilisation d’un scanner de vulnérabilités facilite beaucoup la recherche des éléments pouvant être impactés par des failles.

Le fait de pouvoir scanner des plages, cela permet de découvrir des éléments vulnérables que l’on peut avoir « oublier ».


Solutions alternatives pour le déploiement

Depuis la réalisation de ce tutoriel, OpenVAS a été mise à jour et j’ai eu pas mal de soucis pour refaire une installation, j’ai trouve une alternative toujours avec des conteneurs Docker, qui est plus simple : https://github.com/isaudits/docker-gvm

Vous pouvez aussi utiliser la solution ici : https://git.rdr-it.io/docker/openvas-securecompliance




Laisser un commentaire