Zum Inhalt springen

Services, Wiki-Artikel und Blog-Beiträge durchsuchen

↑↓NavigierenEnterÖffnenESCSchließen
API Gateway Security: Schutzmaßnahmen für moderne API-Infrastruktur - Kritische Infrastruktur und IT-Sicherheitsschutz
Cloud Security

API Gateway Security: Schutzmaßnahmen für moderne API-Infrastruktur

API Gateway Security: OAuth 2.0, mTLS, Rate Limiting, JWT-Validierung für Kong, AWS API Gateway, Azure APIM und Google Cloud Apigee.

Vincent Heinen Vincent Heinen Abteilungsleiter Offensive Services
10 Min. Lesezeit
OSCP+ OSCP OSWP OSWA

TL;DR

API Gateways zentralisieren die gesamte Sicherheitslogik für Microservices-Architekturen und ersetzen inkonsistente, service-individuelle Implementierungen durch eine einzige, auditierbare Kontrollschicht. Dieser Guide beschreibt vier Authentifizierungsmethoden: API Keys mit mindestens 256-Bit-Entropie für Server-zu-Server-Kommunikation, OAuth 2.0 mit JWT-Validierung via Public Key ohne Backend-Roundtrip, mTLS für B2B- und Healthcare-Szenarien sowie OIDC/PKCE für Browser-Applikationen. Rate Limiting greift auf IP-, API-Key- und JWT-Claims-Ebene gleichzeitig - Login-Endpunkte erhalten dabei maximal 5 Versuche pro Minute. Konkrete Konfigurationsbeispiele decken Kong Gateway, AWS API Gateway, Azure API Management und Google Cloud Apigee ab.

Diese Zusammenfassung wurde KI-gestützt erstellt (EU AI Act Art. 50).

Inhaltsverzeichnis (6 Abschnitte)

In Microservices-Architekturen kommunizieren Dutzende Services über APIs miteinander. Ohne zentrale Sicherheitssteuerung muss jeder Service selbst Authentifizierung, Rate Limiting und Input-Validierung implementieren - inkonsistent, fehleranfällig und schwer zu auditieren. API Gateways lösen dieses Problem: sie sind der einzige Einstiegspunkt für alle API-Anfragen und durchsetzen Sicherheitsrichtlinien zentral.

API Gateway Sicherheitsarchitektur

In klassischen Microservices-Architekturen ohne Gateway kommuniziert der Client direkt mit jedem einzelnen Service - mit unterschiedlichen, inkonsistenten Auth-Verfahren oder gar keiner Authentifizierung. Jede Service-Schwachstelle ist direkt von außen erreichbar, Logging ist fragmentiert.

Mit einem API Gateway ändert sich das grundlegend: Der Client kommuniziert ausschließlich mit dem Gateway, das dann intern an die Services weiterleitet. Die internen Services sind nicht direkt erreichbar (privates Subnet), Security-Policy wird einmal definiert und überall durchgesetzt.

Ein API Gateway konsolidiert folgende Sicherheitsfunktionen:

FunktionBeschreibung
AuthenticationAPI Keys, OAuth 2.0 Bearer, mTLS, OIDC
AuthorizationRBAC, JWT Claims-basiert, Policy-Engine (OPA)
Rate LimitingPro User, Pro IP, Pro API-Key, Global
Input ValidationSchema-Validierung, Payload-Inspektion
TLS TerminationHTTPS extern, HTTP/mTLS intern (service mesh)
LoggingAlle Requests zentral, für SIEM-Integration
WAF-IntegrationSQL Injection, XSS, OWASP-Regeln
API VersioningRouting basierend auf Version-Header oder URL

Authentifizierung im API Gateway

Methode 1: API Keys (einfach, begrenzt sicher)

API Keys (Authorization: X-API-Key: sk-prod-abc123xyz...) sind einfach zu implementieren, haben aber wesentliche Schwachstellen: keine Ablaufzeit (Revokation muss manuell erfolgen), kein User-Kontext (wer benutzt diesen Key?), und sie landen häufig in .env-Dateien, Git-Repos und Logs.

Empfohlen nur für Server-zu-Server-Kommunikation ohne User-Kontext. Sichere Implementierung erfordert mindestens 256-Bit-Entropie (32+ Bytes random), typisierte Prefixes (sk-prod-, sk-dev-, pk-), einen Key-Rotation-Mechanismus mit gleichzeitig gültigen Keys, sofortigen Revoke-Mechanismus, und die strikte Regel: keine Keys in URLs (Logs, Referrer-Header). HMAC-signierte Keys erlauben Server-seitige Validierung ohne DB-Lookup.

Methode 2: OAuth 2.0 + JWT (empfohlen für User-Auth)

Das Gateway validiert JWTs via den Public Key des Authorization Servers ohne Backend-Call - das spart Performance. Claims-Prüfung umfasst iss, aud, exp und nbf.

Beispiel Kong Gateway JWT-Plugin-Konfiguration:

plugins:
- name: jwt
  config:
    secret_is_base64: false
    claims_to_verify:
      - exp
      - nbf
    key_claim_name: iss  # Welcher Claim ist der Key-Identifier
    cookie_names: []  # Kein Cookie-Auth (nur Authorization Header)

JWT-Sicherheitsfallen:

  • alg: none-Angriff - das Gateway muss den Algorithmus explizit konfigurieren
  • RS256 statt HS256 verwenden (asymmetrisch: Public Key im Gateway, Private im Auth-Server)
  • Kurzlebige Tokens: exp maximal 15 Minuten für API-Calls
  • Refresh Token Rotation: jeder Refresh rotiert das Token

Methode 3: mTLS (höchste Sicherheit für B2B)

Der Client präsentiert ein Client-Zertifikat, der Server validiert gegen bekannte CAs. Keine Secrets in Transit, bidirektionale Authentifizierung. Ideal für Partner-APIs, Payment-Provider und Healthcare. Bei AWS API Gateway: Truststore als PEM in S3, Client-Certificate-CN als Identifier, CRL/OCSP-Checking für revoked Certificates.

Methode 4: OIDC / PKCE für Browser-Apps

SPAs mit Backend nutzen Authorization Code + PKCE. Kein Implicit Flow (Tokens im Fragment sind unsicher). Das Gateway kann OIDC-Tokens validieren und User-Info in den Downstream-Request injizieren.

Rate Limiting und DDoS-Schutz

Effektives Rate Limiting arbeitet auf mehreren Ebenen gleichzeitig:

IP-basiertes Rate Limiting (Anti-DDoS): Verhindert einfache Angriffe, hat aber das Bypass-Problem bei Botnets mit vielen IPs. Lösung: IP-Reputation kombiniert mit CDN-basiertem Rate Limiting.

API-Key-basiertes Rate Limiting (Fair Use): Pro API-Key z.B. 1.000 Requests/Minute. Die Response-Header X-RateLimit-Limit, X-RateLimit-Remaining und X-RateLimit-Reset machen das Limit transparent für Entwickler.

User-basiertes Rate Limiting (JWT Claims): Aus dem JWT werden user_id und subscription_tier extrahiert und daraus die Rate-Limit-Klasse bestimmt: Premium-User 10.000 req/min, Standard-User 1.000 req/min, kostenloser Plan 100 req/min.

Endpoint-spezifisches Rate Limiting: /auth/login maximal 5 Attempts/Minute pro IP (Brute Force!), /api/search 100 req/min (teuer), /api/health unlimitiert (Monitoring).

Beispiel Kong Gateway Rate Limiting:

plugins:
- name: rate-limiting
  config:
    minute: 1000
    hour: 10000
    policy: redis       # Redis-basiert (Cluster-aware!)
    fault_tolerant: true  # Bei Redis-Ausfall: Pass-Through statt Block
    hide_client_headers: false
    redis_host: redis.internal

Beim Algorithmus-Typ gilt: Token Bucket erlaubt kurze Bursts, Fixed Window ist streng aber einfach, Sliding Window ist fair aber komplexer. Empfohlen für reale APIs: Token Bucket kombiniert mit IP-Reputation.

Input Validation im Gateway

1. JSON Schema Validation

# AWS API Gateway Request Validation:
RequestValidator:
  Type: AWS::ApiGateway::RequestValidator
  Properties:
    ValidateRequestBody: true
    ValidateRequestParameters: true

# Schema für /api/user POST:
RequestModels:
  application/json: !Ref UserSchema
UserSchema:
  type: object
  required: [email, name]
  additionalProperties: false  # KEINE unbekannten Felder!
  properties:
    email:
      type: string
      format: email
      maxLength: 254
    name:
      type: string
      maxLength: 100
      pattern: "^[\\w\\s]+$"  # Nur alphanumerisch + Leerzeichen

Ungültige Requests werden mit 400 Bad Request abgelehnt bevor sie das Backend erreichen.

2. Content-Type-Erzwingung

Nur application/json für JSON-Endpoints erlauben, Content-Type-Sniffing verhindern, und ein Payload-Size-Limit von maximal 10 MB gegen ReDoS und Memory-Exhaustion setzen.

3. Parameter-Validierung

  • URL-Parameter: nur alphanumerisch
  • Path-Parameter: maximale Länge, Whitelist-Pattern
  • Query-Parameter: keine kritischen Daten in URLs (landen in Logs)
  • Header-Injection: CR/LF in Headers filtern

4. SQL/NoSQL Injection im Gateway

Das Gateway bietet Basis-Filterung als Defense-in-Depth. Das Backend muss jedoch trotzdem Prepared Statements nutzen - das Gateway ersetzt Backend-Validierung nicht, es ergänzt sie.

WAF-Integration:

  • AWS: API Gateway + AWS WAF (Managed Rules)
  • Azure: APIM + Azure Front Door + WAF
  • Google: Apigee + Cloud Armor
  • In allen Fällen: OWASP Core Rule Set (CRS) im WAF aktivieren

Logging und Monitoring

Was geloggt werden muss

  • Request-Timestamp (UTC)
  • Client-IP (via validiertem X-Forwarded-For)
  • HTTP-Methode, URL-Path und Query-Params (kein Passwort in URL)
  • Response-Status-Code
  • Latenz in Millisekunden
  • API-Key-Hash oder User-ID (kein Plaintext-Key)
  • Authentication-Ergebnis (Success / Fail / MissingToken)
  • Rate-Limit-Treffer

Was nicht geloggt werden darf

  • Passwörter (auch in POST-Bodies)
  • Plaintext-API-Keys oder Token
  • Session-IDs
  • Kreditkartendaten, IBAN
  • DSGVO-sensitive PII ohne Anonymisierung

SIEM-Integration und Alerts

Kritische Alert-Regeln für ein API Gateway:

  • 401/403-Rate pro API-Key über 100/Minute: Alert (Brute Force?)
  • 500-Error-Rate über 5%: Alert (Angriff verursacht Backend-Fehler?)
  • Neue Geo-Location für API-Key: Alert
  • Payload-Size-Anomalie: plötzlich 10× größere Payloads
  • Endpoint-Scanning-Pattern: viele 404-Fehler von einer IP
AWS CloudWatch → Microsoft Sentinel Integration:
EventBridge → Kinesis → Sentinel Custom Log
Enables: Korrelation mit Identity-Events, MDI-Alerts, etc.

Gateway-spezifische Konfigurationen

Kong Gateway (Self-Hosted)

Folgende Plugins sollten immer aktiviert sein:

  • rate-limiting (Redis-Backend)
  • jwt (mit explizitem Algorithm: RS256)
  • request-size-limiting (max: 10 megabytes)
  • ip-restriction (Blocklist für bekannte Malicious IPs)
  • bot-detection (User-Agent Filtering)
  • response-transformer (Security Headers hinzufügen)

Security-Response-Headers werden über das Gateway gesetzt:

Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Content-Security-Policy: default-src 'none'  # Für reine APIs

AWS API Gateway

Checkliste für sicheres Setup:

  • Custom Authorizer (Lambda) für JWT und Business-Logik
  • Resource Policies: IP-Whitelist für interne APIs
  • mTLS: Truststore-S3-Bucket konfiguriert
  • WAF Association: Managed Rules und Custom Rules
  • Access Logging via CloudWatch und CloudTrail Integration
  • Throttling: Default 10.000 req/s, pro Stage konfiguriert
  • API Keys nur für Usage-Plan-Tracking verwenden, nicht für Security - Auth via Authorizer

Azure API Management (APIM)

<policies>
  <inbound>
    <validate-jwt header-name="Authorization" failed-validation-httpcode="401">
      <openid-config url="https://login.microsoftonline.com/.../v2.0/.well-known/openid-configuration"/>
      <required-claims>
        <claim name="aud"><value>api://myapp</value></claim>
      </required-claims>
    </validate-jwt>
    <rate-limit calls="1000" renewal-period="60"/>
    <ip-filter action="allow">
      <address-range from="10.0.0.0" to="10.255.255.255"/>
    </ip-filter>
  </inbound>
</policies>

APIM mit Private Endpoint stellt sicher dass Backend-Services nicht öffentlich erreichbar sind. Managed Identity eliminiert Service-Principal-Secrets für Backend-Auth.

API Security Testing mit der Gateway-Perspektive

Typische Tests die bei einem API-Gateway-Security-Review durchgeführt werden:

  • Bypass-Test: Direkt gegen Backend-Service (interne IP/Port erreichbar?)
  • Auth-Bypass: Gateway-Header fälschen (X-User-ID: admin?)
  • Rate-Limit-Bypass: Header X-Forwarded-For manipulieren
  • JWT-Alg-None: alg: "none" in JWT-Header
  • Routing-Anomalien: Path-Traversal in URL

API Gateways sind keine Sicherheitslösung aus der Box - sie sind Werkzeuge die korrekt konfiguriert werden müssen. Die häufigsten Fehler: JWT-Algorithmus nicht fixiert, Rate-Limiting nur auf IP-Ebene, keine Input-Validierung, und Backend-Services direkt erreichbar. AWARE7 prüft API-Gateway-Konfigurationen im Rahmen von Cloud-Security-Reviews und API-Penetrationstests.

API Penetrationstest anfragen | Cloud Security Services

Nächster Schritt

Unsere zertifizierten Sicherheitsexperten beraten Sie zu den Themen aus diesem Artikel — unverbindlich und kostenlos.

Kostenlos · 30 Minuten · Unverbindlich

Artikel teilen

Über den Autor

Vincent Heinen
Vincent Heinen

Abteilungsleiter Offensive Services

E-Mail

M.Sc. IT-Sicherheit mit über 5 Jahren Erfahrung in offensiver Sicherheitsanalyse. Leitet die Durchführung von Penetrationstests mit Spezialisierung auf Web-Applikationen, Netzwerk-Infrastruktur, Reverse Engineering und Hardware-Sicherheit. Verantwortlich für mehrere Responsible Disclosures.

OSCP+ OSCP OSWP OSWA
Zertifiziert ISO 27001ISO 9001AZAV