Back openDesk Edu for a sovereign, open-source education — every vote counts.
Vote nowSave products you love by clicking the heart icon.
Datengestützte Untersuchung von Open-Source-Kubernetes-Security-Tools basierend auf einem Korpus von 2.080 Repositories – Scanning, Secrets, Policy, Runtime und Supply-Chain-Integrität.
Eine dedizierte Reverse-Proxy-Schicht ist die effektivste Sicherheitsinvestition, die Sie für eine Webanwendung tätigen können. Sie übernimmt die SSL-Terminierung, Rate Limiting, WAF-Inspektion und das Upstream-Routing – all dies sind Aufgaben, die einzelne Applikationsserver nicht selbst verwalten sollten.
Der hier vorgestellte Stack kombiniert drei praxiserprobte Tools: Nginx für das Request-Handling, Certbot für automatisches SSL und CrowdSec für eine verhaltensbasierte WAF/IPS.
Die ereignisgesteuerte Architektur von Nginx bedeutet, dass die Worker-Konfiguration direkten Einfluss auf den Durchsatz hat:
worker_processes auto;
worker_connections 1024;
multi_accept on;
use epoll;
auto Worker-Prozesse = Anzahl der CPU-Kerneepoll ist der Linux-native Event-Loop – signifikant effizienter als select oder pollDie SSL-Konfiguration folgt dem „Modern“-Profil von Mozilla:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:...;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_session_tickets off;
Wichtige Entscheidungen:
Das Rate Limiting wird pro Zone und nicht pro Request konfiguriert:
limit_req_zone $binary_remote_addr zone=api:10m rate=30r/s;
limit_conn_zone $binary_remote_addr zone=addr:10m;
Der $binary_remote_addr Key verwendet die Client-IP im Binärformat (4 Bytes für IPv4, 16 für IPv6), um den Speicherverbrauch zu minimieren. Die 10MB-Zone speichert ca. 80.000 Einträge.
Der Certbot-Container verwaltet den vollständigen Lebenszyklus der Zertifikate:
/var/www/certbot durch.0 */12 * * *), um Erneuerungen zu prüfen.Certbot unterstützt mehrere Challenge-Typen. Der Webroot-Modus (--webroot -w /var/www/certbot) ist die beste Wahl für diesen Stack:
CrowdSec ist eine verhaltensbasierte Security-Engine. Sie analysiert Logs, erkennt Angriffe mithilfe von Community-beigesteuerten Szenarien und blockiert bösartige IPs auf der Ebene des Reverse Proxys:
Der CrowdSec-Container ist mit der Nginx-Collection konfiguriert, welche Folgendes enthält:
crowdsecurity/nginx: Basis-Nginx-Parsercrowdsecurity/http-cve: Erkennung von HTTP-Vulnerability-Scanningcrowdsecurity/http-bf: Brute-Force-Erkennung an Login-Endpunktencrowdsecurity/http-path-traversal: Path-Traversal-VersucheDer Bouncer läuft als separater Container (basiert auf nftables), der über eine API mit CrowdSec kommuniziert:
docker compose exec crowdsec cscli decisions list
# Manually ban an IP
docker compose exec crowdsec cscli decisions add --ip 1.2.3.4 --duration 24h
server_tokens off) — verhindert die Offenlegung der Versionclient_max_body_size pro Anwendung setzen — Standard-1MB blockiert Datei-Uploadslimit_req pro Upstream konfigurieren — verhindert, dass ein langsamer Dienst andere blockiertproxy_read_timeout angemessen setzen — Long-Polling-Endpunkte benötigen 300s+/etc/letsencrypt sichern — der Verlust von SSL-Zertifikaten erfordert eine Neuausstellung und Neupropagierungcscli metrics zeigt das Erkennungsvolumen und blockierte IPs