WAF-PERF-110 – Caching-Strategien (CDN, Edge, in-memory) müssen für geeignete Workloads definiert sein

Beschreibung

Workloads serving repeated content MUST use edge caches (CDN), application caches, or in-memory stores. Cache invalidation and TTL policies MUST be documented and aligned with data freshness requirements. Latency-sensitive APIs MUST define cache-control headers or use managed cache layers. Cache hit ratios and latency percentiles MUST be monitored.

Begründung

Risiko Beschreibung

Risk

Uncached repeated requests overload backends and increase latency without business value.

Risk

Missing cache invalidation strategies can serve stale or incorrect data to users.

Anforderungen

  • Workloads serving repeated content MUST use edge caches (CDN), application caches, or in-memory stores.

  • Cache invalidation and TTL policies MUST be documented and aligned with data freshness requirements.

  • Latency-sensitive APIs MUST define cache-control headers or use managed cache layers.

  • Cache hit ratios and latency percentiles MUST be monitored.

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-perf-110.tf.aws.cloudfront-cache

Engine: terraform | Provider: aws | Automated: Ja

AWS CloudFront-Distributionen müssen ein Standard-Cache-Verhalten definieren

AWS CloudFront-Distributionen müssen ein Standard-Cache-Verhalten definieren

Scope: resource — aws_cloudfront_distribution

Assertions: * default_cache_behavior attribute_exists — CloudFront must define default cache behavior.

Remediation: AWS CloudFront-Distributionen müssen ein Standard-Cache-Verhalten definieren

Compliant
# Beispiel konform zu waf-perf-110.tf.aws.cloudfront-cache
Non-Compliant
# Beispiel nicht konform zu waf-perf-110.tf.aws.cloudfront-cache

waf-perf-110.tf.azurerm.cdn-endpoint

Engine: terraform | Provider: azurerm | Automated: Ja

Azure CDN Endpoints müssen Origin Host Header und Komprimierung konfiguriert haben

Azure CDN Endpoints müssen Origin Host Header und Komprimierung konfiguriert haben

Scope: resource — azurerm_cdn_endpoint

Assertions: * origin_host_header attribute_exists — CDN endpoint must have origin host header configured.

Remediation: Azure CDN Endpoints müssen Origin Host Header und Komprimierung konfiguriert haben

Compliant
# Beispiel konform zu waf-perf-110.tf.azurerm.cdn-endpoint
Non-Compliant
# Beispiel nicht konform zu waf-perf-110.tf.azurerm.cdn-endpoint

waf-perf-110.config.cache-adr

Engine: config | Provider: any | Automated: Nein

Caching-Strategie muss im Architektur-Entscheidungsrecord dokumentiert sein

Caching-Strategie muss im Architektur-Entscheidungsrecord dokumentiert sein

Scope: file — docs/adr/*.md

Assertions: * exists attribute_exists — At least one ADR must document caching strategy.

Remediation: Caching-Strategie muss im Architektur-Entscheidungsrecord dokumentiert sein

Compliant
# Beispiel konform zu waf-perf-110.config.cache-adr
Non-Compliant
# Beispiel nicht konform zu waf-perf-110.config.cache-adr

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