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)
- Nextcloud Volltextsuche mit Elasticsearch - 26. März 2024
- Nextcloud SAML: Single Sign-On mit Azure AD - 19. März 2024
- Dropbox mit Rclone verbinden - 17. November 2023