fail2ban – dashboard

22. Feber 2026
//

Live-Analyse fĂŒr gebannte IPs, Jails und Angriffsverhalten

fail2ban-dashboard

Einleitung

Das folgende Bash‑Skript bietet ein kompaktes, audit‑fĂ€higes Dashboard fĂŒr Fail2ban auf deinem Webserver. Es zeigt:

  • aktive Jails
  • aktuell gebannte IPs
  • Recidive‑Statistik
  • Ban‑Verhalten pro Stunde
  • Jail‑Verteilung
  • Live‑Logauszug

Das Skript ist ideal fĂŒr Admins, die Fail2ban nicht nur konfigurieren, sondern auch forensisch auswerten wollen.


📄 Skript: `/usr/local/bin/fail2ban-dashboard`

#!/bin/bash

LOG="/var/log/fail2ban.log"

echo "==============================="
echo " FAIL2BAN DASHBOARD"
echo "==============================="
echo

# Aktive Jails
echo "📌 Aktive Jails:"
jails=$(fail2ban-client status 2>/dev/null \
    | grep "Jail list:" \
    | cut -d: -f2 \
    | tr ',' ' ' \
    | tr -d '\t' \
    | xargs)

if [ -z "$jails" ]; then
    echo "  Keine aktiven Jails gefunden."
else
    echo "  $jails"
fi
echo

# Aktuell gebannte IPs pro Jail
echo "📌 Aktuell gebannte IPs pro Jail:"
for jail in $jails; do
    jail_clean=$(echo "$jail" | xargs)
    banned=$(fail2ban-client status "$jail_clean" 2>/dev/null \
        | grep -E "Currently banned" \
        | awk -F':' '{print $2}' \
        | xargs)
    [ -z "$banned" ] && banned=0
    printf "  %-25s %s\n" "$jail_clean:" "$banned"
done
echo

# Top 20 gebannte IPs (Recidive)
echo "📌 Top 20 gebannte IPs (Recidive-Analyse):"
grep "Ban " "$LOG" | awk '{print $NF}' \
    | sort | uniq -c | sort -nr | head -20
echo

# Bans pro Stunde (letzte 24h)
echo "📌 Bans pro Stunde (letzte 24h):"
grep "Ban " "$LOG" | tail -n 50000 \
    | awk '{print $1" "$2}' \
    | sed 's/T/ /' \
    | cut -d: -f1 \
    | sort | uniq -c
echo

# Bans pro Jail (letzte 24h)
echo "📌 Bans pro Jail (letzte 24h):"
grep "Ban " "$LOG" | tail -n 50000 \
    | grep -o "\[[a-zA-Z][a-zA-Z0-9._-]*\]" \
    | tr -d '[]' \
    | sort | uniq -c | sort -nr
echo

# Live-Log
echo "📌 Live-Log (tail -n 20):"
tail -n 20 "$LOG"
echo

🔍 Funktionen im Überblick

AbschnittFunktion
Aktive JailsListet alle laufenden Jails
Aktuell gebannte IPsZeigt pro Jail die Anzahl aktiver Bans
Recidive‑AnalyseTop 20 IPs mit hĂ€ufigsten Bans
Bans pro StundeZeitliche Verteilung der Bans
Bans pro JailJail‑Verteilung der letzten 24h
Live‑LogLetzte 20 Logzeilen aus /var/log/fail2ban.log

đŸ§Ș Einsatzempfehlung

  • Aufruf: sudo fail2ban-dashboard
  • Cronjob möglich:
    FĂŒr regelmĂ€ĂŸige Reports oder Monitoring via Mail/Slack.
  • Erweiterbar:
    Du kannst das Skript um GeoIP‑Lookup, AbuseIPDB‑Reporting oder HTML‑Export erweitern.

📌 Fazit

Dieses Dashboard ist ein ideales Werkzeug fĂŒr alle, die Fail2ban nicht nur konfigurieren, sondern auch verstehen und auswerten wollen. Es liefert dir in Sekunden eine forensisch verwertbare Übersicht ĂŒber Angriffsverhalten, Jail‑EffektivitĂ€t und Recidive‑Risiken. (Anm.: „Recidive“ bedeutet WiederholungstĂ€ter – also IP‑Adressen, die mehrmals von Fail2ban gebannt wurden, oft in verschiedenen Jails oder ĂŒber lĂ€ngere ZeitrĂ€ume hinweg.)

Leave a Comment