Apache Webserver gegen 404 Angriffe absichern

Im folgenden wird beschrieben, wie Sie ihren Apache Webserver mit Mod Security gegen 404 Angriffe absichern können. 404 Angriffe ist hier im Grunde weiter gefasst, es handelt sich dabei um Brute Force Angriffe von Hackern, welche verwundbare Serverinstallationen erkennen wollen. Beliebte Angriffsziele sind hierbei z.B. veraltetete PHPMyADMIN oder WordPress Installationen. Durch das Apache Security Module werden diese massenhaften, fehlerhaften Aufrufe erkannt und auf IP Adressebene unterbunden. Im Beispiel wird Apache2 auf Ubuntu 18.04 zur Absicherung verwendet.

ModSecurity Installation

apt update &&  apt install libapache2-mod-security2 -y
 
/etc/init.d/apache2 restart

cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf

vi /etc/modsecurity/modsecurity.conf

In einer der ersten Zeilen finden den Eintrag “ SecRuleEngine “ . Ändern Sie hier den Wert von „DetectionOnly“ zu „on“. Und starten Sie anschließend den Apache neu.

 /etc/init.d/apache2 restart

OWASP Core Rule Set Implementierung

Falls ModSecurity neu installiert wurde: 
mkdir /usr/share/modsecurity-crs 

Sollte  ModSecurity bereits installiert gewesen sein:
mv /usr/share/modsecurity-crs /usr/share/modsecurity-crs.bk

In jedem Fall:
 git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git /usr/share/modsecurity-crs

  cp /usr/share/modsecurity-crs/crs-setup.conf.example /usr/share/modsecurity-crs/crs-setup.conf

  vi /etc/apache2/mods-enabled/security2.conf

Folgende Zeilen am Ende der Datei hinzufügen damit ModSecurity das neue Regelwerk mit einschließt.

IncludeOptional /usr/share/modsecurity-crs/*.conf
IncludeOptional /usr/share/modsecurity-crs/rules/*.conf

Apache neu starten

/etc/init.d/apache2 restart

Sollten die Standard Regeln unerwünscht sein können diese verschoben oder gelöscht werden.

cd /usr/share/modsecurity-crs/rules
 rm  *.conf 
oder
 mv *.conf /home/ai 

Regel gegen 404 – Angriffe erstellen

vi /usr/share/modsecurity-crs/rules/404.conf

Fügen Sie folgenden Inhalt in die Datei ein.

SecDataDir /var/cache/modsecurity/

SecAction "phase:1,initcol:ip=%{REMOTE_ADDR},id:'1006'"
SecRule RESPONSE_STATUS "@streq 404" "phase:3,pass,setvar:ip.block_script=+1,expirevar:ip.block_script=600,id:'1007'"
SecRule IP:BLOCK_SCRIPT "@ge 3" "phase:2,drop,id:'1008'"

Hierbei kann fest gelegt werden nach wie lange eine IP-Adresse blockiert wird.

Der entsprechende Zahlenwert ( im Beispiel 600 ) ist bei „ip.block_script= “ einzufügen und wird in Sekunden angegeben.

Desweiteren kann bestimmt werden nach welcher Anzahl von verursachten 404 Fehlern eine IP-Adresse blockiert wird.

Dafür muss der Wert ( im Beispiel 3 ) bei „@ge “ eingetragen werden.

Abschließend den Apache neu starten

/etc/init.d/apache2 restart

Hinweis: Die blockierten Adressen sind in /var/cache/modsecurity/ip.pag zu finden. Und können hier manuell entfernt werden.


Ähnliche Themen:

In Apache logfiles IP Adressen anonymisieren (DSGVO)

Tim Perelli

IT-Fachinformatiker bei ADMIN INTELLIGENCE GmbH
Tim Perelli

Letzte Artikel von Tim Perelli (Alle anzeigen)