WAF-REL-110 β Circuit breaker, backpressure, and rate limiting MUST be defined for downstream dependencies
Description
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.
Rationale
| Risk | Description |
|---|---|
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. |
Requirements
-
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.
Implementation Guidance
-
Document the requirement in a version-controlled policy, ADR, or standard.
-
Assign ownership and establish a review cadence (e.g., quarterly).
-
Implement the required configuration as code in Terraform or equivalent IaC.
Maturity Levels
| Level | Name | Criteria |
|---|---|---|
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: Yes
AWS ALB idle timeout must be explicitly configured
AWS ALB idle timeout must be explicitly configured
Scope: resource β aws_lb
Assertions:
* idle_timeout attribute_exists β ALB idle_timeout must be explicitly set.
Remediation: AWS ALB idle timeout must be explicitly configured
# Example compliant with waf-rel-110.tf.aws.alb-timeout
# Example non-compliant with waf-rel-110.tf.aws.alb-timeout
waf-rel-110.tf.aws.api-gateway-throttle
Engine: terraform | Provider: aws | Automated: Yes
AWS API Gateway must define throttling settings
AWS API Gateway must define throttling settings
Scope: resource β aws_api_gateway_stage, aws_apigatewayv2_stage
Assertions:
* throttle_settings attribute_exists β API Gateway stage must define throttling.
Remediation: AWS API Gateway must define throttling settings
# Example compliant with waf-rel-110.tf.aws.api-gateway-throttle
# Example non-compliant with waf-rel-110.tf.aws.api-gateway-throttle
waf-rel-110.tf.azurerm.app-gateway-timeout
Engine: terraform | Provider: azurerm | Automated: Yes
Azure Application Gateway backend settings must define explicit request timeout
Azure Application Gateway backend settings must define explicit request timeout
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 settings must define explicit request timeout
# Example compliant with waf-rel-110.tf.azurerm.app-gateway-timeout
# Example non-compliant with waf-rel-110.tf.azurerm.app-gateway-timeout
waf-rel-110.config.resilience-policy
Engine: config | Provider: any | Automated: No
Circuit breaker policy must be documented
Circuit breaker policy must be documented
Scope: file β docs/reliability/circuit-breaker-policy.md
Assertions:
* exists attribute_exists β Circuit breaker/backpressure policy must exist.
Remediation: Circuit breaker policy must be documented
# Example compliant with waf-rel-110.config.resilience-policy
# Example non-compliant with waf-rel-110.config.resilience-policy
Evidence
-
Terraform configuration implementing the requirement.
-
Policy, ADR, or standard documenting the requirement.
-
Optional cloud console or API output confirming runtime state.
Related Controls
-
WAF-AGN-110 == Regulatory Mapping
-
ISO 27001:2022: A.17.1 β Information security continuity
-
SRE Book (Google): Chapter 22 β Addressing Cascading Failures
-
ITIL 4: Service Continuity Management
-
NIST CSF 2.0: RS.RP-01 β Response plan is executed