Site icon bintorosoft.com

WAF auf Linux: ModSecurity mit Nginx/Apache einrichten

Python Logo: Digital Art on a Code Background

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

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

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

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:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version