Crowdsec Configuring Apache2 Bouncer

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

CrowdSec – Apache2 HTTP Brute-Force Erkennung

Ziel

In diesem Lab schützen wir eine Apache2-Webseite mit CrowdSec gegen HTTP-Brute-Force-Angriffe. Der Angreifer versucht mit Hydra Passwörter gegen eine Login-Seite zu erraten. CrowdSec erkennt das Angriffsmuster und sperrt die Angreifer-IP automatisch — der Apache2-Bouncer liefert dem gesperrten Client eine eigene Fehlerseite aus.

Voraussetzung

CrowdSec ist installiert und die Whitelist ist angepasst (siehe CrowdSec)

Installation des Apache2-Bouncers

Der Bouncer integriert sich in Apache2 und blockt erkannte IPs direkt auf Webserver-Ebene.

  • apt install crowdsec-apache-bouncer

Fehlerseite einrichten

Apache liefert bei einem Ban eine eigene Fehlerseite aus statt einer kahlen 403-Seite.

Apache2 konfigurieren

HTTP- und HTTPS-VirtualHost mit Verweis auf die Fehlerseite einrichten.

  • nano /etc/apache2/sites-available/vulnsite.conf
<VirtualHost *:80>
    ServerAdmin technik@lab.int
    DocumentRoot /var/www/html/
    ErrorLog ${APACHE_LOG_DIR}/vulnsite-error.log
    CustomLog ${APACHE_LOG_DIR}/vulnsite-access.log combined
    ErrorDocument 403 /blocked.html
</VirtualHost>

<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /etc/ssl/own.crt
    SSLCertificateKeyFile /etc/ssl/own.key
    ServerAdmin technik@lab.int
    DocumentRoot /var/www/html/
    ErrorLog ${APACHE_LOG_DIR}/vulnsite-error.log
    CustomLog ${APACHE_LOG_DIR}/vulnsite-access.log combined
    ErrorDocument 403 /blocked.html
</VirtualHost>

Konfiguration testen und Apache2 neu laden

  • apache2ctl configtest
  • systemctl reload apache2

Bouncer neu starten und prüfen

Nach der Installation wird der Bouncer gestartet und der Status geprüft.

  • systemctl restart crowdsec-apache-bouncer
  • systemctl status crowdsec-apache-bouncer

Bouncer-Verbindung prüfen

Zeigt ob der Bouncer korrekt bei CrowdSec registriert ist.

  • cscli bouncers list

Angriff vom Attacker durchführen

Passwortliste herunterladen

Hydra installieren

  • apt update
  • apt install hydra -y

Angriff starten

Hydra führt einen HTTP-Brute-Force-Angriff gegen die Login-Seite durch.

  • hydra -l christine -P bad-passwords http-post-form://10.88.2XX.11"/login.php:username=^USER^&password=^PASS^:Ungültige" -V

Erkannte Angriffe anzeigen

Listet alle von CrowdSec erkannten Alerts auf.

  • cscli alerts list

Gebannte IP-Adressen anzeigen

Zeigt alle aktiven Sperrentscheidungen an.

  • cscli decisions list

Ban aufheben

Entfernt den Ban für die Angreifer-IP manuell.

  • cscli decisions delete --ip 172.26.2XX.100

Live-Log beobachten

Zeigt die laufende Analyse von CrowdSec in Echtzeit.

  • journalctl -u crowdsec -f