Rate Limiting und DDoS Schutz: Reverse Proxy Pattern für Compose

In modernen Container-Umgebungen können Microservices durch eine Vielzahl von Anfragen überlastet werden. Ohne Schutzmechanismen können auch einfache Fehlkonfigurationen zu Denial-of-Service (DoS) oder sogar Distributed Denial-of-Service (DDoS) Angriffen führen. Ein bewährtes Muster, um Traffic zu steuern und abzusichern, ist das Reverse Proxy Pattern. In Docker Compose kann ein Reverse Proxy als zentraler Eingangspunkt implementiert werden, um Rate Limiting, Zugriffskontrollen und Schutzmaßnahmen effizient zu realisieren.

1. Reverse Proxy als zentrale Traffic-Schicht

Ein Reverse Proxy sitzt zwischen externen Clients und den internen Services und leitet Anfragen gezielt weiter. Dies bietet mehrere Vorteile:

  • Zentrale Umsetzung von Sicherheitsrichtlinien.
  • Monitoring und Logging auf einer konsolidierten Ebene.
  • Einführung von Rate Limiting, Caching und TLS-Termination.

Beispiel: Nginx als Reverse Proxy in Compose

version: "3.9"
services:
  web:
    image: myapp:latest
    networks:
      - app-net
  reverse-proxy:
    image: nginx:stable
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d
    networks:
      - app-net
networks:
  app-net:
    driver: bridge

Hier fungiert der Container „reverse-proxy“ als zentrale Eintrittsstelle. Alle Anfragen an den Service „web“ werden über den Proxy geleitet.

2. Rate Limiting konfigurieren

Rate Limiting schützt Services vor Überlastung und missbräuchlichen Zugriffen. Nginx bietet hierzu native Module.

Beispielkonfiguration in Nginx

http {
    limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
server {
listen 80;

location / {
limit_req zone=one burst=20 nodelay;
proxy_pass http://web:8080;
}
}

}

  • limit_req_zone definiert die Rate pro IP-Adresse.
  • burst erlaubt kurzfristige Spitzen.
  • nodelay sorgt dafür, dass keine Verzögerungen entstehen, Requests werden verworfen.

3. DDoS Schutzmaßnahmen

Rate Limiting alleine reicht bei großen, verteilten Angriffen nicht aus. Weitere Schutzmaßnahmen:

  • IP Blacklists oder Geo-Blocking über Proxy.
  • Integration von Web Application Firewalls (WAF) wie ModSecurity.
  • Monitoring mit Tools wie Prometheus/Grafana, um Anomalien früh zu erkennen.
  • Verteilte Reverse Proxies (Load Balancer) vor den Compose-Services.

Firewall & Compose Integration

Zusätzlich zu Proxy-basierten Regeln sollten Host-Firewalls (iptables/nftables) sicherstellen, dass nur Proxy-Traffic die Services erreicht:

# Erlaube nur Reverse Proxy auf Port 8080
iptables -A INPUT -p tcp -s 172.18.0.2 --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j DROP

4. TLS-Termination & Security Headers

Der Reverse Proxy kann TLS-Verbindungen terminieren und Sicherheitsheader einfügen:

  • Strict-Transport-Security für HSTS
  • X-Content-Type-Options zur Verhinderung von MIME-Sniffing
  • Content-Security-Policy zur Minimierung von XSS-Risiken

Beispiel TLS-Termination

server {
    listen 443 ssl;
    ssl_certificate /etc/nginx/certs/fullchain.pem;
    ssl_certificate_key /etc/nginx/certs/privkey.pem;
location / {
proxy_pass http://web:8080;
}

}

5. Logging und Monitoring

Alle Sicherheitsmaßnahmen sind nur so gut wie ihre Überwachung. Reverse Proxy ermöglicht konsolidiertes Logging:

  • Zugriffsprotokolle analysieren, um Rate-Limiting-Effekte zu prüfen.
  • Fehlerprotokolle für TLS oder Backend-Fehler auswerten.
  • Integration mit SIEM-Systemen oder ELK Stack zur Echtzeit-Analyse.

Docker Compose Beispiel für Logging

reverse-proxy:
  image: nginx:stable
  volumes:
    - ./nginx/logs:/var/log/nginx

So können Logs außerhalb des Containers persistiert und analysiert werden.

6. Best Practices

  • Reverse Proxy zentralisieren, niemals Services direkt exponieren.
  • Rate Limiting nach IP und ggf. Authentifizierung einführen.
  • TLS immer im Proxy terminieren und Security Header setzen.
  • Logs konsolidiert auswerten, Alerts bei Anomalien konfigurieren.
  • Testumgebung simuliert Traffic-Spitzen vor Produktion ausrollen.
  • Firewall-Regeln strikt auf Proxy-Traffic begrenzen.

Fazit

Das Reverse Proxy Pattern in Docker Compose ermöglicht eine kontrollierte, sichere Traffic-Verteilung und dient als zentrale Schicht für Rate Limiting, TLS-Termination und DDoS-Schutz. Durch konsolidiertes Logging, Monitoring und Firewall-Regeln lassen sich Services zuverlässig absichern und gleichzeitig performant betreiben.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles