Scanner régulièrement votre réseau avec Webmap pour identifier les vulnérabilités et évaluer votre surface d’attaque

Tutoriel : Scanner Régulièrement Votre Réseau avec reborntc/webmap pour Identifier les Vulnérabilités et Évaluer Votre Surface d’Attaque

Dans un monde où les cyberattaques sont de plus en plus fréquentes, surveiller régulièrement son réseau pour identifier les vulnérabilités et évaluer sa surface d’attaque publique est essentiel. Le conteneur Docker reborntc/webmap, basé sur le projet WebMap, offre une interface web intuitive pour visualiser les résultats des scans Nmap, un outil puissant de découverte réseau. Ce tutoriel vous guide pas à pas pour configurer WebMap via Docker, automatiser des scans réguliers, et analyser les vulnérabilités potentielles de votre réseau.

⚠️ Avertissement : Cet outil doit être utilisé uniquement sur des réseaux que vous possédez ou avez l’autorisation explicite de scanner. Toute utilisation non autorisée est illégale et peut entraîner des conséquences juridiques graves. Suivez ce guide pour sécuriser votre réseau de manière éthique et efficace !

Pourquoi Utiliser WebMap pour les Scans Réseau ?

Le conteneur reborntc/webmap transforme les fichiers XML générés par Nmap en un tableau de bord interactif, permettant de :

  • Identifier les hôtes actifs, ports ouverts, services, et versions logicielles.
  • Détecter les vulnérabilités potentielles grâce aux scripts Nmap NSE (Network Scanning Engine).
  • Visualiser la topologie réseau pour évaluer la surface d’attaque publique.
  • Générer des rapports PDF pour documenter les failles et planifier les correctifs.

En automatisant les scans avec Docker, vous pouvez surveiller régulièrement votre réseau, repérer les nouveaux dispositifs ou ports exposés, et réduire les risques d’attaques. Important : WebMap n’est pas conçu pour être exposé à Internet. Utilisez-le en local ou derrière un pare-feu robuste.

Prérequis

Avant de commencer, assurez-vous d’avoir :

  • Un serveur Linux (par exemple, Ubuntu 22.04 ou Kali Linux) avec Docker et Docker Compose installés.
  • Nmap installé sur le serveur ou dans un conteneur séparé pour générer des scans (sudo apt install nmap).
  • Une machine avec 4 Go de RAM minimum et 10 Go d’espace disque pour le conteneur.
  • Un accès SSH ou un terminal avec privilèges administratifs.
  • Une connexion Internet pour télécharger l’image Docker.
  • Un réseau local ou un serveur avec une adresse IP publique pour tester la surface d’attaque (avec autorisation).

Astuce : Créez un dossier pour stocker les fichiers de scan et les configurations :

mkdir /opt/webmap && cd /opt/webmap

Étape 1 : Installer Docker et Télécharger reborntc/webmap

Pour utiliser WebMap, installez Docker et récupérez l’image depuis Docker Hub.

1.1 Installer Docker et Docker Compose

Si Docker n’est pas installé :

  1. Mettez à jour le système et installez Docker :
    sudo apt update
    sudo apt install docker.io docker-compose

  2. Démarrez et activez le service Docker :
    sudo systemctl start docker
    sudo systemctl enable docker

  3. Vérifiez l’installation :
    docker --version
    docker-compose --version

Note : Ajoutez votre utilisateur au groupe Docker pour éviter d’utiliser sudo :

1.2 Télécharger l’image reborntc/webmap

Récupérez l’image Docker :

docker pull reborntc/webmap

Vérification : Assurez-vous que l’image est téléchargée :

Étape 2 : Configurer WebMap avec Docker Compose pour des Scans Automatisés

Pour automatiser les scans réguliers, utilisez Docker Compose pour combiner WebMap avec un conteneur Nmap. Voici une configuration optimisée.

2.1 Créer un fichier Docker Compose

Créez un fichier docker-compose.yml pour orchestrer les conteneurs :

version: '3.3'
services:
  nmap:
    image: instrumentisto/nmap
    container_name: nmap
    command: -sT -A --script vuln -T4 -oX /tmp/scan.xml 192.168.1.0/24
    cap_add:
      - NET_ADMIN
    volumes:
      - /opt/webmap/scans:/tmp
    environment:
      - PUID=1000
      - PGID=1000
    restart: unless-stopped
  webmap:
    image: reborntc/webmap
    container_name: webmap
    hostname: webmap
    ports:
      - '8000:8000'
    volumes:
      - /opt/webmap/scans:/opt/xml
    environment:
      - PUID=1000
      - PGID=1000
    restart: unless-stopped

Explication des paramètres :

  • nmap : Conteneur exécutant Nmap avec le script vuln pour détecter les vulnérabilités.
  • command : Scan TCP agressif (-A) avec détection des failles (--script vuln) sur la plage 192.168.1.0/24 (ajustez selon votre réseau).
  • volumes : Partage le dossier /opt/webmap/scans entre Nmap et WebMap pour stocker les fichiers XML.
  • ports : Mappe le port 8000 pour accéder à l’interface web.
  • PUID/PGID : Définit les identifiants utilisateur pour éviter les problèmes de permissions.

Instructions :

  1. Créez le dossier des scans :
    mkdir -p /opt/webmap/scans

  2. Créez et éditez le fichier docker-compose.yml :
    nano /opt/webmap/docker-compose.yml

  3. Copiez le code ci-dessus, ajustez la plage réseau (par exemple, 192.168.1.0/24), et enregistrez.
  4. Lancez les conteneurs :
    cd /opt/webmap
    docker-compose up -d

2.2 Générer un jeton d’accès

Obtenez un jeton pour vous connecter à l’interface web :

docker exec -ti webmap /root/token

Copiez le jeton affiché (par exemple, xyz789).

Étape 3 : Accéder à l’Interface WebMap et Analyser les Résultats

Accédez à l’interface pour visualiser les scans :

  1. Ouvrez un navigateur et allez à http://localhost:8000 (ou http://:8000 pour un serveur distant).
  2. Entrez le jeton copié.
  3. Connectez-vous avec les identifiants par défaut : admin / admin.
  4. Changez immédiatement le mot de passe dans les paramètres pour sécuriser l’accès.
  5. Le tableau de bord affichera les fichiers XML dans /opt/webmap/scans (par exemple, scan.xml).
  6. Cliquez sur un fichier pour voir :
    • Les hôtes actifs et leur adresse IP/MAC.
    • Les ports ouverts et services associés (par exemple, HTTP sur 80/tcp).
    • Les vulnérabilités détectées par les scripts NSE (par exemple, CVE liées à des versions logicielles obsolètes).
    • Un diagramme réseau illustrant la topologie.

Astuce : Utilisez l’option « Generate PDF » pour exporter un rapport détaillé des vulnérabilités à corriger.

Étape 4 : Automatiser les Scans Réseau Réguliers

Pour surveiller votre réseau quotidiennement, configurez une tâche CRON pour relancer le scan Nmap automatiquement.

4.1 Configurer une tâche CRON

Créez un script pour relancer le conteneur Nmap :

#!/bin/bash
# Relancer le conteneur Nmap pour un nouveau scan
docker-compose -f /opt/webmap/docker-compose.yml restart nmap

Instructions :

  1. Créez le script :
    nano /opt/webmap/scan.sh

  2. Copiez le code ci-dessus et enregistrez.
  3. Rendez le script exécutable :
    chmod +x /opt/webmap/scan.sh

  4. Éditez la table CRON pour exécuter le script quotidiennement à 2h00 :
    crontab -e

    Ajoutez la ligne suivante :
    0 2 * * * /opt/webmap/scan.sh

  5. Vérifiez que CRON est actif :
    systemctl status cron

Note : Ajustez l’horaire (0 2 * * *) selon vos besoins (voir man crontab).

4.2 Évaluer la Surface d’Attaque Publique

Pour analyser les ports exposés publiquement (par exemple, sur un serveur accessible depuis Internet) :

  1. Obtenez l’adresse IP publique de votre serveur (par exemple, via curl ifconfig.me).
  2. Modifiez docker-compose.yml pour scanner l’IP publique :
    command: -sT -A --script vuln -T4 -oX /tmp/scan.xml 

  3. Relancez le conteneur Nmap :
    docker-compose restart nmap

  4. Dans WebMap, examinez les ports ouverts (par exemple, 80/tcp, 443/tcp) et les services exposés (par exemple, Apache, SSH).
  5. Identifiez les failles potentielles, comme des versions logicielles obsolètes ou des configurations non sécurisées.

Attention : Assurez-vous d’avoir l’autorisation explicite pour scanner une IP publique, même si elle vous appartient.

Étape 5 : Interpréter et Corriger les Vulnérabilités

WebMap met en évidence les vulnérabilités détectées par Nmap. Voici comment agir :

  • Ports inutiles ouverts : Fermez les ports non essentiels via le pare-feu (par exemple, ufw deny 23 pour Telnet).
  • Services obsolètes : Mettez à jour les logiciels signalés comme vulnérables (par exemple, Apache 2.4.29 avec CVE connue).
  • Misconfigurations : Corrigez les paramètres non sécurisés, comme les mots de passe faibles ou les accès anonymes FTP.
  • Rapports : Exportez les rapports PDF depuis WebMap pour documenter les failles et suivre les correctifs.

Astuce : Croisez les résultats avec des bases de données de vulnérabilités comme CVE Details pour approfondir l’analyse.

Étape 6 : Dépannage et Bonnes Pratiques

Pour éviter les problèmes et optimiser l’utilisation :

  • Conteneur ne démarre pas : Vérifiez les logs (docker logs webmap) et assurez-vous que l’architecture est compatible (linux/amd64). Pour ARM, essayez une image alternative ou émulation QEMU.
  • Port occupé : Changez le port dans docker-compose.yml (par exemple, 8001:8000).
  • Sécurité : Configurez un pare-feu pour restreindre l’accès au port 8000 :
    sudo ufw allow from 192.168.1.0/24 to any port 8000

  • Performances : Limitez la plage réseau scannée pour réduire la charge (192.168.1.1-254 au lieu de 192.168.1.0/24).
  • Support : Consultez les issues GitHub ou Reddit r/selfhosted.

Conclusion

Le conteneur reborntc/webmap est un outil idéal pour surveiller régulièrement votre réseau, identifier les vulnérabilités, et évaluer votre surface d’attaque publique. Ce tutoriel vous a montré comment configurer WebMap avec Docker Compose, automatiser les scans Nmap, et analyser les résultats pour renforcer la sécurité de votre infrastructure. En respectant les bonnes pratiques et les autorisations légales, vous pouvez utiliser WebMap pour garder votre réseau sous contrôle.

Des questions ou des problèmes ? Partagez-les dans les commentaires ou rejoignez la communauté sur Reddit r/docker ou GitHub Discussions. Bonne sécurisation de votre réseau !

Romain D.

Passionné d'informatique perdu dans une trame Ethernet. Ce blog est mon bloc-notes public.

Ajouter un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.

Romain D.

Passionné d'informatique perdu dans une trame Ethernet. Ce blog est mon bloc-notes public.