WAF-SEC-110 – Supply Chain Security
Beschreibung
Alle Container-Images MÜSSEN vor dem Deployment in produktive Umgebungen gescannt worden sein.
ECR-Repositories MÜSSEN image_tag_mutability = "IMMUTABLE" konfiguriert haben, um Tag-Override-Angriffe
zu verhindern. Terraform-Provider MÜSSEN in required_providers mit exakten Versionen und
.terraform.lock.hcl im Repository versioniert sein. Dependency-Scanning (Dependabot, Renovate oder
äquivalent) MUSS für alle Repositories konfiguriert sein.
Rationale
Software-Lieferketten sind ein wachsender Angriffsvektor: Angreifende kompromittieren Dependencies,
Basis-Images oder Build-Tools, um Schadcode in Produktionssysteme einzuschleusen – ohne direkten
Angriff auf das Ziel. Immutable Image-Tags verhindern, dass ein deployed Image heimlich ersetzt wird.
Gepinnte Provider-Versionen mit Lock-File stellen sicher, dass terraform init deterministisch ist
und kein kompromittiertes Provider-Update unbemerkt eingezogen wird. SBOM ermöglicht die schnelle
Bewertung des Impacts neuer CVEs auf alle produktiven Artefakte.
Bedrohungskontext
| Risiko | Beschreibung |
|---|---|
Kompromittierte Dependencies |
Eine schadhafte Version eines npm/pip/go-Moduls kann Backdoors oder Cryptominer einschleusen. |
Typosquatting |
Paketnamen mit ähnlichem Tippfehler (z. B. |
Mutable Image-Tags |
|
Transitive Vulnerabilities |
Kritische CVEs in transitiven Abhängigkeiten bleiben ohne SBOM und Dependency-Tracking unsichtbar. |
Anforderung
-
ECR-Repositories MÜSSEN
image_tag_mutability = "IMMUTABLE"konfiguriert haben. -
ECR-Repositories MÜSSEN Image-Scanning aktiviert haben (
image_scanning_configuration.scan_on_push = true). -
Terraform-Provider MÜSSEN mit exakten Versionen in
required_providersgepinnt sein;.terraform.lock.hclMUSS ins Repository eingecheckt sein. -
Dependency-Scanning MUSS für alle Repositories konfiguriert sein (Dependabot, Renovate oder äquivalent).
-
Kritische und High-CVEs mit verfügbarem Fix MÜSSEN innerhalb der definierten Patch-SLA behoben sein (Critical: 24h, High: 7d).
Implementierungsanleitung
-
ECR Immutable Tags:
image_tag_mutability = "IMMUTABLE"in allenaws_ecr_repository-Ressourcen setzen. -
ECR Image Scanning:
image_scanning_configuration { scan_on_push = true }aktivieren oder Trivy/Grype im CI-Build verwenden. -
Provider-Versionen pinnen: In
required_providersexakte Versionen verwenden (z. B.version = "5.31.0"statt>= 5.0). -
Lock-File committen:
.terraform.lock.hclnachterraform providers lockins Repository einchecken;.gitignoredarf es nicht ausschließen. -
Dependabot konfigurieren:
.github/dependabot.ymlmitpackage-ecosystem: terraformundpackage-ecosystem: dockereinrichten. -
SBOM generieren:
trivy image --format spdx-jsonodersyftim CI für alle Production-Images ausführen und als CI-Artifact speichern. -
CVE-Triage-Prozess: CVSS-basierte Patch-SLA definieren und in einem Tracking-System (Jira, GitHub Issues) dokumentieren.
Reifegrad-Abstufung
| Level | Bezeichnung | Kriterien |
|---|---|---|
1 |
Keine Lieferkettensicherheit |
Mutable Tags; keine Image-Scans; Provider-Versionen nicht gepinnt; kein Dependency-Scanning. |
2 |
Grundlegendes Scanning |
CI-Image-Scan vorhanden; einige Actions/Provider gepinnt; kein SBOM; kein Dependabot. |
3 |
Immutable Tags + gepinnte Versionen |
ECR Immutable Tags; alle Provider gepinnt mit Lock-File; Dependabot konfiguriert; Critical-CVEs blockieren Deployment. |
4 |
SBOM und automatisiertes Dependency-Update |
SBOM für alle Production-Container; automatische Dependency-PRs via Dependabot; Image-Signing mit cosign. |
5 |
SLSA Level 3+ Provenance |
Vollständige Build-Provenance-Attestierungen; hermetic Builds; kontinuierliches CVE-Monitoring aller deployed Artefakte. |
Terraform Checks
waf-sec-110.tf.aws.ecr-immutable-tags
Prüft: ECR-Repositories müssen unveränderliche Image-Tags konfiguriert haben.
| Compliant | Non-Compliant |
|---|---|
|
|
Remediation: image_tag_mutability = "IMMUTABLE" zu allen aws_ecr_repository-Ressourcen hinzufügen. Deployment-Prozesse müssen auf eindeutige Tags (z. B. Git-SHA) statt latest umgestellt werden.
Evidenz
| Typ | Pflicht | Beschreibung |
|---|---|---|
IaC |
✅ Pflicht |
Terraform-Konfiguration von ECR-Repositories mit |
Config |
✅ Pflicht |
|
Config |
Optional |
SBOM-Artefakt (SPDX oder CycloneDX) für mindestens ein Produktions-Container-Image. |
Process |
Optional |
Trivy/Grype-Scan-Report der letzten CI-Pipeline für ein Produktions-Image. |
Regulatorisches Mapping
| Framework | Controls |
|---|---|
ISO 27001:2022 |
A.5.15 – Threat intelligence; A.5.16 – Threat classification; A.5.24 – Information security incident management; A.5.25 – Assessment and decision on information security events; A.5.26 – Response to information security incidents; A.5.27 – Learning from information security incidents; A.8.2 – Privileged access rights; A.8.5 – Secure authentication; A.8.8 – Management of technical vulnerabilities; A.8.10 – Information deletion; A.8.11 – Data masking; A.8.22 – Segregation of networks; A.8.23 – Network security; A.8.24 – Use of cryptography |
ISO 27017 |
CLD.5.1 – Information security in cloud services; CLD.5.2 – Access control in cloud services; CLD.6.3 – Shared roles and responsibilities |
ISO 27018 |
A.2 – Purpose legitimacy and PII protection; A.10 – Confidentiality and security of PII |
GDPR |
Art. 5(1)(c) – Data minimisation; Art. 5(1)(f) – Integrity and confidentiality; Art. 9 – Special categories of personal data; Art. 25 – Data protection by design and by default; Art. 32 – Security of processing; Art. 44 – General principles for transfers; Art. 46 – Appropriate safeguards; Art. 30 – Records of processing activities |
BSI C5:2020 |
IDM-01 – Identity and access management policy; IDM-02 – Role management; IDM-03 – User lifecycle management; COM-01 – Network and service security; COM-02 – Cloud monitoring; COM-03 – Cloud logging |
EUCS (ENISA) |
IAM-01 – Identity and access management; IAM-02 – Access rights management; IAM-03 – Privileged access management; IAM-04 – Access control policy |
NIST SP 800-53 |
AC-1 – Policy and procedures; AC-2 – Account management; AC-3 – Access enforcement; AC-6 – Least privilege; IA-2 – Identification and authentication; IA-5 – Authenticator management; SI-4 – Information system monitoring; SI-5 – Malicious code protection |
FedRAMP |
AC-1, AC-2, AC-3, AC-6, IA-2, IA-5, SI-4, SI-5 (Moderate/High baseline) |
HIPAA |
§ 164.308(a)(4) – Access management; § 164.312(a) – Access control; § 164.312(d) – Information system activity review; § 164.312(e)(1) – Transmission security |
PCI DSS v4.0 |
Req 7 – Restrict access to cardholder data; Req 8 – Identify and authenticate access; Req 8.3 – Non-service accounts; Req 8.6 – Password policy; Req 8.2.4 – MFA |
SOC 2 Type II |
CC6.1 – Logical access security software; CC6.2 – Logical access security management; CC6.6 – Secure configuration; CC6.7 – Network security |
CSRD |
ESRS E1 – Climate change – Disclosure of information; ESRS G1 – Governance – Disclosure of information |
NIST CSF 2.0 |
GV.AC – Identity management and access control; DE.CM – Configuration management; DE.AE – Anomaly detection |
CIS Controls v8 |
CIS 4 – Secure Configuration; CIS 4.1 – Inventory and control of enterprise assets; CIS 4.4 – Access control; CIS 4.5 – Least privilege; CIS 4.8 – Audit log management |
TISAX |
Information security – Access rights management; Prototype protection – Sensitive data handling |
ANSSI SecNumCloud |
Domain – Identity and access management; Domain – Security monitoring |
BIO |
BIO – Identificatie en authenticatie; BIO – Toegangsbeheer |
ENS High |
org.3 – Políticas de acceso; op.exp.5 – Monitorización de la configuración |
UK NCSC CAF |
B1 – Access control; B2 – Secure configuration |
CMMC 2.0 |
AC.L2-3.1.1 – Access control policy; AC.L2-3.5.1 – Access enforcement |
IRAP |
ISM – Identity and access management; ISM – Access control |
CCCS PBMM |
AC-6 – Least privilege; AC-7 – Unsuccessful logon attempts |
MAS TRM |
Ch.4 – Identity and access management; Ch.8 – Security monitoring |
ISMAP |
Access control and identity management |
FISC |
Operational measures – Access control |