Skip to content
🚀 20% OFF for new customers on Linux and Windows servers! Code: ILK20  |  Order Now →
shield Sicherheit & Härtung

Nginx OWASP Top 10 Sicherheitsmaßnahmen: Wie härten Sie Ihren Webserver?

Schützen Sie Ihren Nginx-Server vor den OWASP Top 10 Sicherheitsbedrohungen. Schritt-für-Schritt-Konfigurationstipps für Injection, XSS, SSL-Probleme und mehr. Härten Sie Ihren Server.

person
Editör
(Aktualisiert: 10 Sep 2026) schedule 3 Min. Lesezeit visibility 11 Aufrufe

Nginx ist aufgrund seiner Leichtbauweise und hohen Leistung einer der beliebtesten Webserver. Ohne korrekte Konfiguration kann er jedoch anfällig für die Sicherheitslücken der OWASP Top 10 sein. In diesem Artikel erkläre ich Schritt für Schritt, wie Sie Ihren Nginx gegen diese Bedrohungen schützen. Sie finden praktische Lösungen mit Beispielkonfigurationen.

Allgemeine Sicherheitsgrundsätze

Bevor Sie mit der Konfiguration beginnen, stellen Sie sicher, dass Nginx auf dem neuesten Stand ist (Version 1.24 oder höher empfohlen). Deaktivieren Sie unnötige Module, verbergen Sie die Server-Signatur und entfernen Sie Standardseiten. Beispielsweise können Sie mit der Direktive server_tokens off; die Nginx-Versionsinformationen aus HTTP-Headern entfernen. Löschen Sie außerdem unnötige Dateien unter /etc/nginx/conf.d/.

Wichtigste OWASP Top 10 Bedrohungen und Lösungen in Nginx

1. Injection (A1)

Filtern Sie Eingaben gegen SQL-, NoSQL- oder OS-Befehlsinjektionen. Die effektivste Methode auf Nginx-Ebene ist die Integration von ModSecurity (OWASP CRS). Begrenzen Sie außerdem die Anfragenrate mit limit_req, um Brute-Force-Angriffe zu verhindern. Beispielkonfiguration:

limit_req_zone $binary_remote_addr zone=login:10m rate=5r/s; location /login { limit_req zone=login burst=10 nodelay; }

Diese Einstellung blockiert mehr als 5 Anfragen pro Sekunde an den Pfad /login.

2. Authentifizierung und Session-Management (A2)

HTTPS ist zwingend erforderlich. Deaktivieren Sie in Nginx mit ssl_protocols TLSv1.2 TLSv1.3; alte Protokolle. Fügen Sie zum Schutz von Session-Cookies proxy_cookie_flag HttpOnly Secure SameSite=Lax hinzu. Vermeiden Sie einfache Methoden wie auth_basic; verwenden Sie stattdessen das auth_request-Modul für OpenID Connect oder JWT-Validierung.

3. Offenlegung sensibler Daten (A3)

Verschärfen Sie die SSL/TLS-Einstellungen: ssl_ciphers HIGH:!aNULL:!MD5; und fügen Sie den HSTS-Header hinzu: add_header Strict-Transport-Security "max-age=63072000" always;. Verhindern Sie MIME-Typ-Spoofing mit add_header X-Content-Type-Options nosniff;. Blockieren Sie den Zugriff auf sensible Dateien (z. B. .env) mit:

location ~ \.(env|git|svn|log)$ { deny all; return 404; }

4. XML External Entities (XXE) (A4)

Obwohl Nginx XML nicht direkt parst, puffern Sie Anfragen mit proxy_request_buffering und begrenzen Sie die Größe mit client_max_body_size, um XXE-Angriffe auf Backend-Anwendungen zu verhindern. OWASP CRS-Regeln erkennen XXE.

5. Fehlerhafte Zugriffskontrolle (A5)

Beschränken Sie sensible Bereiche mit location-Blöcken. Erlauben Sie nur notwendige IP-Adressen:

location /admin { allow 192.168.1.0/24; deny all; }

Mit map können Sie dynamische Zugriffskontrollen einrichten.

6. Sicherheitsfehlkonfigurationen (A6)

Verwenden Sie keine Standardkonfigurationen. Stellen Sie ein Gleichgewicht zwischen Leistung und Sicherheit her mit Einstellungen wie ssl_session_tickets off;, ssl_buffer_size 4k;. Passen Sie Fehlerseiten an: error_page 404 /custom_404.html;. Verhindern Sie Clickjacking mit add_header X-Frame-Options SAMEORIGIN;.

7. Cross-Site Scripting (XSS) (A7)

Fügen Sie den Content-Security-Policy-Header hinzu:

add_header Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none'" always;

Weitere Header: X-XSS-Protection 1; mode=block und Referrer-Policy no-referrer. Diese Einstellungen reduzieren browserbasierte XSS-Angriffe.

8. Unsichere Deserialisierung (A8)

Obwohl Nginx selbst keine Deserialisierung durchführt, begrenzen Sie die Größe von Anfragedaten mit client_body_buffer_size 128k;. Unterbrechen Sie den Stream mit proxy_request_buffering off;.

9. Komponenten mit bekannten Schwachstellen (A9)

Nginx muss regelmäßig aktualisiert werden: yum update nginx unter CentOS/RHEL, apt upgrade nginx unter Ubuntu/Debian. Deaktivieren Sie nicht verwendete Module bereits zur Kompilierungszeit. Verfolgen Sie die Sicherheitsbulletins von Nginx.

10. Unzureichende Protokollierung und Überwachung (A10)

Passen Sie das Log-Format an, um Angriffserkennung zu erleichtern:

log_format detailed '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log detailed;

Blockieren Sie verdächtige IPs automatisch mit Fail2ban. Setzen Sie das Error-Log-Level auf warn.

Zusätzliche Maßnahmen und Fazit

Die alleinige Implementierung der obigen Konfigurationen ist nicht ausreichend. Ich empfehle die Verwendung von ModSecurity + OWASP CRS als Web Application Firewall (WAF). Sie können Nginx mit ModSecurity kompilieren oder die integrierte WAF von Nginx Plus nutzen. Führen Sie regelmäßige Sicherheitsscans und Penetrationstests durch.

Abschließend als HostingServer.com.tr empfehlen wir, diese Einstellungen in der Produktion sorgfältig zu testen. Jeder Server ist anders; passen Sie sie an Ihre Bedürfnisse an. Denken Sie daran: Sicherheit ist kein Produkt, sondern ein Prozess.

Diesen Artikel teilen

Verwandte Beiträge