1. Présentation
BunkerWeb est un pare-feu d’application web (WAF – Web Application Firewall) moderne, open-source et “secure by default”. Il protège vos sites et applications web contre un large éventail d’attaques (injections SQL, XSS, force brute, bots malveillants…) tout en intégrant des fonctionnalités avancées comme la gestion TLS, les en-têtes HTTP sécurisés, la protection anti-bots et le blocage d’adresses IP suspectes.
L’un des grands atouts de BunkerWeb est sa simplicité de déploiement, notamment grâce à Docker et Docker Compose, ce qui permet de l’intégrer facilement à votre infrastructure existante. Dans cet article, nous allons voir comment installer et configurer BunkerWeb pour protéger un service externe, en l’occurrence IT-Tools, un outil open-source regroupant plusieurs utilitaires pour développeurs et administrateurs.
Objectif & public
- Community (gratuite) : idéale pour homelab, dev/test, petits sites, besoins de base en WAF/reverse proxy.
- Pro (payante) : pensée pour PME/ETI/Prod avec besoins d’observabilité, support, pilotage à grande échelle et politiques sécurité avancées.
Fonctionnalités (synthèse)
- Sécurité de base
- Community : WAF open‑source, règles par défaut “secure by default”, durcissement TLS/headers, anti‑bots (niveau standard), Let’s Encrypt.
- Pro : même base + politiques fines, profils par environnement (staging/prod), listes gérées (IP reputation), options anti‑bots avancées.
- Gestion & exploitation
- Community : configuration via UI/variables/volumes, logs standards (NGINX/WAF) dans les conteneurs.
- Pro : tableau de bord centralisé, vues sécurité, alerting, intégrations SIEM/Slack/Discord/Email (sans bricolage), rétention/logs enrichis.
- Écosystème & intégrations
- Community : plugins open‑source disponibles (ex : ModSecurity/Coraza, CrowdSec, ClamAV quand pertinents).
- Pro : catalogue validé, mises à jour priorisées, intégrations “click & run” (observabilité, réputation IP, scanning).
- Haute dispo & scalabilité
- Community : clustering manuelle (Docker/K8s) possible mais à configurer.
- Pro : orchestration facilitée, déploiements multi‑instances, politiques partagées.
- Support & maintenance
- Community : support communautaire (issues, docs).
- Pro : SLA, assistance éditeur, mises à jour pilotées, bonnes pratiques certifiées.
2. Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
- Un serveur ou une machine locale sous Linux, macOS ou Windows avec WSL2.
- Docker et Docker Compose installés (documentation officielle Docker).
- Un nom de domaine pointant vers votre serveur (optionnel mais recommandé pour le HTTPS).
- Des connaissances de base en ligne de commande.
- Un accès root ou sudo à votre machine.
3. Déploiement de BunkerWeb via Docker Compose
Nous allons utiliser Docker Compose pour déployer facilement BunkerWeb et IT-Tools dans des conteneurs séparés, tout en permettant à BunkerWeb de jouer le rôle de reverse proxy sécurisé pour IT-Tools.
4. Préparation de l’environnement
- Connectez-vous à votre serveur ou ouvrez un terminal.
- Créez un dossier de projet :
mkdir bunkerweb-project
cd bunkerweb-projectPuis créez un sous-dossier pour les configurations :
mkdir config5. Création du fichier compose.yaml
Créez un fichier compose.yaml à la racine du projet :
version: "3.8"
services:
bunkerweb:
image: bunkerity/bunkerweb:latest
container_name: bunkerweb
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./config:/etc/bunkerweb
- ./data:/var/lib/bunkerweb
environment:
- BW_ADMIN_USERNAME=admin
- BW_ADMIN_PASSWORD=admin123
- BW_ADMIN_PORT=8080
networks:
- bunkerweb_net
it-tools:
image: corentinth/it-tools:latest
container_name: it-tools
restart: unless-stopped
networks:
- bunkerweb_net
expose:
- "80"
networks:
bunkerweb_net:
driver: bridge6. Lancement du conteneur
Une fois le fichier prêt, lancez la stack :
docker compose up -dDocker va télécharger les images BunkerWeb et IT-Tools, puis démarrer les conteneurs.
7. Premier démarrage via l’interface web d’administration
- Accédez à l’interface d’administration de BunkerWeb :
http://<IP_ou_nom_domaine>:8080- Connectez-vous avec l’utilisateur et mot de passe définis dans les variables d’environnement.
- Vous arrivez sur un tableau de bord clair et intuitif vous permettant de configurer vos hôtes et vos règles de sécurité.
8. Configuration et prise en main de BunkerWeb
Par défaut, BunkerWeb ne proxy aucun service. Vous devez donc créer un hôte proxy qui pointera vers IT-Tools.
Quelques points clés :
- Sécurité HTTPS : BunkerWeb peut gérer automatiquement un certificat Let’s Encrypt.
- Protection anti-bots : activez-la pour éviter le spam et les scans automatiques.
- ModSecurity + règles OWASP : protège contre la majorité des attaques web courantes.
9. Configuration d’un hôte proxy (service)
- Dans le tableau de bord BunkerWeb, allez dans Hosts.
- Cliquez sur Add Host.
- Remplissez :
- Hostname :
tools.mondomaine.com(ou votre IP si vous n’avez pas de domaine) - Service :
it-tools - Port :
80
- Hostname :
- Activez HTTPS si vous avez un domaine valide.
- Enregistrez et appliquez la configuration.
10. Déploiement du conteneur IT-Tools
Nous avons déjà intégré IT-Tools dans le compose.yaml. Ce service sera automatiquement joignable via le réseau bunkerweb_net interne à Docker.
IT-Tools est un ensemble d’outils utiles : conversion de formats, génération de hash, test d’API, encodage/décodage, etc.
11. Configuration du service sur BunkerWeb
Dans la configuration BunkerWeb :
- Liez l’hôte
tools.mondomaine.comau conteneurit-tools. - Vérifiez que la résolution DNS interne fonctionne (
docker exec -it bunkerweb ping it-tools). - Sauvegardez et redémarrez BunkerWeb depuis l’interface ou avec :
docker compose restart bunkerweb12. Tester le déploiement
- Ouvrez un navigateur et accédez à :
https://tools.mondomaine.comSi tout fonctionne, vous devriez voir l’interface d’IT-Tools, servie derrière BunkerWeb.
Testez la sécurité :
- Inspectez les en-têtes HTTP avec un outil comme securityheaders.com.
- Lancez un scan avec OWASP ZAP ou Nikto pour vérifier la protection.
13. Conclusion
BunkerWeb offre une solution clé en main pour sécuriser vos applications web. Son intégration avec Docker Compose permet un déploiement rapide et modulaire, idéal pour les développeurs, administrateurs système et entreprises souhaitant durcir leur sécurité réseau sans complexité excessive.
En le combinant avec un service comme IT-Tools, vous obtenez un environnement à la fois productif et sécurisé. Vous pouvez bien sûr l’utiliser pour protéger vos sites WordPress, applications Node.js, API REST, ou tout autre service web.
Astuce : Vous pouvez enrichir la configuration BunkerWeb avec des plugins (ex : antivirus ClamAV, CrowdSec, notifications Slack/Discord) pour renforcer encore la sécurité.
