Nginx mit Modsecurity: Unterschied zwischen den Versionen
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…“ |
Keine Bearbeitungszusammenfassung |
||
| 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.
- curl "http://localhost/test?id=1' OR '1'='1"
- 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.