Nginx mit Modsecurity: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
== | == Nginx mit ModSecurity und OWASP Core Ruleset schützen == | ||
;Dieser Artikel zeigt, wie man mit | ;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 === | === Voraussetzungen === | ||
; | ;Du benötigst ein Debian/Ubuntu-System mit Root-Rechten und einen Backend-Server (z. B. mail.it113.int). | ||
* apt-get update | * apt-get update | ||
=== Installation | === Installation der Komponenten === | ||
; | ;Installiere Nginx, ModSecurity und das OWASP CRS. | ||
* apt-get install nginx libnginx-mod-security modsecurity-crs -y | * 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 Nginx- | ;Bearbeite die globale Nginx-Konfiguration. | ||
* nano /etc/nginx/nginx.conf | * 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 === | === Nginx starten === | ||
;Starte Nginx, um die Konfiguration zu | ;Starte Nginx, um die Konfiguration zu laden. | ||
* systemctl restart nginx | * systemctl restart nginx | ||
=== | === Schutzmechanismen testen === | ||
; | ;Teste den WAF mit simulierten Angriffen. | ||
* curl " | * curl "https://revproxy.it113.int/?q=' or '1'='1" | ||
* curl "https://revproxy.it113.int/?cmd=cat%20/etc/passwd" | |||
;Erwartete Ausgabe: | ;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 | * cat /var/log/modsecurity/audit.log | ||
* nginx -V | |||
;Stelle sicher, dass "--with-http_modsecurity_module" in der Ausgabe von nginx -V erscheint. | |||
=== Hinweise === | |||
;Die | ;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. | |||
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.