Linux Security

Apache mit CrowdSec absichern – Webserver effektiv vor Angriffen schützen

Schützen Sie Ihren Apache-Webserver mit CrowdSec vor Brute-Force-Angriffen, Webscannern, Bots und WordPress-Angriffen. Dieser Beitrag zeigt die Einrichtung Schritt für Schritt.

4 min Lesezeit
Grafik: Apache mit CrowdSec effektiv absichern

Moderne Angriffserkennung für Apache-Webserver

Apache gehört seit vielen Jahren zu den beliebtesten Webservern und kommt auf unzähligen Linux-Systemen zum Einsatz. Genau deshalb steht er regelmäßig im Fokus automatisierter Angriffe. Bots durchsuchen Websites nach Sicherheitslücken, testen Login-Seiten, scannen bekannte Verzeichnisse oder versuchen, Webanwendungen wie WordPress zu kompromittieren.

CrowdSec kann solche Angriffe anhand der Apache-Logdateien erkennen und automatisch Gegenmaßnahmen einleiten. Mit den passenden Collections analysiert die Software eingehende Anfragen nahezu in Echtzeit und erstellt bei verdächtigen Aktivitäten entsprechende Decisions, die anschließend von einem Bouncer umgesetzt werden.

In diesem Teil der Serie richten wir CrowdSec für Apache ein und testen die Angriffserkennung anhand verschiedener Praxisbeispiele.


Voraussetzungen

Für diesen Beitrag setzen wir Folgendes voraus:

  • Debian 13
  • Apache installiert und funktionsfähig
  • CrowdSec installiert
  • Zugriff per SSH
  • Root-Rechte oder sudo-Berechtigung

Ob Apache läuft, prüfen Sie mit:

sudo systemctl status apache2

Die Ausgabe sollte den Status active (running) anzeigen.


Apache-Logdateien

CrowdSec analysiert nicht den Netzwerkverkehr, sondern die Logdateien des Webservers.

Standardmäßig verwendet Apache unter Debian folgende Dateien:

Zugriffsprotokoll

/var/log/apache2/access.log

Fehlerprotokoll

/var/log/apache2/error.log

Kontrollieren Sie zunächst, ob Apache dort tatsächlich schreibt.

sudo tail -f /var/log/apache2/access.log

Öffnen Sie anschließend Ihre Website im Browser.

Es sollten sofort neue Logeinträge erscheinen.


Apache-Collection installieren

Für Apache stellt CrowdSec eine komplette Collection bereit.

Sie enthält bereits:

  • Parser
  • Szenarien
  • Postoverflows
  • Konfigurationen

Installation:

sudo cscli collections install crowdsecurity/apache2

Anschließend empfiehlt sich ein Neustart.

sudo systemctl restart crowdsec

Installation überprüfen

Installierte Collections anzeigen:

sudo cscli collections list

Die Ausgabe sollte unter anderem enthalten:

crowdsecurity/apache2

Ebenso können die installierten Parser überprüft werden.

sudo cscli parsers list

Die Apache-Parser erscheinen nun automatisch in der Liste.


Welche Angriffe erkennt CrowdSec?

Bereits die Standard-Collection erkennt zahlreiche Angriffsmuster.

Dazu gehören beispielsweise:

  • Directory Traversal
  • SQL-Injection
  • Webscanner
  • Brute Force
  • WordPress-Angriffe
  • Bad User Agents
  • API-Scanner
  • bekannte Exploit-Scanner
  • Botnetze

Neue Szenarien werden regelmäßig über den Hub aktualisiert.


Brute-Force-Angriffe erkennen

Ein klassisches Beispiel sind Login-Versuche gegen Webanwendungen.

Ein Bot versucht beispielsweise mehrfach eine Anmeldung.

/login
/login
/login
/login
/login

CrowdSec erkennt:

  • gleiche IP-Adresse
  • viele fehlgeschlagene Anmeldungen
  • kurzer Zeitraum

Decision

Bouncer

Firewall oder Webserver blockiert den Angreifer.


Scanner erkennen

Scanner durchsuchen Webseiten automatisiert nach bekannten Schwachstellen.

Typische Anfragen sind:

/phpmyadmin
/.env
/wp-admin
/cgi-bin/
/server-status

Ein einzelner Zugriff ist meist unkritisch.

Mehrere hundert Anfragen innerhalb weniger Sekunden sprechen dagegen eindeutig für einen Scanner.

CrowdSec erkennt dieses Verhalten zuverlässig.


Bots erkennen

Nicht jeder Bot ist schädlich.

Suchmaschinen wie Google oder Bing sind ausdrücklich erwünscht.

CrowdSec unterscheidet daher zwischen legitimen Crawlern und verdächtigen Bots.

Typische Merkmale schädlicher Bots:

  • sehr hohe Zugriffszahlen
  • ungewöhnliche URLs
  • bekannte Exploit-Pfade
  • verdächtige User Agents
  • automatisierte Scans

Dadurch werden unnötige Sperren vermieden.


WordPress-Angriffe erkennen

WordPress gehört zu den beliebtesten Angriffszielen im Internet.

CrowdSec erkennt unter anderem:

  • Brute Force auf /wp-login.php
  • XML-RPC-Angriffe
  • Plugin-Scanner
  • Theme-Scanner
  • bekannte WordPress-Exploits

Typische Scanner versuchen beispielsweise:

/wp-admin
/wp-login.php
/xmlrpc.php
/wp-content/plugins/
/wp-content/themes/

Gerade bei öffentlich erreichbaren WordPress-Installationen sorgt CrowdSec so für einen zusätzlichen Schutz.


Testangriffe durchführen

Nach der Installation sollte überprüft werden, ob CrowdSec korrekt arbeitet.

Eine einfache Möglichkeit besteht darin, einige typische Pfade im Browser aufzurufen.

Beispiele:

http://server/phpmyadmin
http://server/.env
http://server/wp-admin
http://server/cgi-bin/

Alternativ kann curl verwendet werden.

curl http://server/.env

oder

curl http://server/wp-login.php

Dabei sollte es sich ausschließlich um Tests gegen den eigenen Server handeln.


Alerts auswerten

Erkannte Vorfälle lassen sich anzeigen.

sudo cscli alerts list

Beispiel:

ID     SCENARIO                     SOURCE
1234   http-sensitive-files         203.0.113.20

Details:

sudo cscli alerts inspect 1234

Hier sehen Sie unter anderem:

  • betroffene IP-Adresse
  • Anzahl der Ereignisse
  • ausgelöstes Szenario
  • Zeitstempel
  • betroffene Anwendung

Decisions prüfen

Hat CrowdSec den Angreifer blockiert?

sudo cscli decisions list

Beispiel:

203.0.113.20

Ist zusätzlich ein Firewall-Bouncer installiert, wird diese IP automatisch gesperrt.


Apache-Logs überwachen

Während der Tests empfiehlt sich ein Blick in die Logdateien.

sudo tail -f /var/log/apache2/access.log

Zusätzlich kann CrowdSec beobachtet werden.

sudo journalctl -u crowdsec -f

So lässt sich unmittelbar nachvollziehen, wann ein Angriff erkannt wird.


Metriken prüfen

Ob CrowdSec die Apache-Logs verarbeitet, zeigt:

sudo cscli metrics

Hier erscheinen unter anderem:

  • gelesene Logeinträge
  • Parser
  • Szenarien
  • erkannte Ereignisse
  • Decisions

Steigen diese Werte während Ihrer Tests an, arbeitet die Analyse korrekt.


Best Practices

Für den produktiven Einsatz haben sich folgende Maßnahmen bewährt:

  • Apache-Collection stets aktuell halten.
  • Hub-Komponenten regelmäßig aktualisieren.
  • Firewall-Bouncer verwenden.
  • Apache-Logs regelmäßig kontrollieren.
  • Logrotation korrekt konfigurieren.
  • Verdächtige Alerts regelmäßig prüfen.
  • Fehlalarme durch Whitelists minimieren.
  • WordPress-Installationen zusätzlich absichern.

Typische Fehler

Keine Alerts

Prüfen Sie:

sudo cscli metrics

Werden überhaupt Apache-Logs verarbeitet?


Keine Apache-Collection installiert

Kontrolle:

sudo cscli collections list

Keine neuen Logeinträge

Überprüfen:

sudo tail -f /var/log/apache2/access.log

CrowdSec liest falsche Logdatei

Kontrollieren Sie die Konfiguration der Collection und die verwendeten Logpfade.


Mit der Apache-Collection lässt sich CrowdSec innerhalb weniger Minuten für den Einsatz auf einem Webserver konfigurieren. Die integrierten Parser und Szenarien erkennen eine Vielzahl typischer Angriffsmuster – von Brute-Force-Versuchen über Webscanner bis hin zu WordPress-spezifischen Angriffen. Durch die Auswertung der Apache-Logdateien kann CrowdSec verdächtige Aktivitäten zuverlässig identifizieren und – in Verbindung mit einem Bouncer – automatisch blockieren.

Besonders hilfreich sind dabei die integrierten Werkzeuge zur Analyse von Alerts, Decisions und Metriken. So behalten Sie jederzeit den Überblick darüber, welche Angriffe erkannt wurden und wie CrowdSec darauf reagiert hat.

Im nächsten Teil der Serie widmen wir uns der Absicherung von Nginx. Auch dort zeigen wir Schritt für Schritt, wie Sie die passende Collection installieren, typische Angriffe erkennen und Ihren Webserver mit CrowdSec effektiv schützen.