Eine Web Application Firewall (WAF) schützt Webanwendungen vor Angriffen wie SQL Injection, XSS oder Remote File Inclusion. ModSecurity ist eine weit verbreitete WAF, die sich nahtlos in Apache und Nginx integrieren lässt. In diesem Leitfaden erfahren Einsteiger, IT-Studierende und Junior Network Engineers, wie ModSecurity installiert, konfiguriert und für maximale Sicherheit optimiert wird.
Voraussetzungen
- Linux-Server (Ubuntu/Debian oder CentOS/RHEL)
- Apache oder Nginx installiert und laufend
- Root- oder Sudo-Zugriff
- Grundkenntnisse in Terminal und Texteditoren
- Optional: Firewall und Netzwerkkonfiguration
ModSecurity Installation
Die Installation erfolgt über die Paketmanager und erfordert das passende Modul für den Webserver.
Apache
# Ubuntu/Debian
sudo apt update
sudo apt install libapache2-mod-security2
CentOS/RHEL
sudo yum install mod_security mod_security_crs
Apache neu starten
sudo systemctl restart apache2
sudo systemctl enable apache2
Nginx
Für Nginx wird ModSecurity als dynamisches Modul oder über Nginx Plus integriert.
# Ubuntu/Debian
sudo apt install libnginx-mod-security
# Dienst starten und Nginx neu laden
sudo systemctl restart nginx
sudo systemctl enable nginx
Grundkonfiguration
Die Hauptkonfiguration befindet sich in /etc/modsecurity/modsecurity.conf. Wichtige Parameter:
# Aktivierung
SecRuleEngine On
# Logging
SecAuditEngine RelevantOnly
SecAuditLog /var/log/modsec_audit.log
# Request Body Limit
SecRequestBodyLimit 13107200
SecRequestBodyInMemoryLimit 131072
# Anomaly Mode
SecRuleRemoveById 981176
OWASP Core Rule Set (CRS) aktivieren
CRS bietet vordefinierte Regeln für gängige Webangriffe.
# CRS aktivieren
sudo cp -R /usr/share/modsecurity-crs/ /etc/modsecurity/
sudo ln -s /etc/modsecurity/crs-setup.conf.example /etc/modsecurity/crs-setup.conf
sudo ln -s /etc/modsecurity/rules/*.conf /etc/modsecurity/activated_rules/
Testen der WAF
Nach der Aktivierung sollten Testangriffe durchgeführt werden, z. B. XSS oder SQL Injection-Simulationen.
# Beispiel Test XSS
curl -H "User-Agent: <script>alert(1)</script>" http://localhost
# Prüfen der Logs
tail -f /var/log/modsec_audit.log
Whitelist und Anpassungen
Legitime Anfragen, die blockiert werden, können mit Whitelist-Regeln freigegeben werden:
SecRule REQUEST_URI "@beginsWith /safe_path/" "id:1001,phase:1,allow,ctl:ruleEngine=Off"
Integration in Web-Stack
- Apache: Aktivierung über
a2enmod security2undInclude modsecurity.conf - Nginx: Aktivierung über
modsecurity on;innginx.conf - Zusammenarbeit mit Reverse Proxies möglich
- Logs für Monitoring und Analyse zentralisieren
Netzwerk- und Subnetzplanung
Die WAF sollte im internen Netzwerk vor den Webservern platziert werden, um allen Traffic zu kontrollieren.
IPv4 Subnetz
<math>
WAF-IP = 192.168.350.10/24
Subnetzadresse = 192.168.350.10 & 255.255.255.0 = 192.168.350.0
Broadcastadresse = 192.168.350.0 | ~255.255.255.0 = 192.168.350.255
</math>
IPv6 Subnetz
<math>
WAF-IP = 2001:db8:abcd:350::10/64
Subnetzadresse = 2001:db8:abcd:350:: & ffff:ffff:ffff:ffff:: = 2001:db8:abcd:350::0
Broadcastadresse = 2001:db8:abcd:350:ffff:ffff:ffff:ffff
</math>
Best Practices
- SecRuleEngine aktivieren (
On) - OWASP CRS für Schutz gegen gängige Angriffe nutzen
- Audit-Logs regelmäßig prüfen und analysieren
- Legitime Pfade bei Bedarf whitelisten
- Integration mit Reverse Proxies oder Load Balancer für Traffic-Kontrolle
- Regelmäßige Updates von ModSecurity und CRS
- Ressourcenlimits setzen (Request Body Limit, Memory)
- Separate Logging-Verzeichnisse und Zugriffsrechte beachten
- Testumgebung für neue Regeln verwenden
- Subnetze für Webserver, WAF und Backend sauber planen
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

