🎯 OpenVAS — scan complet et gestion des patchs

B2 3h30 C2.3.4 SISR Séance 2
FormationBTS SIO option SISR — IRIS Mediaschool
BlocB2 — Réseaux et sécurité
ModuleM2.3 — Sécurité réseau et audit
CompétenceB2.4 / Lien B3.4
Durée3h30
PrérequisAvoir complété la Séance 1 (méthodologie et Nmap)

🎯 Introduction (10 min)

Un scan non autorisé n'est pas seulement une mauvaise pratique technique, c'est une infraction : la loi punit l'accès non autorisé aux systèmes et l'atteinte à l'intégrité des données (article 323-1), pouvant aller jusqu'à deux ans d'emprisonnement. Cette contrainte juridique impose d'intégrer la phase d'autorisation écrite dès la préparation d'un audit et oriente aussi la stratégie technique (fenêtres d'exécution, confidentialité des résultats).

🎯 Objectifs

  • Comprendre l'architecture de GVM/OpenVAS et démarrer/configurer un scanner complet.
  • Lancer des tâches de scan, exporter des rapports (HTML/XML/PDF) et interpréter les niveaux de criticité et les scores CVSS.
  • Utiliser Nikto pour l'analyse web, définir un plan de gestion des patchs et vérifier la remédiation par rescanning.

📖 1. Architecture OpenVAS/GVM (30 min)

Greenbone Vulnerability Management (GVM), souvent appelé OpenVAS dans ses composants historiques, est une suite modulaire :

  • gvmd : le daemon de gestion (Greenbone Vulnerability Manager Daemon) qui orchestre les tâches, les utilisateurs et les rapports ;
  • openvas / ospd-openvas : le composant scanner qui exécute les tests (NVTs) contre les cibles ;
  • gsa (Greenbone Security Assistant) : interface web pour créer cibles, lancer scans et consulter rapports ;
  • gsad : démon d'interface web qui sert GSA.

Schéma d'architecture

[Formateur/Analyste] --(HTTPs)--> [GSA/gsad] --(RPC)--> [gvmd] --(socket/TCP)--> [openvas-scanner]
                                      \
                                       --> Base de données (résultats/reports/NVT feed)
      

📖 2. Installation et configuration de base (30 min)

Sur une machine dédiée (ex : Debian 12), les commandes classiques (selon paquetages installés) :

# Installation initiale (varie selon distribution)
sudo apt install gvm -y   # ou installer les paquets ospd-openvas / gvmd / gsa

# Initialisation (création d'utilisateurs, téléchargement NVTs)
sudo gvm-setup

# Vérifier l'installation et l'état
sudo gvm-check-setup

# Démarrer les services
sudo gvm-start
💡 Remarques
  • gvm-setup télécharge et met à jour la base NVT (peut prendre du temps).
  • gvm-check-setup permet d'identifier les étapes manquantes (certificats, permissions, etc.).
  • L'interface GSA est habituellement disponible en HTTPS sur le port 9392.

📖 3. Tâches de scan avec GVM/OpenVAS (40 min)

Flux opérationnel pour un scan authentifié ou non :

  1. Créer une cible (Target) : adresse IP ou plage, créer éventuellement des credentials (SSH/SMB) pour un scan authentifié.
  2. Choisir un Scan Config : "Full and fast" pour un scan complet par défaut, ou config personnalisée.
  3. Créer une Task associée à la cible et au Scan Config.
  4. Lancer la Task et suivre les logs via GSA.
  5. Exporter le rapport (HTML pour lecture, XML pour intégration, PDF pour archives).
ℹ️ Interface GSA vs CLI

Depuis l'interface GSA, toutes ces opérations se font via formulaires. En CLI il est possible d'utiliser gvm-cli pour automatiser la création et le lancement de tâches.

📖 4. Interprétation d'un rapport GVM (30 min)

Un rapport GVM liste des vulnérabilités agrégées par host, service et sévérité. Chaque entrée indique : titre, description, CVSS v3 (score + vecteur), solution recommandée et références (CVE, bulletins éditeur).

Niveaux de sévérité

SévéritéScore CVSS v3Délai de correction recommandé
Critical9.0 – 10.0Sous 24h (ou isoler le système)
High7.0 – 8.9Sous 7 jours
Medium4.0 – 6.9Sous 30 jours
Low0.1 – 3.9Planifié
LogN/AInformatif, à documenter

Méthode d'analyse

  • Filtrer d'abord sur Critical/High pour identifier les actions immédiates (patch, isolation, désactivation service).
  • Pour chaque vulnérabilité, lister la preuve (output du NVT), les conditions d'exploitation et la correction recommandée (mise à jour paquet, modification configuration, mitigation compensatoire).
  • Prioriser avec la grille : Critical <24h, High <7j, Medium <30j, Low planifié.

📖 5. Nikto pour l'analyse web (20 min)

Nikto est un scanner web simple mais utile pour détecter des configurations faibles (headers manquants, versions de serveur vulnérables, scripts connus).

# Scanner un serveur web et sauvegarder le rapport
nikto -h http://192.168.30.5 -o nikto_debian-srv02.txt
💡 Interprétation

Nikto signale des problèmes à investiguer (ex : directory indexing, vieille version Apache, scripts CGI vulnérables). Chaque alerte doit être recoupée par vérification manuelle et, si possible, par un scan GVM pour obtenir le CVSS/CVE associé.

📖 6. Gestion des patchs et validation (30 min)

Debian — gestion apt

# Lister les paquets upgradables
apt list --upgradable

# Mettre à jour la base de paquets et appliquer les mises à jour (staging conseillé)
sudo apt update
sudo apt upgrade -y   # en production : valider en staging d'abord

Windows

WSUS et le cycle Patch Tuesday sont les pratiques courantes dans les DSI ; tester les correctifs en staging avant déploiement massif.

Stratégie de remédiation

  • Mettre en place unattended-upgrades pour correctifs automatiques de sécurité quand approprié.
  • Avoir un environnement de staging pour valider les correctifs sur un échantillon de machines.
  • Après application d'un correctif, valider par rescans Nmap/GVM et par tests fonctionnels.

Tableau de priorisation opérationnel

SévéritéDélai
CriticalCorriger sous 24h (ou isoler le système)
HighCorriger sous 7 jours
MediumCorriger sous 30 jours
LowPlanifier

💻 TP S2 — Scan GVM complet et plan de correction (1h30)

Contexte

Vous travaillez pour InnovatTech SARL ; debian-srv02 (192.168.30.5) se trouve en DMZ et héberge des services web. Votre tâche est de lancer un scan GVM/OpenVAS, analyser le rapport et appliquer un plan de correction.

Objectif

Lancer un scan complet sur debian-srv02, produire un rapport, classer les vulnérabilités par CVSS et fournir un plan de correction précis (patchs apt, configuration TLS, désactivation services inutiles). Appliquer les corrections et rescanner pour vérification.

Prérequis techniques

  • Accès à GSA (GVM Web UI) et/ou gvm-cli, compte utilisateur GVM.
  • Accès SSH root sur debian-srv02 (ou accès de mise à jour via apt).
  • Outils sur la station d'audit : nmap, nikto, openssl.

Étapes

  1. Dans GSA : créer la Target 192.168.30.5 et une Task "Full and fast".
  2. Lancer la Task et attendre la fin.
  3. Exporter le rapport en XML/HTML/PDF.
  4. Analyser les vulnérabilités : extraire les items Critical/High et établir un tableau CVSS avec colonnes : Service | Port | Vulnérabilité | CVSS | Priorité | Action recommandée.

Exemples de corrections concrètes

Patch apt

sudo apt update && sudo apt install --only-upgrade <package_name> -y
# Vérifier qu'il n'y a plus de mises à jour
apt list --upgradable

Correction TLS (exemple Apache)

# Dans /etc/apache2/mods-available/ssl.conf ou dans le VirtualHost
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite HIGH:!aNULL:!MD5:!3DES
# Tester la configuration
sudo apachectl configtest
sudo systemctl restart apache2

Désactiver services inutiles

# Exemple : désactiver ftp ou telnet
sudo systemctl stop vsftpd
sudo systemctl disable vsftpd
  1. Après correction, lancer un rescannage Nmap et une nouvelle Task GVM pour valider la réduction des risques.

Livrables attendus

  • Rapport GVM exporté (HTML et XML).
  • Tableau de priorisation CVSS (CSV/Markdown) avec plan de correction par vulnérabilité.
  • Preuves d'application des patchs (captures de apt list --upgradable avant/après, extrait de /var/log/apt/history.log) et résultats de rescans Nmap/GVM.
✅ Critères de réussite
  • Les vulnérabilités classées Critical et High ont un plan d'action documenté et appliqué dans les fenêtres imposées.
  • Les rescans confirment la réduction des vecteurs d'attaque identifiés.

📌 Synthèse (10 min)

Cette séance a présenté GVM/OpenVAS comme outil central d'audit automatisé et montré comment enchaîner détection, analyse et remédiation via une boucle :

🔍 Scanner → 📊 Prioriser (CVSS) → 🔧 Patcher/Configurer → 🔄 Rescanner

La sécurité opérationnelle repose autant sur la technique que sur les processus (autorisation, test en staging, preuve de correction).

❓ Question de vérification

En une phrase, décrivez pourquoi il est indispensable de valider un correctif en staging avant déploiement en production.

📅 Cours suivant

Approfondissement des tests authentifiés et automatisation des remédiations.

📚 Références et ressources pédagogiques

  • Documentation Nmap et NSE (manuel et pages de référence).
  • Greenbone/OpenVAS documentation et manuel GSA.
  • CVSS v3 specification et bases CVE.
  • Guides distribution Debian pour apt/unattended-upgrades, et pratiques WSUS pour Windows.

📝 QCM — Testez vos connaissances

  1. Quel composant de GVM orchestre les tâches, les utilisateurs et les rapports ?
  2. Quelle commande vérifie l'état de l'installation GVM après la mise en place initiale ?
  3. Dans un rapport GVM, quel délai de correction est recommandé pour une vulnérabilité classée "Critical" ?
  4. Quel outil complémentaire à GVM est utilisé pour détecter les configurations faibles d'un serveur web ?
  5. Quelle directive Apache désactive TLSv1 et TLSv1.1 pour renforcer la sécurité TLS ?
📝 Afficher les corrections
  1. gvmd — Le Greenbone Vulnerability Manager Daemon (gvmd) est le composant central qui orchestre les tâches de scan, gère les utilisateurs et stocke les rapports ; il communique avec le scanner openvas via socket ou TCP.
  2. gvm-check-setup — Cette commande vérifie que tous les composants GVM sont correctement installés et configurés, identifiant les étapes manquantes comme les certificats ou les permissions.
  3. Corriger sous 24h (ou isoler le système) — Une vulnérabilité Critical représente un risque immédiat d'exploitation ; si le correctif ne peut être appliqué rapidement, le système doit être isolé du réseau pour limiter l'exposition.
  4. Nikto — Nikto est un scanner web open source qui détecte les configurations faibles telles que les headers de sécurité manquants, les versions de serveur exposées et les scripts CGI vulnérables.
  5. SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 — Cette directive Apache désactive explicitement SSLv3, TLSv1 et TLSv1.1 (protocoles obsolètes et vulnérables) tout en conservant TLSv1.2 et TLSv1.3.
💡 À retenir

GVM/OpenVAS s'appuie sur une base de NVTs régulièrement mise à jour pour détecter les vulnérabilités connues. Le workflow scanner → prioriser → corriger → rescanner est le cœur de tout processus d'audit de sécurité opérationnel. La documentation des actions (avant/après) est indispensable pour prouver la conformité.

← C2.3.4 Séance 1 — Nmap et CVSS C2.3.5 Séance 1 — ACLs Cisco standard et étendues →