Présentation & Installation d’OpenVAS sur Docker

Bonjour à tous, aujourd’hui nous allons voir un des rares scanners de sécurité Open Source, OpenVAS.

Présentation

Lorsque l’on entend parler de scanner de sécurité, les outils les plus souvent utilisés sont Qualys, Nessus, Nexpose… Mais rarement OpenVAS, alors qu’il est l’un des seuls à proposer une solution complète gratuite et Open Source.

Le logiciel OpenVAS (Open Vulnerability Scanner) est un logiciel libre et Open Source proposé sous licence GPL, il est un fork du célèbre logiciel du même type, Nessus.

Le projet OpenVAS est officiellement né en 2005 lorsque Nessus est passé sous licence propriétaire. Le projet était un petit peu abandonné ces dernières années et a récemment été repris avec la sortie d’OpenVAS dans sa version 9. Les développeurs de Nessus participent également à son développement ainsi que l’ensemble de la communauté.

Le logiciel est composé de la façon suivante :

  • Greenbone Security Assistant (GSA), l’interface Web qui permet d’administrer votre scanner.
  • OpenVAS CLI l’outil en ligne de commande qui permet également d’administrer OpenVAS.
  • Greenbone Desktop Security qui permet d’avoir une application de bureau pour l’administration.
  • OpenVAS Manager est l’outil principal du logiciel. Il permet de faire la relation entre les informations données par l’administrateur et les autres composants du logiciel. Gestion des utilisateurs, des scans avec une BDD SQL, etc.
  • OpenVAS Scanner est l’outil qui nous permettra d’évaluer les vulnérabilités sur nos cibles.
  • OpenVAS Administration est un autre outil qui permet d’administrer le logiciel, de créer des utilisateurs, de gérer les mises à jour de la BDD CVE, etc.
  • Scan Targets sont tout simplement les cibles de vos différents scans.

Vous l’imaginez bien, l’installation avec ses multiples composants n’est pas évidente. De plus, le projet n’est pas très bien documenté. Dans un premier temps, je vous conseille quand même de réaliser une installation complète du logiciel, ou même de faire juste un essai pour bien comprendre les différents composants.

Comme indiqué juste au dessus, ce scanner de sécurité nous permettra donc de découvrir de façon automatisée les éventuelles failles de sécurité connue sur nos systèmes. Pour ce faire le logiciel embarque en interne une base CVE, où NVT dans OpenVAS. Il faut donc la mettre à jour régulièrement.

Passons maintenant à l’installation sur Docker.

OpenVAS & Docker

Comme indiqué plus haut, l’installation d’OpenVAS est capricieuse. Personellement, la seule installation que j’ai réussie avec ce logiciel est une installation sous Ubuntu 18.04. Avec Centos ou d’autres distributions j’ai rencontré plusieurs problèmes.

C’est là que Docker, Mike Splain propose une version d’OpenVAS 9 conteneurisée et fonctionnelle. De plus, l’image est très bien conçue et régulièrement mise à jour. L’image est disponible sur son GitHub mais aussi sur Docker Hub :

Si vous voulez plus d’informations sur comment l’image est faite, son Dockerfile est disponible ici. De plus l’utilisation d’une image docker nous permet de lancer l’environnement à la demande, ce qui peut-être très utile lors de tests de sécurité en externe par exemple.

Rapidement, nous pouvons voir que l’image de base utilisée est une Ubuntu:16.04, que l’ensemble des dépendances du logiciel sont installées, que les sources externes sont récupérés et que les ports 443 et 9390 sont exposés.

Personnellement j’utilise Ubuntu 18.04 et Docker dans sa version 18.09.2.

Si vous ne l’avez pas déjà fait je vous invite à installer Docker, sur Ubuntu :

Vérifier ensuite que Docker est bien lancé et éventuellement sa version :

Installation

Nous pouvons maintenant passer au déploiement de notre scanner, dans un premier temps nous allons télécharger l’image sur Docker Hub :

J’utilise la version 9 de l’image qui est la dernière. Une des bonnes pratiques pour une meilleure gestion et vision de vos conteneurs et de ne pas utiliser directement les versions « latest » mais d’indiquer le numéro de version à chaque fois.

Le téléchargement de l’image est un petit peu long car il doit télécharger l’ensemble des composants du logiciel :

Nous pouvons maintenant lancer directement notre conteneur avec la commande suivante :

  • -d pour que le conteneur se lance en fond
  • -p pour exposer les différents ports
  • –name pour définir le nom de l’image

Vous pouvez en suite voir l’évolution de l’installation des services avec la commande suivante :

D’autres options concernant les volumes, l’authentification avec LDAP ou la mise à jour de la base sont directement expliquées sur la page Docker Hub de l’image. Vous avez également la possibilité de le lancer en monde compose avec un reverse proxy Nginx.

Nous avons maintenant notre scanner fonctionnel, vous pouvez l’atteindre sur le port 443 de votre machine, vu que je suis sur la même machine j’utilise localhost. Par défaut, un certificat auto-signé est généré pour l’accès en HTTPS. Pour vous connecter utilisez admin/admin, il est également possible de changer ce paramètre au lancement avec une variable d’environnement.

Vous pouvez maintenant accéder à l’interface d’OpenVAS, qui n’est pas très intuitive je vous l’accorde :

Je vous conseille tout de même de modifier le mot de passe de votre OpenVAS. Vous pouvez maintenant vous rendre dans « Scans » et « Tasks » et de créer votre 1er scan ! Pour ce faire il faut cliquer sur le symbole de baguette magique en haut à droite de la page.

Vous avez maintenant toutes les informations pour déployer votre conteneur OpenVAS dans un environnement docker !

Cette installation n’a pas vocation à être mise en production en l’état, il faudra prendre en compte plusieurs autres choses comme l’utilisation d’un reverse proxy, de volumes, etc. Je vous rappelle également que vous ne pouvez lancer des scans de sécurité que sur les serveurs/réseaux qui vous appartiennent, sinon une autorisation écrite est nécessaire.

J’espère que cet article vous aura plu, si vous avez des questions ou des remarques sur ce que j’ai pu écrire n’hésitez pas à réagir avec moi par mail ou en commentaire !

Merci pour votre lecture et à bientôt !

MRigonnaux


One Reply to “Présentation & Installation d’OpenVAS sur Docker”

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.