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…“) |
|||
| 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.