Nginx mit Modsecurity

Aus Xinux Wiki
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…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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