Nginx mit Modsecurity: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 40: | Zeile 40: | ||
* nano /etc/nginx/conf.d/revproxy.it113.int.conf | * nano /etc/nginx/conf.d/revproxy.it113.int.conf | ||
| − | + | <pre> | |
server { | server { | ||
listen 443 ssl; | listen 443 ssl; | ||
| Zeile 58: | Zeile 58: | ||
} | } | ||
} | } | ||
| + | </pre> | ||
=== Nginx starten === | === Nginx starten === | ||
Version vom 27. März 2025, 20:06 Uhr
Nginx mit ModSecurity und OWASP Core Ruleset schützen
- Dieser Artikel zeigt, wie man Nginx als Reverse Proxy mit ModSecurity v3 und OWASP CRS einrichtet, um Angriffe wie SQL-Injection oder Command-Injection zu blockieren.
Voraussetzungen
- Du benötigst ein Debian/Ubuntu-System mit Root-Rechten und einen Backend-Server (z. B. mail.it113.int).
- apt-get update
Installation der Komponenten
- Installiere Nginx, ModSecurity und das OWASP CRS.
- apt-get install nginx libnginx-mod-security modsecurity-crs -y
- git clone https://github.com/coreruleset/coreruleset /etc/nginx/modsec/crs
- cp /etc/nginx/modsec/crs/crs-setup.conf.example /etc/nginx/modsec/crs/crs-setup.conf
ModSecurity global aktivieren
- Bearbeite die globale Nginx-Konfiguration.
- nano /etc/nginx/nginx.conf
modsecurity on; modsecurity_rules_file /etc/nginx/modsec/main.conf;
Hauptregeldatei erstellen
- Erstelle die ModSecurity-Regeldatei mit CRS-Einbindung.
- nano /etc/nginx/modsec/main.conf
Include /etc/nginx/modsec/crs/crs-setup.conf Include /etc/nginx/modsec/crs/rules/*.conf
Virtuellen Host konfigurieren
- Richte einen Reverse Proxy mit SSL und WAF ein.
- nano /etc/nginx/conf.d/revproxy.it113.int.conf
server {
listen 443 ssl;
server_name revproxy.it113.int;
ssl_certificate /etc/nginx/ssl/revproxy.it113.int.crt;
ssl_certificate_key /etc/nginx/ssl/revproxy.it113.int.key;
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;
location / {
proxy_pass https://mail.it113.int;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Nginx starten
- Starte Nginx, um die Konfiguration zu laden.
- systemctl restart nginx
Schutzmechanismen testen
- Teste den WAF mit simulierten Angriffen.
- curl "https://revproxy.it113.int/?q=' or '1'='1"
- curl "https://revproxy.it113.int/?cmd=cat%20/etc/passwd"
- Erwartete Ausgabe
- 403 Forbidden, da ModSecurity die Angriffe blockiert.
Fehlerbehandlung
- Falls nichts blockiert wird, prüfe die Logs und Konfiguration.
- cat /var/log/modsecurity/audit.log
- nginx -V
- Stelle sicher, dass "--with-http_modsecurity_module" in der Ausgabe von nginx -V erscheint.
Hinweise
- ModSecurity v3 mit OWASP CRS schützt vor SQLi, XSS, RCE, LFI, RFI und mehr.
- Die Regeln können in /etc/nginx/modsec/crs/crs-setup.conf angepasst werden.