7.3 KiB
title: Fail2Ban-Report created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, logs, fail2ban, security, ssh, brute-force, dashboard, python, flask] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Logs, https://github.com/SubleXBle/Fail2Ban-Report]
📋 Fail2Ban-Report
Le dashboard dédié à Fail2Ban : visualisez les bans, IPs bannies, services attaqués et tendances dans une UI web légère. Transformez les logs Fail2Ban bruts en insights visuels exploitables.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | github.com/SubleXBle/Fail2Ban-Report |
| GitHub | SubleXBle/Fail2Ban-Report |
| License | MIT |
| Langage | Python (Flask) |
| Étoiles GitHub | 308 ⭐ |
| Dernière MAJ | 2026-05-15 |
| Catégorie | [[cat-logs |
📝 Description
Fail2Ban-Report est un dashboard web léger spécialement conçu pour visualiser les données de Fail2Ban, le célèbre outil de protection contre le brute-force (SSH, FTP, HTTP, SMTP, etc.). Fail2Ban génère énormément de logs utiles (qui est banni, depuis quand, pour quel service, combien de tentatives) mais l'UI native est inexistante : tout est dans des fichiers texte.
L'outil parse automatiquement les logs Fail2Ban (/var/log/fail2ban.log ou la base SQLite) et présente les informations clés dans une UI web moderne : nombre total de bans, IPs les plus actives, services les plus attaqués, timeline des bans, top pays, heatmap par heure/jour, etc. C'est un projet simple, focalisé, et efficace : il fait une chose, et il la fait bien.
Public cible : sysadmins qui gèrent des serveurs exposés à Internet (SSH, web), amateurs d'auto-hébergement qui veulent voir d'un coup d'œil si leur serveur se fait bruteforcer, équipes de sécurité qui veulent un dashboard Fail2Ban sans se prendre la tête.
- ✅ UI dédiée Fail2Ban : visualisation claire et immédiate
- ✅ Parsing auto des logs Fail2Ban (texte et SQLite)
- ✅ Graphiques : timeline, top IPs, top services, heatmap
- ✅ Léger : Python Flask, ~30 Mo de RAM
- ✅ Single container Docker (Python + SQLite)
- ✅ Configuration minimale : pointer vers le fichier de log
- ✅ API REST : intégration possible avec d'autres outils
- ✅ MIT License : usage libre
- ✅ Multi-instance : possible de monitorer plusieurs serveurs
- ⚠️ Lecture seule : Fail2Ban-Report ne peut pas unbannir (lecture seule)
- ⚠️ Communauté modeste (308 ⭐) : peu de features avancées
- ⚠️ Couplage Fail2Ban only : ne fait rien d'autre
🚀 Installation
Option 1 : Docker Compose (recommandé)
# docker-compose.yml
version: '3.8'
services:
fail2ban-report:
image: ghcr.io/sublexble/fail2ban-report:latest
container_name: fail2ban-report
restart: unless-stopped
environment:
F2B_LOG_PATH: /var/log/fail2ban.log
F2B_DB_PATH: /var/lib/fail2ban/fail2ban.sqlite3
TZ: Europe/Paris
volumes:
- /var/log/fail2ban.log:/var/log/fail2ban.log:ro
- /var/lib/fail2ban/:/var/lib/fail2ban/:ro
ports:
- "5000:5000"
labels:
- "traefik.enable=true"
- "traefik.http.routers.f2b.rule=Host(`f2b.example.com`)"
- "traefik.http.routers.f2b.entrypoints=websecure"
- "traefik.http.routers.f2b.tls.certresolver=letsencrypt"
volumes:
f2b-data:
Option 2 : Python (bare-metal)
# Prérequis : Fail2Ban installé et fonctionnel
git clone https://github.com/SubleXBle/Fail2Ban-Report.git
cd Fail2Ban-Report
pip install -r requirements.txt
python app.py --log /var/log/fail2ban.log
Option 3 : Systemd
# /etc/systemd/system/fail2ban-report.service
[Unit]
Description=Fail2Ban Report Dashboard
After=network.target
[Service]
User=www-data
WorkingDirectory=/opt/fail2ban-report
ExecStart=/usr/bin/python3 app.py --log /var/log/fail2ban.log
Restart=always
[Install]
WantedBy=multi-user.target
⚙️ Configuration Initiale
- S'assurer que Fail2Ban tourne :
sudo fail2ban-client status - Vérifier les logs :
ls -la /var/log/fail2ban.log - Lancer le container :
docker compose up -d - Accéder à l'UI :
http://IP:5000 - Configurer Fail2Ban (si pas déjà fait) :
/etc/fail2ban/jail.local - Ajouter des jails : SSH, nginx-http-auth, postfix, etc.
- Vérifier les graphiques : timeline des bans, top IPs
- Activer HTTPS : Traefik en reverse proxy
- Setup l'alerte : Fail2Ban → email/Slack pour les bans critiques
🔄 Alternatives
Open Source
- Fail2Ban (le backend, indispensable)
- CrowdSec — Alternative moderne à Fail2Ban (avec dashboard)
- SSHGuard — Anti-brute-force SSH
- app-loki + app-grafana — Pour des dashboards custom
- GoAccess — Analyseur de logs web (focus web, pas Fail2Ban)
- Wazuh — SIEM complet (inclut dashboard Fail2Ban-like)
Comparaison Fail2Ban-Report vs autres
| Critère | Fail2Ban-Report | CrowdSec | Loki/Grafana | Wazuh |
|---|---|---|---|---|
| Focus | Fail2Ban logs | Threat intel partagé | Tous logs | SIEM complet |
| UI dédiée | ✅ | ✅ | ❌ (à faire) | ✅ |
| Multi-serveur | ❌ (1 instance = 1 serveur) | ✅ (via API) | ✅ | ✅ |
| Bans actifs | ✅ | ✅ | ❌ (à faire) | ✅ |
| Threat intel | ❌ | ✅ Blocklist | ❌ | ✅ |
| Setup | 5 min | 15 min | 30 min | 60 min |
| RAM | ~30 Mo | ~100 Mo | ~2 Go | ~4 Go |
| License | MIT | MIT | AGPL-3.0 | GPL-2.0 |
Verdict : Fail2Ban-Report est l'outil parfait si vous utilisez déjà Fail2Ban et voulez juste visualiser. Pour une approche moderne avec threat intel partagé, migrez vers CrowdSec. Pour un SIEM complet, Wazuh.
Propriétaires (ce que Fail2Ban-Report remplace)
- Cloudflare (WAF/CDN, gratuit partiel)
- DenyHosts (stale, plus maintenu)
- SSH Fortress (commercial SSH bastion)
- ManageEngine Log360 (payant)
- Splunk Security (très cher)
🔐 Sécurité
- ⚠️ Logs = données sensibles : IPs bannies = surface d'attaque
- ✅ Chiffrement in-transit : TLS obligatoire (Traefik en reverse proxy)
- ✅ Authentification : basic auth (configurable) ou SSO via reverse proxy
- ✅ Read-only : Fail2Ban-Report ne modifie jamais la config Fail2Ban
- ✅ Bind localhost : possible de n'écouter que sur 127.0.0.1
- ✅ Pas de stockage : agrège à la volée depuis les logs (SQLite en cache)
- ⚠️ Rétention : les bans actifs expirent selon Fail2Ban (donc OK RGPD)
- ✅ Pas de PII : que des IPs et noms de services
- ✅ Pas de backup nécessaire : données reconstruites depuis les logs
- ✅ Logs Fail2Ban protégés : permissions 0640 root:adm
📚 Ressources
- GitHub SubleXBle/Fail2Ban-Report
- Fail2Ban docs officielles
- CrowdSec (alternative)
- Tutoriel installation
Pages Liées
- cat-logs — Catégorie Logs
- app-loki — Stack logs complète
- app-uptime-kuma — Monitoring uptime
- securisation-home-lab — Bonnes pratiques sécurité (Fail2Ban y est mentionné)