WAF-REL-110 – Circuit Breaker, Backpressure und Rate Limiting müssen für Downstream-Abhängigkeiten definiert sein

Beschreibung

Every downstream HTTP/gRPC dependency MUST have explicit timeout, retry, circuit breaker, and bulkhead configuration. Services MUST propagate backpressure instead of accepting unbounded load. Rate limits MUST protect backends from accidental or malicious overload. Configuration MUST be observable through metrics and tested via chaos or fault injection.

Begründung

Risiko Beschreibung

Risk

Cascading failures spread when a single slow dependency saturates all callers.

Risk

Unbounded retries during outages amplify load and prevent recovery of failing services.

Anforderungen

  • Every downstream HTTP/gRPC dependency MUST have explicit timeout, retry, circuit breaker, and bulkhead configuration.

  • Services MUST propagate backpressure instead of accepting unbounded load.

  • Rate limits MUST protect backends from accidental or malicious overload.

  • Configuration MUST be observable through metrics and tested via chaos or fault injection.

Implementierungsleitfaden

  1. Document the requirement in a version-controlled policy, ADR, or standard.

  2. Assign ownership and establish a review cadence (e.g., quarterly).

  3. Implement the required configuration as code in Terraform or equivalent IaC.

Reifegrade

Level Name Kriterien

L1

Ad hoc – control not consistently applied

* Die Anforderung ist nicht einheitlich umgesetzt; Nachweis existiert nur punktuell oder fehlt.

L2

Standardised – policy defined and communicated

* Eine dokumentierte Policy oder ein Standard beschreibt die Anforderung.

L3

Integrated – automated validation in CI/CD

* Terraform-Checks oder IaC-Gates prüfen die Anforderung automatisch in CI/CD.

L4

Auditable – metrics and exceptions tracked

* Abdeckung, Ausnahmen und Qualitätsmetriken werden quartalsweise berichtet.

L5

Optimised – continuous improvement based on data

* Die Effektivität wird kontinuierlich gemessen und automatisch optimiert.

Checks

waf-rel-110.tf.aws.alb-timeout

Engine: terraform | Provider: aws | Automated: Ja

AWS ALB Idle Timeout muss explizit konfiguriert sein

AWS ALB Idle Timeout muss explizit konfiguriert sein

Scope: resource — aws_lb

Assertions: * idle_timeout attribute_exists — ALB idle_timeout must be explicitly set.

Remediation: AWS ALB Idle Timeout muss explizit konfiguriert sein

Compliant
# Beispiel konform zu waf-rel-110.tf.aws.alb-timeout
Non-Compliant
# Beispiel nicht konform zu waf-rel-110.tf.aws.alb-timeout

waf-rel-110.tf.aws.api-gateway-throttle

Engine: terraform | Provider: aws | Automated: Ja

AWS API Gateway muss Throttling-Einstellungen definieren

AWS API Gateway muss Throttling-Einstellungen definieren

Scope: resource — aws_api_gateway_stage, aws_apigatewayv2_stage

Assertions: * throttle_settings attribute_exists — API Gateway stage must define throttling.

Remediation: AWS API Gateway muss Throttling-Einstellungen definieren

Compliant
# Beispiel konform zu waf-rel-110.tf.aws.api-gateway-throttle
Non-Compliant
# Beispiel nicht konform zu waf-rel-110.tf.aws.api-gateway-throttle

waf-rel-110.tf.azurerm.app-gateway-timeout

Engine: terraform | Provider: azurerm | Automated: Ja

Azure Application Gateway Backend-Einstellungen müssen explizite Request Timeouts definieren

Azure Application Gateway Backend-Einstellungen müssen explizite Request Timeouts definieren

Scope: resource — azurerm_application_gateway

Assertions: * backend_http_settings.request_timeout_in_seconds attribute_exists — Backend HTTP settings must define request timeout.

Remediation: Azure Application Gateway Backend-Einstellungen müssen explizite Request Timeouts definieren

Compliant
# Beispiel konform zu waf-rel-110.tf.azurerm.app-gateway-timeout
Non-Compliant
# Beispiel nicht konform zu waf-rel-110.tf.azurerm.app-gateway-timeout

waf-rel-110.config.resilience-policy

Engine: config | Provider: any | Automated: Nein

Circuit-Breaker-Policy muss dokumentiert sein

Circuit-Breaker-Policy muss dokumentiert sein

Scope: file — docs/reliability/circuit-breaker-policy.md

Assertions: * exists attribute_exists — Circuit breaker/backpressure policy must exist.

Remediation: Circuit-Breaker-Policy muss dokumentiert sein

Compliant
# Beispiel konform zu waf-rel-110.config.resilience-policy
Non-Compliant
# Beispiel nicht konform zu waf-rel-110.config.resilience-policy

Evidenz

  • Terraform-Konfiguration, die die Anforderung umsetzt.

  • Policy, ADR oder Standard, der die Anforderung dokumentiert.

  • Optionale Cloud-Konsolen- oder API-Ausgaben, die den Laufzeit-Zustand bestätigen.

Verwandte Controls