Le scanner de vulnérabilités OpenVAS
Introduction
L’objectif de ce chapitre technique est de présenter un second outil open source incontournable dans la panoplie d’outils de cyber-sécurité et des SOC : OpenVAS, un moteur de scanner de vulnérabilités informatiques.
OpenVAS
1. Introduction
OpenVAS, acronyme pour Open Vulnerability Assessment System, a été créé (via un fork) en 2006 au moment où la société Tenable a fait basculer le logiciel Nessus en mode commercial. OpenVAS est développé sous licence GNU GPL.
C’est un scanner de vulnérabilités, autrement dit, son rôle est d’auditer les cibles IP afin de détecter des failles systèmes et applicatives. Les principales fonctionnalités sont les suivantes :
-
Analyse de ports sur une adresse IP pour trouver les services ouverts : test des services ouverts pour découvrir les vulnérabilités connues et les erreurs de configuration. Cette analyse s’effectue à l’aide d’une base de données (53 000 vérifications NVT - Network Vulnerability Tests) : les tests de vulnérabilités sont réalisés à l’aide de tests intégrés quotidiennement mis à jour via la Greenbone Community Feed (GCF).
-
Rapports de vulnérabilités : ces rapports permettent de disposer d’une vue synthétique et détaillée et d’être en mesure d’apporter les remédiations nécessaires.
Tout élément disposant d’une adresse IP est éligible : poste de travail, serveur, imprimante, routeur…
OpenVAS permet d’effectuer des tests non authentifiés et des tests authentifiés (qui nécessitent des informations de compte utilisateur comme le login et le mot de passe).
OpenVAS, également connu sous le nom de GVM (Greenbone Vulnerability Manager), est l’outil idéal pour connaître la surface d’exposition des services d’un système d’information. Cela permet d’avoir un point de départ, une photographie de l’existant, une véritable cartographie des failles.
La version communautaire est appelée Greenbone Community Edition (GCE). Elle est destinée à des petits environnements.
Source : https://www.openvas.org/
2. La version commerciale
GSM (Greenbone Security Manager), la version commerciale proposée par la société Greenbone, apporte un support client ainsi que des fonctionnalités supplémentaires, notamment sur les feeds (flux de données) de sécurité. Cette version est destinée aux usages de production pour des scans à grande échelle.
3. Comparaison des différentes versions des Security Feed
Comparaison des versions GSF et GCF
La base de connaissance des vulnérabilités est forcément plus limitée avec la version open source qu’avec la version commerciale. Par exemple, les vulnérabilités liées aux produits Microsoft comme SQL Server, Exchange, SharePoint, aux produits éditeurs comme Palo Alto Networks, Cisco, Juniper Networks, Fortinet, VMware et aux logiciels bien connus comme Lotus Notes ou SAP ne sont pas pris en compte avec GCF.
4. Appliances OpenVAS
Plusieurs appliances matérielles sont commercialisées par Greenbone à des fins de robustesse et disposent de tout le support éditeur : solution PME (GSM 150), solutions milieu de gamme (GSM 450/600/650) et solutions d’entreprise (GSM 5400, 6500).
5. Architecture générale
a. Backend
OpenVAS est un framework constitué de plusieurs modules de backend :
-
OpenVAS Scanner : scan de vulnérabilités, en lien avec la base de vulnérabilités connues NVT.
-
OpenVAS Manager : gestion du scanner, pilotage des audits et gestion des rapports, écriture en base de données SQLite.
-
OpenVAS Administrator : en charge de la gestion des utilisateurs.
b. Frontend
Le backend est complété par des modules de frontend :
-
OpenVAS CLI : interface en ligne de commande pour interaction avec le module Manager.
-
Greenbone Security Assistant : client web OpenVAS Manager.
-
Greenbone Security Desktop : interface web présentant le dashboarding d’OpenVAS.
c. Schéma d’architecture OpenVAS
Architecture OpenVAS
6. Installation sous CentOS
Dans cet exemple, l’installation s’effectue sur un serveur Linux avec une distribution CentOS 7 (fin de vie du support au 31 mai 2024) connectée à Internet. L’installation s’effectue en tant que root.
Si l’installation se fait via Oracle VM VirtualBox (v 6.1.18), il faut veiller à paramétrer l’interface réseau en mode pont et vérifier que la VM installée a bien accès à Internet. L’outil ifconfig n’est pas installé par défaut et peut s’avérer utile pour déboguer les problématiques réseau. L’installation s’effectue à l’aide de la commande suivante :
# yum install net-tools
La configuration minimale d’OpenVAS correspond à un serveur virtuel installé dans une zone réseau de type DMZ et comprenant au moins 2 processeurs, 4 Go de RAM et 30 Go d’espace disque.
Le serveur doit être positionné en DMZ "Outils-Cyber" de façon à pouvoir scanner les IP joignables.
a. Désactiver SELinux
# sed -i 's/=enforcing/=disabled/' /etc/selinux/config
Il est nécessaire de rebooter le serveur après cette commande.
b. Autoriser les ports 9392, 443 et 80
Pour configurer le service de firewalling firewalld de CentOS 7, l’utilitaire firewall-cmd est mis à contribution.
# firewall-cmd --state
running
# firewall-cmd --zone=public --add-port=9392/tcp --permanent
success
# firewall-cmd --reload
success
# firewall-cmd --get-active-zones
public
interfaces: eth0
# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports: 9392/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
c. Installation d’utilitaires
# yum -y install wget rsync curl
d. Installation du repo Atomic
Il est nécessaire d’installer le référentiel officiel "atomic" pour faire fonctionner OpenVAS.
# wget -q -O - https://updates.atomicorp.com/installers/atomic | sh
On accepte la licence.
Do you agree to these terms? (yes/no) [Default: yes] yes
Configuring the [atomic] repo archive for this system
Installing the Atomic GPG keys: OK
Downloading atomic-release-1.0-21.el7.art.noarch.rpm:
Preparing...
################################# [100%]
Updating / installing...
1:atomic-release-1.0-21.el7.art
################################# [100%]
OK
Enable repo by default? (yes/no) [Default: yes]: yes
The Atomic repo has now been installed and configured
for your system
The following channels are available:
atomic - [ACTIVATED] - contains the stable tree of ART
packages
atomic-testing - [DISABLED] - contains the testing tree of ART
packages
atomic-bleeding - [DISABLED] - contains the development tree
of ART packages
e. Installation d’OpenVAS (GVM)
# yum -y install greenbone-vulnerability-manager-10.0.0-
6947.el7.art.noarch
Attention, l’installation est plutôt longue (de l’ordre de cinq minutes). Ce paquet remplace le paquet openvas.
Deux paquets sont installés :
Installation :
greenbone-vulnerability-manager noarch 10.0.0-
6947.el7.art ...