Nginx mit Modsecurity
Version vom 27. März 2025, 19:47 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Einfache Demonstration eines WAF mit Nginx und ModSecurity ;Dieser Artikel zeigt, wie man mit Nginx und ModSecurity schnell einen Web Application Firewall…“)
== Einfache Demonstration eines WAF mit Nginx und ModSecurity
- Dieser Artikel zeigt, wie man mit Nginx und ModSecurity schnell einen Web Application Firewall (WAF) einrichtet, um Angriffe wie SQL- oder Command-Injection zu demonstrieren.
=== Voraussetzungen
- Stelle sicher, dass du ein Debian- oder Ubuntu-System verwendest und Root-Rechte hast.
- apt-get update
=== Installation von Nginx und ModSecurity
- Mit einem Befehl installierst du Nginx, das ModSecurity-Modul und die OWASP-Regeln.
- apt-get install nginx libnginx-mod-security modsecurity-crs -y
=== Konfiguration von Nginx
- Bearbeite die Nginx-Konfigurationsdatei, um ModSecurity zu aktivieren.
- nano /etc/nginx/nginx.conf
load_module /usr/lib/nginx/modules/ngx_http_modsecurity_module.so;
http {
server {
listen 80;
server_name localhost;
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;
location / {
root /var/www/html;
}
}
}
- Erstelle die ModSecurity-Regeldatei mit den OWASP Core Rule Set (CRS).
- echo "Include /usr/share/modsecurity-crs/owasp-crs.load" > /etc/nginx/modsec/main.conf
=== Testseite erstellen
- Füge eine einfache HTML-Seite hinzu, um den WAF zu testen.
- echo "
Testseite
" > /var/www/html/index.html
=== Nginx starten
- Starte Nginx, um die Konfiguration zu übernehmen.
- systemctl restart nginx
=== WAF-Funktionalität testen
- Simuliere eine SQL-Injection, um zu prüfen, ob der WAF sie blockiert.
- curl "http://localhost/test?id=1' OR '1'='1"
- Erwartete Ausgabe
- Der Server antwortet mit "403 Forbidden", da ModSecurity den Angriff erkennt.
=== Log-Dateien prüfen
- Überprüfe die ModSecurity-Logs, um Details zum blockierten Angriff zu sehen.
- cat /var/log/modsecurity/audit.log
== Fazit
Mit wenigen Schritten hast du einen funktionalen WAF eingerichtet, der typische Angriffe wie SQL-Injection erkennt und blockiert. Dieses Setup ist ideal für Schulungen, da es einfach, schnell und effektiv ist.
- Die OWASP-Regeln bieten umfassenden Schutz und können bei Bedarf angepasst werden.