Nginx mit Modsecurity: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(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…“)
 
Zeile 1: Zeile 1:
== Einfache Demonstration eines WAF mit Nginx und ModSecurity
+
== 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.
 
;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
+
=== Voraussetzungen ===
  
 
;Stelle sicher, dass du ein Debian- oder Ubuntu-System verwendest und Root-Rechte hast.
 
;Stelle sicher, dass du ein Debian- oder Ubuntu-System verwendest und Root-Rechte hast.
Zeile 9: Zeile 9:
 
* apt-get update
 
* apt-get update
  
=== Installation von Nginx und ModSecurity
+
=== Installation von Nginx und ModSecurity ===
  
 
;Mit einem Befehl installierst du Nginx, das ModSecurity-Modul und die OWASP-Regeln.
 
;Mit einem Befehl installierst du Nginx, das ModSecurity-Modul und die OWASP-Regeln.
Zeile 15: Zeile 15:
 
* apt-get install nginx libnginx-mod-security modsecurity-crs -y
 
* apt-get install nginx libnginx-mod-security modsecurity-crs -y
  
=== Konfiguration von Nginx
+
=== Konfiguration von Nginx ===
  
 
;Bearbeite die Nginx-Konfigurationsdatei, um ModSecurity zu aktivieren.
 
;Bearbeite die Nginx-Konfigurationsdatei, um ModSecurity zu aktivieren.
Zeile 41: Zeile 41:
 
* echo "Include /usr/share/modsecurity-crs/owasp-crs.load" > /etc/nginx/modsec/main.conf
 
* echo "Include /usr/share/modsecurity-crs/owasp-crs.load" > /etc/nginx/modsec/main.conf
  
=== Testseite erstellen
+
=== Testseite erstellen ===
  
 
;Füge eine einfache HTML-Seite hinzu, um den WAF zu testen.
 
;Füge eine einfache HTML-Seite hinzu, um den WAF zu testen.
Zeile 47: Zeile 47:
 
* echo "<h1>Testseite</h1>" > /var/www/html/index.html
 
* echo "<h1>Testseite</h1>" > /var/www/html/index.html
  
=== Nginx starten
+
=== Nginx starten ===
  
 
;Starte Nginx, um die Konfiguration zu übernehmen.
 
;Starte Nginx, um die Konfiguration zu übernehmen.
Zeile 53: Zeile 53:
 
* systemctl restart nginx
 
* systemctl restart nginx
  
=== WAF-Funktionalität testen
+
=== WAF-Funktionalität testen ===
  
 
;Simuliere eine SQL-Injection, um zu prüfen, ob der WAF sie blockiert.
 
;Simuliere eine SQL-Injection, um zu prüfen, ob der WAF sie blockiert.
Zeile 61: Zeile 61:
 
;Erwartete Ausgabe: Der Server antwortet mit "403 Forbidden", da ModSecurity den Angriff erkennt.
 
;Erwartete Ausgabe: Der Server antwortet mit "403 Forbidden", da ModSecurity den Angriff erkennt.
  
=== Log-Dateien prüfen
+
=== Log-Dateien prüfen ===
  
 
;Überprüfe die ModSecurity-Logs, um Details zum blockierten Angriff zu sehen.
 
;Überprüfe die ModSecurity-Logs, um Details zum blockierten Angriff zu sehen.
Zeile 67: Zeile 67:
 
* cat /var/log/modsecurity/audit.log
 
* cat /var/log/modsecurity/audit.log
  
== Fazit
+
== 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.
 
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.
 
;Die OWASP-Regeln bieten umfassenden Schutz und können bei Bedarf angepasst werden.

Version vom 27. März 2025, 19:49 Uhr

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.
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.