Was macht Cloud-Umgebungen mit CIS-Benchmarks prüfen?
Wann verwenden
- Bei der Durchführung erster Sicherheitsaudits von Cloud-Umgebungen gegenüber branchenüblichen Benchmarks
- Bei der Vorbereitung auf SOC 2-, ISO 27001- oder regulatorische Audits, die auf CIS-Kontrollen verweisen
- Bei der Festlegung eines messbaren Sicherheitsbaselines für neue Cloud-Konten oder Abonnements
- Bei der Verfolgung der Compliance-Verbesserung im Laufe der Zeit durch regelmäßige Neubewertungen
- Bei der Bewertung der Sicherheitslage übernommener oder geerbter Cloud-Umgebungen
Nicht verwenden für die Erkennung von Laufzeitbedrohungen (siehe detecting-cloud-threats-with-guardduty), für Anwendungssicherheitstests (siehe conducting-cloud-penetration-testing) oder für Compliance-Frameworks, die nicht auf CIS basieren (siehe spezifische regulatorische Skill-Dateien).
Voraussetzungen
- Schreibgeschützter Zugriff auf die Ziel-Cloud-Konten (AWS SecurityAudit-Richtlinie, Azure Reader-Rolle, GCP Viewer-Rolle)
- Prowler, ScoutSuite oder cloud-native CSPM-Tools installiert und konfiguriert
- Verständnis der CIS-Benchmark-Struktur: Abschnitte, Kontrollen, Profile (Level 1 und Level 2)
- Zugriff für die Behebung (getrennt von den Audit-Anmeldeinformationen)
Arbeitsablauf
Schritt 1: Auswahl der passenden CIS-Benchmark-Version
Wählen Sie die richtige Benchmark-Version für jeden Cloud-Anbieter. Aktuelle Versionen (Stand 2025) umfassen CIS AWS Foundations Benchmark v5.0, CIS Azure Foundations Benchmark v4.0 und CIS GCP Foundations Benchmark v4.0.
Abdeckungsbereiche der CIS-Benchmarks:
+-------------------+------------------------+-------------------------+
| Abschnitt | AWS v5.0 | Azure v4.0 |
+-------------------+------------------------+-------------------------+
| Identität & Zugriff | IAM-Richtlinien, MFA, Root | Azure AD, RBAC, PIM |
| Protokollierung | CloudTrail, Config | Activity Log, Diag |
| Überwachung | CloudWatch-Alarme | Defender, Sentinel |
| Netzwerk | VPC, SG, NACLs | NSG, ASG, Firewall |
| Speicher | S3-Verschlüsselung, Zugriff | Speicherverschlüsselung |
| Datenbank | RDS-Verschlüsselung | SQL TDE, Auditing |
+-------------------+------------------------+-------------------------+
CIS-Profillevel:
Level 1: Praktische Sicherheitseinstellungen, die ohne signifikante Leistungseinbußen oder
Funktionseinschränkungen implementiert werden können
Level 2: Defense-in-Depth-Einstellungen, die die Funktionalität einschränken oder eine
zusätzliche Planung für die Implementierung erfordern können
Schritt 2: Automatisierte Bewertung mit Prowler durchführen
Führen Sie umfassende CIS-Benchmark-Scans mit Prowler zur automatisierten Kontrollbewertung in AWS, Azure und GCP durch.
# AWS CIS v5.0-Bewertung
prowler aws \
--compliance cis_5.0_aws \
--profile audit-account \
--output-formats json-ocsf,html,csv \
--output-directory ./cis-audit-$(date +%Y%m%d)
# Azure CIS v4.0-Bewertung
prowler azure \
--compliance cis_4.0_azure \
--subscription-ids "sub-id-1,sub-id-2" \
--output-formats json-ocsf,html,csv \
--output-directory ./cis-audit-azure-$(date +%Y%m%d)
# GCP CIS v4.0-Bewertung
prowler gcp \
--compliance cis_4.0_gcp \
--project-ids "project-1,project-2" \
--output-formats json-ocsf,html,csv \
--output-directory ./cis-audit-gcp-$(date +%Y%m%d)
# Multi-Account-AWS-Scan mit ScoutSuite
scout suite aws \
--profile audit-account \
--report-dir ./scout-report \
--ruleset cis-5.0 \
--force
Schritt 3: Ergebnisse interpretieren und Prioritäten für die Behebung festlegen
Analysieren Sie die Audit-Ergebnisse nach Abschnitt und Schweregrad. Priorisieren Sie zuerst Level-1-Kontrollen, da sie die grundlegende Sicherheitshygiene darstellen, und dann Level-2-Kontrollen für Defense in Depth.
# Prowler-Ergebnisse nach fehlgeschlagenen Kontrollen parsen
cat ./cis-audit-*/prowler-output-*.json | \
jq '[.[] | select(.StatusExtended == "FAIL")] | group_by(.CheckID) |
map({control: .[0].CheckID, description: .[0].CheckTitle,
failed_resources: length, severity: .[0].Severity}) |
sort_by(-.failed_resources)'
# Compliance-Score pro Abschnitt generieren
cat ./cis-audit-*/prowler-output-*.json | \
jq 'group_by(.Section) | map({
section: .[0].Section,
total: length,
passed: [.[] | select(.StatusExtended == "PASS")] | length,
failed: [.[] | select(.StatusExtended == "FAIL")] | length,
score: (([.[] | select(.StatusExtended == "PASS")] | length) / length * 100 | round)
})'
Schritt 4: Kritische und hohe Kontrollen beheben
Beheben Sie fehlgeschlagene Kontrollen, beginnend mit den Elementen mit der höchsten Auswirkung. Verwenden Sie AWS Config Remediation, Azure Policy oder Terraform, um Korrekturen systematisch anzuwenden.
# CIS 1.4: Sicherstellen, dass kein Root-Account-Zugriffsschlüssel existiert
aws iam list-access-keys --user-name root
# Wenn Schlüssel existieren, löschen
aws iam delete-access-key --user-name root --access-key-id AKIAEXAMPLE
# CIS 2.1.1: Sicherstellen, dass die Standardverschlüsselung von S3-Buckets aktiviert ist
for bucket in $(aws s3api list-buckets --query 'Buckets[*].Name' --output text); do
aws s3api put-bucket-encryption --bucket "$bucket" \
--server-side-encryption-configuration '{
"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "AES256"}}]
}' 2>/dev/null && echo "Verschlüsselt: $bucket" || echo "FEHLGESCHLAGEN: $bucket"
done
# CIS 3.1: Sicherstellen, dass CloudTrail in allen Regionen aktiviert ist
aws cloudtrail create-trail \
--name organization-trail \
--s3-bucket-name cloudtrail-logs-bucket \
--is-multi-region-trail \
--enable-log-file-validation \
--kms-key-id arn:aws:kms:us-east-1:123456789012:key/key-id
aws cloudtrail start-logging --name organization-trail
# CIS 4.x: CloudWatch-Metrikfilter und Alarme konfigurieren
aws logs put-metric-filter \
--log-group-name CloudTrail/DefaultLogGroup \
--filter-name UnauthorizedAPICalls \
--filter-pattern '{ ($.errorCode = "*UnauthorizedAccess*") || ($.errorCode = "AccessDenied*") }' \
--metric-transformations metricName=UnauthorizedAPICalls,metricNamespace=CISBenchmark,metricValue=1
Schritt 5: Kontinuierliche Compliance-Überwachung einrichten
Stellen Sie eine automatisierte Compliance-Überwachung bereit, um Konfigurationsänderungen zwischen regelmäßigen Audits zu erkennen. Verwenden Sie AWS Security Hub, Azure Policy oder GCP Security Command Center.
# AWS: CIS v5.0 in Security Hub aktivieren
aws securityhub batch-enable-standards \
--standards-subscription-requests '[
{"StandardsArn": "arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/5.0.0"}
]'
# Azure: CIS-Benchmark-Richtlinieninitiative zuweisen
az policy assignment create \
--name cis-azure-benchmark \
--scope "/subscriptions/<sub-id>" \
--policy-set-definition "1a5bb27d-173f-493e-9568-eb56638dbd0e" \
--params '{"effect": {"value": "AuditIfNotExists"}}'
# Zeitgesteuerte regelmäßige Prowler-Bewertungen
# Wöchentlich per Cron oder CI/CD-Pipeline ausführen
0 2 * * 1 prowler aws --compliance cis_5.0_aws --output-formats csv --output-directory /opt/audits/weekly-$(date +\%Y\%m\%d)
Schlüsselkonzepte
| Begriff | Definition |
|---|---|
| CIS Benchmark | Vorschreibende Sicherheitskonfigurationsrichtlinien, die vom Center for Internet Security durch Community-Konsens entwickelt wurden |
| Level-1-Profil | Praktische Sicherheitskontrollen, die ohne signifikante Leistungs- oder Funktionseinschränkungen implementiert werden können. Sie repräsentieren die Sicherheitshygiene. |
| Level-2-Profil | Defense-in-Depth-Kontrollen, die die Funktionalität einschränken können und eine sorgfältige Planung vor der Implementierung erfordern |
| Foundations Benchmark | CIS-Benchmark speziell für Cloud-Anbieter, der IAM, Protokollierung, Überwachung, Netzwerk und Speichersicherheit abdeckt |
| Kontroll-ID | Eindeutige numerische Kennung für jede CIS-Empfehlung (z. B. 1.4 für Root-Zugriffsschlüssel, 2.1.1 für S3-Verschlüsselung) |
| Compliance-Score | Prozentsatz der CIS-Kontrollen, die sich in einem bestandenen Zustand befinden, verfolgt im Zeitverlauf, um die Verbesserung der Sicherheitslage zu messen |
| Automatisierte Bewertung | Toolgesteuerte Bewertung von CIS-Kontrollen unter Verwendung von Cloud-Anbieter-APIs, um Ressourcenkonfigurationen anhand der Benchmark-Anforderungen zu prüfen |
| Remediation-Runbook | Dokumentierte Schritt-für-Schritt-Anleitung zur Behebung einer bestimmten fehlgeschlagenen CIS-Kontrolle, einschließlich Vorprüfungen und Validierung |
Tools und Systeme
- Prowler: Open-Source-Cloud-Sicherheitstool, das über 300 Prüfungen einschließlich CIS-Benchmark-Bewertungen für AWS, Azure und GCP durchführt
- ScoutSuite: Multi-Cloud-Sicherheits-Audit-Tool mit CIS-Benchmark-Regelsätzen, die HTML-Berichte generieren
- AWS Security Hub: Nativer AWS-Dienst, der den CIS AWS Foundations Benchmark als Sicherheitsstandard unterstützt
- Azure Policy: Governance-Dienst mit integrierten CIS-Benchmark-Richtlinieninitiativen für die automatisierte Compliance-Überwachung
- GCP Security Command Center: Nativer GCP-Dienst, der Konfigurationen anhand des CIS GCP Foundations Benchmark bewertet
Häufige Szenarien
Szenario: Pre-Audit-CIS-Bewertung für die SOC-2-Zertifizierung
Kontext: Ein SaaS-Unternehmen, das die SOC-2-Typ-II-Zertifizierung anstrebt, muss Cloud-Sicherheitskontrollen nachweisen, die auf die CIS-Benchmarks abgestimmt sind. Der Prüfer benötigt Nachweise für die kontinuierliche Compliance-Überwachung in 45 AWS-Konten.
Vorgehen:
- Führen Sie die Prowler-CIS-v5.0-Bewertung in allen 45 Konten durch, um den Basis-Compliance-Score zu ermitteln
- Exportieren Sie die Ergebnisse in CSV und kategorisieren Sie die Fehler nach Abschnitt (IAM, Protokollierung, Überwachung, Netzwerk)
- Ordnen Sie jede CIS-Kontrolle den relevanten SOC-2-Vertrauensdienstkriterien zu (CC6.1, CC6.6, CC7.1 usw.)
- Beheben Sie alle Fehler der Level-1-Kontrollen innerhalb von 30 Tagen und der Level-2-Kontrollen innerhalb von 60 Tagen
- Aktivieren Sie CIS v5.0 in AWS Security Hub für die kontinuierliche Überwachung und automatische Erkennung von Abweichungen
- Generieren Sie wöchentliche Compliance-Berichte, die dem Prüfer den Verbesserungsverlauf zeigen
- Dokumentieren Sie Ausnahmen für Kontrollen, die bewusst nicht implementiert wurden, mit einer Begründung für die Risikoakzeptanz
Fallstricke: Das Beheben von Kontrollen ohne vorherige Tests in einer Staging-Umgebung kann Produktionsworkloads beeinträchtigen. Das vollständige Ignorieren von Level-2-Kontrollen schwächt die Audit-Narrative, auch wenn sie nicht streng erforderlich sind.
Ausgabeformat
CIS-Benchmark-Auditbericht
============================
Cloud-Anbieter: AWS
Benchmark-Version: CIS AWS Foundations Benchmark v5.0
Bewertete Konten: 45
Bewertungsdatum: 2025-02-23
Tool: Prowler v4.3.0
GESAMT-COMPLIANCE-SCORE: 74%
COMPLIANCE NACH ABSCHNITT:
1. Identitäts- und Zugriffsverwaltung: 68% (41/60 Kontrollen bestanden)
2. Speicher: 82% (28/34 Kontrollen bestanden)
3. Protokollierung: 91% (20/22 Kontrollen bestanden)
4. Überwachung: 55% (18/33 Kontrollen bestanden)
5. Netzwerk: 78% (32/41 Kontrollen bestanden)
TOP-FEHLERGESCHLAGENE KONTROLLEN (nach betroffenen Konten):
[1.4] Root-Konto hat aktive Zugriffsschlüssel - 3/45 Konten
[1.5] MFA für Root-Konto nicht aktiviert - 2/45 Konten
[2.1.1] S3-Standardverschlüsselung nicht aktiviert - 12/45 Konten
[3.1] CloudTrail nicht Multi-Region - 8/45 Konten
[4.3] Kein Alarm für Root-Konto-Nutzung - 28/45 Konten
[5.1] VPC-Flow-Logs nicht aktiviert - 15/45 Konten
[5.4] Sicherheitsgruppen erlauben 0.0.0.0/0 eingehend - 22/45 Konten
BEHEBUNGSPRIORITÄT:
Kritisch (innerhalb von 7 Tagen beheben): Root-Zugriffsschlüssel, fehlende Root-MFA
Hoch (innerhalb von 30 Tagen beheben): S3-Verschlüsselung, CloudTrail, VPC-Flow-Logs
Mittel (innerhalb von 60 Tagen beheben): CloudWatch-Alarme, Sicherheitsgruppen-Einschränkungen
Niedrig (innerhalb von 90 Tagen beheben): Level-2-Kontrollen, informative Elemente