Nginx mit Modsecurity: Unterschied zwischen den Versionen

Aus Xinux Wiki
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.
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.