Installation et prise en main d’OpenVAS, le fork de Nessus
Date: 16/01/2013 | Catégories: Open-source,Planet-libre,Reseau,Systeme | Tags: audit,nessus,openvas,outil,securité
Depuis sa version 3, Nessus, le logiciel phare dans le petit monde des scanners de vulnérabilités des systèmes d'information est passé sous licence propriétaire. Comme c'est souvent ce genre de cas un fork de sa version 2 (qui était sous licence GPL) a rapidement vu le jour: OpenVAS. Nous allons dans ce billet en détailler l'installation et la première utilisation.
Scanner de vulnérabilités ? Kezako ?
Tout comme Nessus, OpenVAS est donc un scanner de vulnérabilités. On pourrait aussi l'appeler un logiciel d'aide aux audits de sécurités. Il se présente sous la forme d'un client / serveur.
Le client permettant de définir le périmètre (plage d'adresse, type de machine) et les paramètres de l'audit (audit externe ou interne). Il se décline en CLI (ligne de commande), GUI (interface graphique) et API (Python notamment). Il est disponible sous GNU/Linux et Windows.
Le serveur effectuant le scan des différentes vulnérabilités (appelés NVT pour "Network Vulnerability Test") disponibles dans sa base (plus de 25.000 NVTs à l'heure de rédaction de ce billet). Le serveur existe uniquement sous GNU/Linux.
Installation du serveur OpenVAS
Pour mes tests, je dispose d'une machine sous Ubuntu 12.04 LTS. La procédure suivante est donc donnée à titre indicatif pour ce système d'exploitation.
On commence par installer le package OpenVAS Serveur disponible dans les dépôts d'Ubuntu:
sudo apt-get install openvas-server
On doit ensuite créer un couple login/password pour limiter l'accès au serveur:
sudo openvas-adduser sudo service openvas-server restart
Il est possible que le premier lancement du serveur prenne un peu de temps car il charge l'ensemble des NVTs.
Installation du client OpenVAS
Il est possible d'installer le client sur n'importe quelle machine du réseau ou bien directement sur le serveur (c'est ce que j'ai fait pour mes tests).
On installe les packages:
sudo apt-get install openvas-client htmldoc
Note: le module htmldoc sert uniquement pour l'export au format HTML des rapports.
Première utilisation d'OpenVAS
Le client graphique OpenVAS se nomme openvas-client, il faut donc le lancer via un terminal ou votre launcher Unity/Gnome. Au premier lancement, il faut commencer par se connecter au serveur via le menu Fichier > Connecter. On doit saisir le login/password.
Pour créer son premier audit de sécurité, le plus simple est de passer par le wizard disponible via le menu Fichier > Scan assistant.
Il est alors possible de choisir le contexte de l'audit (description) et la cible (une machine, un réseau...).
Le lancement de l'audit se fera automatiquement. Le temps d’exécution dépend du nombre de machines, de la rapidité de votre réseau et du nombre de services à tester sur vos cibles.
A la fin, un rapport est généré et accessible en archive:
Il est bien sur possible d'exporter le rapport (format XML, HTML, PDF...) via le menu Rapport > Exporter.
Si l'interface de GUI est pratique pour des audits "one shot", il peut être également utile de regarder du cité de l'API Python qui permet une utilisatino avancé du serveur OpenVas et pourquoi pas une automatisation des lancements.
Configuration avancée d'OpenVAS
C'est dans le fichier de configuration /etc/openvas/openvasd.conf que l'on trouve la définition du chemin vers les NVT (sortes de plugins pour OpenVAS):
# Directory where plug-ins are to be found plugins_folder = /var/lib/openvas/plugins
Ce répertoire contient des fichiers au format .nasl avec:
Si vous souhaitez développer vos propres scripts, il va falloir se plonger dans la documentation officielle. Le plus simple est de partir du template.nasl de référence et de tester pas à pas mais avant cela, je vous conseille de regarder la base des 25.000 NVT disponibles, régulièrement mise à jour, vous trouverez sûrement votre bonheur.