Skip to main content

Fail2Ban + Apache2

fail2ban bringt für Apache schon fertige “Spürhunde” mit - du musst sie nur von der Leine lassen. fail2ban ist so etwas wie der Türsteher, wer sich zu oft danebenbenimmt (z. B. bruteforce oder 404-Spam), fliegt raus. Standardmäßig schützt es oft nur SSH, aber mit ein paar Handgriffen kannst du auch deine Apache2-Logs anzapfen.


1. Installation (falls noch nicht passiert)

sudo apt update
sudo apt install fail2ban

2. Eigene Config anlegen

sudo vi /etc/fail2ban/jail.local

3. Apache-Jails aktivieren

fülle die Datei mit folgendem Inhalt;

[apache]
enabled  = true
port     = http,https
filter   = apache-auth
logpath  = /var/log/apache*/*error.log
maxretry = 6

[apache-noscript]
enabled  = true
port     = http,https
filter   = apache-noscript
logpath  = /var/log/apache*/*error.log
maxretry = 6

[apache-overflows]
enabled  = true
port     = http,https
filter   = apache-overflows
logpath  = /var/log/apache*/*error.log
maxretry = 2

[apache-nohome]
enabled  = true
port     = http,https
filter   = apache-nohome
logpath  = /var/log/apache*/*error.log
maxretry = 2

4. Was machen die überhaupt?

Kurz erklärt, damit du weißt, wer hier wen rauswirft:

  • apache

    • erkennt fehlgeschlagene Authentifizierungen (z. B. Basic Auth Bruteforce)

  • apache-nohome

    • blockt Zugriffe auf nicht existierende Home-Verzeichnisse (/~user)

  • apache-noscript

    • filtert Requests auf typische Script-Locations wie /phpmyadmin, /wp-login.php etc.

  • apache-overflows

    • erkennt verdächtige Requests, die auf Buffer Overflow / Exploits hindeuten


5. fail2ban neu starten

sudo systemctl restart fail2ban

6. Status prüfen

sudo fail2ban-client status --all

Oder gezielt:

sudo fail2ban-client status apache-noscript