WAF-SEC-010 – Identity & Access Management Baseline
Beschreibung
Alle AWS-Konten MÜSSEN MFA für sämtliche IAM-Benutzer mit Console-Zugang erzwingen. Die Nutzung des Root-Accounts für den laufenden Betrieb ist VERBOTEN. Die IAM-Passwortrichtlinie MUSS mindestens folgende Anforderungen erfüllen: 14 Zeichen Mindestlänge, Komplexitätsvorgaben (Groß-/Kleinbuchstaben, Ziffern, Sonderzeichen), Wiederverwendungssperre für mindestens 5 vorherige Passwörter und ein maximales Passwortalter von 90 Tagen. Service-Accounts MÜSSEN IAM-Rollen mit temporären Credentials anstelle von langlebigen Access Keys verwenden.
Rationale
Schwache Identitätskontrollen sind die häufigste Ursache von Cloud-Sicherheitsvorfällen. Ohne erzwungene MFA und starke Passwortrichtlinien ermöglichen kompromittierte Credentials sofortigen und persistenten Zugriff auf Cloud-Ressourcen. Root-Account-Zugriff umgeht alle Berechtigungsgrenzen – unbefugte Root-Nutzung ist daher besonders schwerwiegend. IAM-Baseline-Controls sind grundlegende Voraussetzungen für jede weitere Sicherheitsschicht: Alle anderen Maßnahmen werden wirkungslos, wenn die Identitätsebene nicht gehärtet ist.
Bedrohungskontext
| Risiko | Beschreibung |
|---|---|
Credential-Kompromittierung |
Phishing- oder Password-Spray-Angriffe ermöglichen persistenten Cloud-Zugriff ohne MFA als zweite Hürde. |
Root-Account-Missbrauch |
Unbefugte Root-Nutzung ermöglicht vollständige Account-Übernahme und Löschung aller Sicherheitskontrollen. |
Langlebige Access Keys |
Aus Code-Repositories oder CI/CD-Systemen extrahierte Access Keys ermöglichen dauerhaften Zugriff. |
Privilege Escalation |
Fehlkonfigurierte IAM-Policies erlauben seitliche Bewegung quer über Services und Konten. |
Anforderung
-
MFA MUSS für alle IAM-Benutzer mit Console-Zugang aktiviert sein; Durchsetzung über Service Control Policy (SCP).
-
Die IAM-Passwortrichtlinie MUSS mindestens 14 Zeichen, alle Zeichenklassen, Wiederverwendungssperre ≥ 5 und maximales Passwortalter ≤ 90 Tage vorschreiben.
-
Der Root-Account MUSS gesperrt sein: keine Access Keys, MFA aktiviert, keine operative Nutzung.
-
Menschlicher Zugriff MUSS über IAM Identity Center (SSO) mit temporären Credentials erfolgen – nicht über langlebige IAM-User-Access-Keys.
-
Bestehende langlebige Access Keys älter als 90 Tage MÜSSEN rotiert werden; Erkennung über AWS Config.
-
Break-Glass-Verfahren für Not-Root- oder Admin-Zugriff MÜSSEN dokumentiert und mit Monitoring versehen sein.
-
IAM-Benutzer und Rollen MÜSSEN quartalsweise auditiert werden; ungenutzte Accounts und Berechtigungen sind zu entfernen.
Implementierungsanleitung
-
MFA erzwingen: SCP konfigurieren, die Console-Aktionen ohne aktive MFA-Session verweigert.
-
Passwortrichtlinie setzen:
aws_iam_account_password_policyin Terraform mit allen Pflichtattributen definieren. -
Root-Account sichern: Alle Access Keys im AWS-Console entfernen, MFA aktivieren, Root-Nutzung auf Ausnahmefälle beschränken.
-
IAM Identity Center einrichten: Menschlichen Zugriff auf SSO mit temporären Credentials migrieren.
-
Access-Key-Rotation automatisieren: AWS Config Rule
access-keys-rotatedaktivieren, Alarm bei Überschreitung von 90 Tagen. -
Break-Glass-Verfahren dokumentieren: Prozess für Not-Admin-Zugriff mit dediziertem Monitoring und Alerting festlegen.
-
Quartalsaudit einplanen: IAM Access Analyzer Findings vierteljährlich reviewen und bereinigen.
Reifegrad-Abstufung
| Level | Bezeichnung | Kriterien |
|---|---|---|
1 |
Ad-hoc IAM |
Passwortrichtlinie vorhanden, aber nicht konsistent durchgesetzt; MFA optional oder nur für manche Benutzer. |
2 |
Passwortrichtlinie und MFA für Admins |
Passwortrichtlinie erfüllt Mindestanforderungen (14 Zeichen, Komplexität); MFA für alle Admin-IAM-User; Root-MFA aktiv. |
3 |
MFA via SCP für alle Console-Benutzer |
SCP verweigert Console-Aktionen ohne aktive MFA-Session; menschlicher Zugriff über SSO/IAM Identity Center; Access-Key-Rotation automatisiert. |
4 |
Zero Standing Privilege mit JIT-Zugriff |
Kein dauerhafter Admin-Zugang; alle erhöhten Zugänge zeitlich begrenzt und just-in-time; quartalsweise Access Reviews dokumentiert. |
5 |
Vollautomatisiertes SCIM/SSO mit kontinuierlicher Zertifizierung |
Alle IAM-Identitäten via SCIM aus autoritativem IdP bereitgestellt und entzogen; Echtzeit-Anomalieerkennung auf Authentifizierungsereignisse. |
Terraform Checks
waf-sec-010.tf.aws.iam-password-policy-mfa
Prüft: Die AWS-IAM-Passwortrichtlinie muss Mindestlänge 14, alle Zeichenklassen, Wiederverwendungssperre ≥ 5 und maximales Passwortalter ≤ 90 Tage vorschreiben.
| Compliant | Non-Compliant |
|---|---|
|
|
Remediation: aws_iam_account_password_policy mit allen Pflichtattributen definieren: minimum_password_length >= 14, alle require_*-Flags auf true, password_reuse_prevention >= 5 und max_password_age ⇐ 90.
waf-sec-010.tf.aws.no-root-access-keys
Prüft: Der Root-Account darf keine aktiven programmatischen Access Keys besitzen.
| Compliant | Non-Compliant |
|---|---|
|
|
Remediation: Im AWS-Console unter IAM → Security Credentials des Root-Accounts alle Access Keys löschen. MFA für den Root-Account aktivieren. Root-Nutzung auf absolute Ausnahmefälle beschränken.
Evidenz
| Typ | Pflicht | Beschreibung |
|---|---|---|
Governance |
✅ Pflicht |
IAM-Governance-Dokument mit Passwortrichtlinien-Standard, MFA-Anforderungen und Access-Key-Lifecycle-Regeln. |
IaC |
✅ Pflicht |
Terraform-Konfiguration für |
Process |
Optional |
Access-Review-Protokolle mit quartalsweiser IAM-Benutzer- und Rollen-Zertifizierung. |
Config |
Optional |
AWS Config Conformance Pack oder Security Hub Findings-Report mit MFA-Compliance-Status. |