Installation et prise en main d’OpenVAS, le fork de Nessus

Date: 16/01/2013 | Catégories: Open-source,Planet-libre,Reseau,Systeme | Tags: ,,,,

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.

OpenVAS4-Software

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:

On doit ensuite créer un couple login/password pour limiter l'accès au serveur:

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:

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.

capture_085

 

A la fin, un rapport est généré et accessible en archive:

capture_086
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):

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.