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é :
- Mettez à jour le système et installez Docker :
sudo apt update
sudo apt install docker.io docker-compose
- Démarrez et activez le service Docker :
sudo systemctl start docker
sudo systemctl enable docker
- 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 scriptvuln
pour détecter les vulnérabilités.command
: Scan TCP agressif (-A
) avec détection des failles (--script vuln
) sur la plage192.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 :
- Créez le dossier des scans :
mkdir -p /opt/webmap/scans
- Créez et éditez le fichier
docker-compose.yml
:
nano /opt/webmap/docker-compose.yml
- Copiez le code ci-dessus, ajustez la plage réseau (par exemple,
192.168.1.0/24
), et enregistrez. - 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 :
- Ouvrez un navigateur et allez à
http://localhost:8000
(ouhttp://
pour un serveur distant).:8000 - Entrez le jeton copié.
- Connectez-vous avec les identifiants par défaut :
admin / admin
. - Changez immédiatement le mot de passe dans les paramètres pour sécuriser l’accès.
- Le tableau de bord affichera les fichiers XML dans
/opt/webmap/scans
(par exemple,scan.xml
). - 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 :
- Créez le script :
nano /opt/webmap/scan.sh
- Copiez le code ci-dessus et enregistrez.
- Rendez le script exécutable :
chmod +x /opt/webmap/scan.sh
- Éditez la table CRON pour exécuter le script quotidiennement à 2h00 :
crontab -e
Ajoutez la ligne suivante :
0 2 * * * /opt/webmap/scan.sh
- 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) :
- Obtenez l’adresse IP publique de votre serveur (par exemple, via
curl ifconfig.me
). - Modifiez
docker-compose.yml
pour scanner l’IP publique :
command: -sT -A --script vuln -T4 -oX /tmp/scan.xml
- Relancez le conteneur Nmap :
docker-compose restart nmap
- Dans WebMap, examinez les ports ouverts (par exemple, 80/tcp, 443/tcp) et les services exposés (par exemple, Apache, SSH).
- 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 de192.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 !
Ajouter un commentaire