WAF++ WAF++
Back to WAF++ Homepage

WAF-SEC-080 – Security Monitoring & Threat Detection

Beschreibung

AWS CloudTrail MUSS als Multi-Region-Trail mit Log-File-Validierung und Global-Service-Event-Inklusion aktiviert sein. GuardDuty MUSS in allen aktiven AWS-Regionen aktiviert sein. AWS Security Hub oder ein äquivalentes SIEM MUSS aktiviert sein, um Security-Findings zentral zu aggregieren. CloudTrail-Logs MÜSSEN in einem dedizierten S3-Bucket mit Server-Side-Encryption gespeichert werden. Alerts MÜSSEN für kritische Security-Hub-Findings und GuardDuty-HIGH/CRITICAL-Findings konfiguriert sein.

Rationale

Ohne zentralisiertes Security Monitoring können Angreifende über Monate unentdeckt in Cloud-Umgebungen operieren. Die durchschnittliche Dwell-Time eines Cloud-Breaches ohne Monitoring übersteigt 200 Tage. CloudTrail liefert das fundamentale Audit-Log aller AWS-API-Aktivitäten; ohne es ist eine forensische Untersuchung nach einem Incident unmöglich. GuardDuty nutzt Machine Learning zur Erkennung anomaler Muster, die regelbasierte Systeme verpassen – Cryptomining, Credential-Exfiltration, ungewöhnliche API-Muster.

Bedrohungskontext

Risiko Beschreibung

Unentdeckte Datenexfiltration

Angreifende können Wochen oder Monate im AWS-Account operieren, ohne dass Alerts ausgelöst werden.

Kompromittierte IAM-Credentials

Gestohlene Credentials für Lateral Movement bleiben ohne GuardDuty vollständig unsichtbar.

Cryptomining in nicht-überwachten Regionen

In wenig genutzten Regionen gestartete Workloads verursachen Kosten und signalisieren einen Breach.

DSGVO-Breach-Meldepflicht verfehlt

Ohne SIEM-Erkennung wird die 72-Stunden-Meldepflicht nach Art. 33 DSGVO nicht eingehalten.

Anforderung

  • AWS CloudTrail MUSS als Multi-Region-Trail mit is_multi_region_trail = true und enable_log_file_validation = true konfiguriert sein.

  • GuardDuty MUSS in allen aktiven Regionen via aws_guardduty_detector mit enable = true aktiviert sein.

  • AWS Security Hub MUSS via aws_securityhub_account aktiviert sein.

  • CloudTrail-Logs MÜSSEN in einem dedizierten, verschlüsselten S3-Bucket (CMK) gespeichert werden.

  • SNS-Alerts MÜSSEN für GuardDuty-Findings der Severity HIGH und CRITICAL konfiguriert sein.

  • Log-Retention MUSS mindestens 12 Monate für CloudTrail-Logs und 90 Tage für Security-Hub-Findings betragen.

Implementierungsanleitung

  1. CloudTrail aktivieren: aws_cloudtrail mit is_multi_region_trail = true, enable_log_file_validation = true, include_global_service_events = true.

  2. Dedizierter CloudTrail-S3-Bucket: Separater Bucket mit KMS-Verschlüsselung, MFA-Delete, Block-Public-Access.

  3. GuardDuty aktivieren: aws_guardduty_detector mit enable = true in allen genutzten Regionen (idealerweise via Terraform for_each über Region-Liste).

  4. Security Hub aktivieren: aws_securityhub_account und relevante Standards aktivieren (AWS Foundational Security, CIS AWS Benchmark).

  5. EventBridge-Regel für GuardDuty: EventBridge-Rule auf GuardDuty-Findings mit Severity >= 4.0 und SNS-Topic als Target.

  6. SNS → Slack/PagerDuty: SNS-Topic mit Lambda oder direkt zu PagerDuty/Opsgenie für On-Call-Alerting.

  7. Log-Retention: CloudWatch-Log-Groups mit Retention-Policy (90d–365d je nach Compliance-Anforderung).

Reifegrad-Abstufung

Level Bezeichnung Kriterien

1

Kein oder partielles Logging

CloudTrail nicht oder nur in einer Region aktiv; GuardDuty deaktiviert; kein SIEM; keine Alerting-Regeln.

2

Grundlegendes Logging vorhanden

CloudTrail in Hauptregion aktiv; GuardDuty aktiviert; monatliche manuelle Log-Review; keine Echtzeit-Alerts.

3

Multi-Region-Monitoring mit Alerting

CloudTrail multi-region, log validation, CMK-Verschlüsselung; GuardDuty in allen Regionen; Security Hub aktiv; SNS-Alerts auf HIGH/CRITICAL.

4

Korreliertes SIEM mit automatischer Triage

Findings in SIEM korreliert; automatische Ticket-Erstellung für HIGH/CRITICAL; MTTD < 1 Stunde dokumentiert.

5

Vollautomatisierte Erkennung und Response

SOAR-Integration für automatisierte Playbooks; Threat-Intelligence-Feed-Integration; Continuous Compliance Attestation.

Terraform Checks

waf-sec-080.tf.aws.cloudtrail-multiregion

Prüft: CloudTrail muss als Multi-Region-Trail mit Log-File-Validierung konfiguriert sein.

Compliant Non-Compliant
resource "aws_cloudtrail" "main" {
  name                          = "prod-cloudtrail"
  s3_bucket_name                = aws_s3_bucket.cloudtrail.id
  is_multi_region_trail         = true
  enable_log_file_validation    = true
  include_global_service_events = true
  kms_key_id                    = aws_kms_key.cloudtrail.arn
}
resource "aws_cloudtrail" "main" {
  name           = "prod-cloudtrail"
  s3_bucket_name = aws_s3_bucket.cloudtrail.id
  # is_multi_region_trail fehlt (default: false)
  # enable_log_file_validation fehlt
  # WAF-SEC-080 Violation
}

Remediation: is_multi_region_trail = true und enable_log_file_validation = true zu allen aws_cloudtrail-Ressourcen hinzufügen.


waf-sec-080.tf.aws.guardduty-enabled

Prüft: GuardDuty-Detector muss aktiviert sein.

Compliant Non-Compliant
resource "aws_guardduty_detector" "main" {
  enable = true
  datasources {
    s3_logs { enable = true }
    kubernetes {
      audit_logs { enable = true }
    }
  }
}
resource "aws_guardduty_detector" "main" {
  enable = false
  # WAF-SEC-080 Violation: GuardDuty deaktiviert
}

Remediation: enable = true im aws_guardduty_detector setzen. GuardDuty sollte in allen Regionen aktiviert werden, in denen AWS-Ressourcen betrieben werden.

Evidenz

Typ Pflicht Beschreibung

IaC

✅ Pflicht

Terraform-Konfiguration von CloudTrail (multi-region, log validation) und GuardDuty-Detector (enable=true).

Config

✅ Pflicht

Security Hub Findings Summary oder AWS Config Rule cloud-trail-enabled Compliance-Status.

Process

Optional

Alerting-Konfiguration (EventBridge-Regel + SNS-Topic) mit Test-Trigger und Nachweis der Benachrichtigungszustellung.

Config

Optional

GuardDuty-Sample-Findings-Bericht der letzten 30 Tage mit Triage-Nachweis.