SSRF & RCE Mitigation: Egress Controls und Proxy-Policies

Server-Side Request Forgery (SSRF) und Remote Code Execution (RCE) gehören zu den kritischsten Sicherheitsrisiken für Webanwendungen. SSRF ermöglicht es Angreifern, interne Services hinter Firewalls zu erreichen, während RCE direkten Code auf dem Server ausführt. Besonders in modernen Web-Stapeln mit Microservices und APIs steigt die Angriffsfläche. Eine solide Mitigation-Strategie erfordert konsequente Egress-Kontrollen, Proxy-Policies und Edge-Security-Praktiken, um den Schaden frühzeitig zu begrenzen.

SSRF verstehen: Mechanismen und Risiken

SSRF tritt auf, wenn eine Anwendung Nutzereingaben verwendet, um HTTP- oder andere Netzwerk-Requests auszuführen. Angreifer können dadurch interne Ressourcen ansprechen, vertrauliche Daten extrahieren oder weitere Angriffe vorbereiten.

Typische SSRF-Vektoren

  • Image- oder File-Uploads mit externen URLs
  • Webhook-Integrationen, die unvalidierte URLs aufrufen
  • Server-zu-Server API-Aufrufe mit dynamischen Inputs
  • DNS-Rebinding oder URL-Schemata, die lokale Adressen erreichen

RCE in Web-Stapeln

RCE entsteht häufig durch unkontrollierte Template-Ausführung, unsafe eval()-Aufrufe oder Deserialisierung von untrusted Data. Kombinationen mit SSRF können dazu führen, dass Angreifer Code auf internen Services ausführen, die sonst nicht direkt zugänglich sind.

Egress-Kontrollen: Den Datenfluss begrenzen

Der wichtigste Schutz gegen SSRF ist die Kontrolle von ausgehenden Requests. Nur definierte Services und IP-Bereiche dürfen vom Webserver aus erreichbar sein.

Firewall & Network Policies

  • Outbound-Firewall-Regeln: Zulassen nur von IPs und Ports, die für interne Services notwendig sind.
  • Microsegmentierung in Cloud-Umgebungen: Security Groups oder NSGs für gezielte Einschränkungen.
  • DNS-Whitelisting: Nur bekannte Domains für externe Requests zulassen.
# Beispiel für iptables Outbound-Filter
iptables -A OUTPUT -p tcp -d 10.0.0.0/8 --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j DROP

Proxy-Policies am Edge

Reverse-Proxies wie Nginx oder Apache bieten Möglichkeiten, SSRF und RCE-Risiken zu reduzieren, bevor Requests das Backend erreichen.

Whitelist-URLs

Nur bekannte und zugelassene Domains und Pfade durchlassen.

map $arg_url $allowed_url {
    "~^https?://trusted.example.com/" 1;
    default 0;
}

server {
    location /fetch/ {
        if ($allowed_url = 0) {
            return 403;
        }
        proxy_pass $arg_url;
    }
}

Request-Limits und Header-Validierung

  • Blockieren von internen IPs: 127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16
  • Strikte Schemas: nur http/https erlauben
  • Maximale Payload-Größen
  • Whitelist für erlaubte Header und Methoden
if ($remote_addr ~ "^(127.0.0.1|10.)") {
    return 403;
}

Input Validation und Sanitization

SSRF beginnt oft durch dynamische URLs aus User-Input. Vor Weiterverarbeitung sollten URLs validiert werden.

  • URL-Parsing und Prüfung des Schemas
  • Hostname auf Whitelist prüfen
  • Keine Redirects auf interne IPs erlauben
  • Rechte auf minimal notwendige Ressourcen begrenzen

Beispiel PHP-Validation

$url = filter_input(INPUT_GET, 'url', FILTER_VALIDATE_URL);
$host = parse_url($url, PHP_URL_HOST);
$whitelist = ['trusted.example.com'];
if (!in_array($host, $whitelist)) {
    http_response_code(403);
    exit('Forbidden');
}

Monitoring und Logging

Alle ausgehenden Requests sollten geloggt werden, um unautorisierte Zugriffe oder Angriffsversuche zu erkennen.

  • Log interne und externe Ziel-IPs
  • Alerting bei blockierten Requests
  • Integration in SIEM oder Observability-Stack
log_format ssrf '$remote_addr -> $arg_url [$status]';
access_log /var/log/nginx/ssrf.log ssrf;

Weitere Schutzmaßnahmen

  • Templating: Keine untrusted Code-Ausführung in Templates
  • Deserialization: Nur sichere Libraries nutzen
  • Minimalprinzip: Services mit minimalen Rechten ausführen
  • Containerization: Sandboxing für kritische Prozesse

Fazit

SSRF und RCE gehören zu den schwerwiegendsten Bedrohungen für Webanwendungen. Eine effektive Mitigation kombiniert Egress-Kontrollen, Proxy-Policies, Input Validation und Observability. Nur so lassen sich Angriffe früh erkennen, blockieren und die Stabilität des gesamten Web-Stapels erhalten, ohne legitimen Traffic zu stören.

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