2.0 KiB
2.0 KiB
📡 Fail2Ban Discord Alert
Ein Python-basiertes Monitoring-Tool, das automatisch IP-Sperren aus der fail2ban.log
erkennt und sie mit Länderflagge und Geodaten in Echtzeit an einen Discord-Webhook sendet.
🔧 Features
- ✅ Überwachung von
/var/log/fail2ban.log
in Echtzeit - 🛡️ Versand von Discord-Embed-Nachrichten bei neuen IP-Bans
- 🌍 Geo-IP-Lookup mit Ländererkennung via ipapi.co
- 🇩🇪🇺🇸 Automatische Anzeige von Länderflaggen im Embed
- 🧠 SQLite-Datenbank zur Vermeidung doppelter Benachrichtigungen
- 📁
.env
-Konfigurationsdatei für sicheren Webhook-Zugriff - 🧰 Automatischer Systemd-Service für dauerhaftes Monitoring
📦 Voraussetzungen
- Linux mit systemd
- Python 3.6+
- Zugriff auf
/var/log/fail2ban.log
- Funktionierender Fail2Ban-Dienst
- Ein Discord-Webhook-Link
⚙️ Dateien im Projekt
Datei | Funktion |
---|---|
fail2ban_discord.py |
Hauptmonitor-Skript |
.env |
Webhook-Konfiguration (wird befüllt) |
requirements.txt |
Python-Abhängigkeiten |
install_fail2ban_discord.sh |
Installationsskript inkl. systemd-Anbindung |
bans.db |
SQLite-Datenbank für verarbeitete IPs |
🔁 Service-Verwaltung
# Status prüfen
systemctl status fail2ban_discord_alert.service
# Dienst starten/stoppen
sudo systemctl start fail2ban_discord_alert.service
sudo systemctl stop fail2ban_discord_alert.service
🧪 Test-Webhook erneut senden
curl -H "Content-Type: application/json" \
-X POST \
-d '{"content": "✅ Testnachricht vom Fail2Ban Discord Alert!"}' \
"$(grep DISCORD_WEBHOOK_URL .env | cut -d '=' -f2)"
📄 Lizenz
MIT License – frei verwendbar, auch in kommerziellen Umgebungen.