Für die letzten 90 Tage von Verwaltungsevents verwenden Sie die CloudTrail-Konsole (Ereignisprotokoll → Events herunterladen → JSON) oder aws cloudtrail lookup-events. Für ältere Daten oder für Data Events wie S3-Objektlesevorgänge, lesen Sie die Protokolldateien Ihres Trails in S3. Diese befinden sich unter s3:///AWSLogs//CloudTrail//YYYY/MM/DD/.
CloudTrail ist das Audit-Log Ihrer AWS-Steuerungsebene: jeder Konsolen-Login, jeder API-Aufruf, jede Rollenübernahme. Bei einem Cloud-Vorfall ist es das erste, wonach jeder fragt. Prime Core hat 262 Erkennungsregeln für CloudTrail, die 177 MITRE ATT&CK-Techniken zugeordnet sind. Darunter: Missbrauch von Cloud-Konten (T1078.004), Angreifer, die Cloud-Logging ausschalten (T1562.008) und Datendiebstahl aus Cloud-Speichern (T1530).
Bevor Sie beginnen
Ereignisprotokoll und Trails sind unterschiedliche Dinge. Ereignisprotokoll ist immer aktiviert und kostenlos. Es hält 90 Tage Verwaltungsevents, pro Region. Ein Trail ist etwas, das Sie konfigurieren: es schreibt zu S3, hält Logs so lange Sie möchten und kann Data Events enthalten. Überprüfen Sie, was Sie haben:
aws cloudtrail describe-trails
aws cloudtrail get-trail-status --name
IsLogging: false bei einem Trail, der laufen sollte, ist an sich schon ein Fund.
Regionen sind wichtig. Ereignisprotokoll ist pro Region, und Events von globalen Diensten wie IAM landen normalerweise in us-east-1. Wenn Sie nach einem CreateUser-Aufruf in eu-west-1 suchen, werden Sie ihn nicht finden.
Berechtigungen. cloudtrail:LookupEvents für das Ereignisprotokoll. Für Trail-Dateien, s3:ListBucket und s3:GetObject auf dem Bucket, plus kms:Decrypt, wenn der Trail mit einem KMS-Schlüssel verschlüsselt ist.
Option 1: Konsole herunterladen
Öffnen Sie CloudTrail, gehen Sie zu Ereignisprotokoll, setzen Sie den Zeitbereich und alle Filter (Ereignisname, Benutzer, Ressource) und wählen Sie anschließend Events herunterladen → JSON. Der Download berücksichtigt Ihre Filter, also überprüfen Sie diese zuerst. Es deckt nur die aktuelle Region ab.
Option 2: lookup-events von der CLI
aws cloudtrail lookup-events --region us-east-1
--start-time 2026-10-19T00:00:00Z --end-time 2026-10-20T00:00:00Z
--output json > ct_use1_1019.json
Zwei Dinge zu beachten. Erstens, jedes Ergebnis umhüllt das eigentliche Event als JSON String in CloudTrailEvent. Packen Sie es in ein sauberes Event pro Zeile aus:
jq -c '.Events[].CloudTrailEvent | fromjson' ct_use1_1019.json > ct_use1_1019.jsonl
Zweitens, lookup-events ist pro Konto und Region begrenzt und akzeptiert nur einen –lookup-attributes Filter pro Aufruf. Breite Zeitfenster dauern eine Weile, also beschränken Sie diese, wo Sie können. Um jede Region abzudecken, schleifen Sie über aws ec2 describe-regions –query ‚Regions[].RegionName‘ –output text.
Option 3: Trail-Dateien von S3
Dies ist der Weg für Historie über 90 Tage hinaus und für Data Events:
aws s3 cp s3://my-trail-bucket/AWSLogs/123456789012/CloudTrail/eu-west-1/2026/10/19/ ./ct/ --recursive
gunzip ./ct/*.json.gz
jq -c '.Records[]' ./ct/*.json > ct_euw1_1019.jsonl
Jede Datei enthält ein Records-Array, und die jq-Zeile flacht alle zu einem Event pro Zeile ab. Organisationstrails fügen der Pfadangabe die Organisations-ID hinzu: AWSLogs///CloudTrail/…. Wenn Sie CloudTrail Lake verwenden, können Sie SQL über Ihre Events ausführen und die Ergebnisse speichern.
Worauf zu achten ist
| Ereignis | Warum es wichtig ist |
|---|---|
| ConsoleLogin | Überprüfen Sie additionalEventData.MFAUsed, Fehler und Ihnen unbekannte Quell-IPs |
| CreateUser, CreateAccessKey, AttachUserPolicy | Neue Identitäten und Schlüssel: klassische Persistenz und Privilegieneskalation |
| StopLogging, DeleteTrail, PutEventSelectors | Jemand reduziert, was CloudTrail sieht |
| AssumeRole aus ungewöhnlichen Quellen | Laterale Bewegung zwischen Rollen und Konten |
| Burst von errorCode: AccessDenied | Aufklärung mit gestohlenen Anmeldeinformationen |
| GetSecretValue, GetObject Burst | Datenzugriff; GetObject erscheint nur, wenn S3-Data Events aktiviert sind |
Hochladen, bereinigen und in LogTotal überprüfen
- Hochladen. Öffnen logtotal.com und ziehen Sie die .jsonl (oder .json Datei) hinein.
- Bereinigen. [what gets masked: account IDs, ARNs, IPs, access key IDs, usernames]. Look it over before you continue.
- Überprüfen.
Wenn es schiefgeht
| Symptom | Wahrscheinliche Ursache | Fix |
|---|---|---|
| lookup-events gibt nichts zurück | Falsche Region; IAM-Events leben normalerweise in us-east-1 | Abfragen von us-east-1 oder Schleifen über alle Regionen |
| Nichts älter als 90 Tage | Retention des Ereignisprotokolls | Verwenden Sie die Trail-Dateien in S3 |
| Keine GetObject-Events | S3-Data Events sind nicht auf dem Trail aktiviert | Erwartet; aktivieren Sie sie für die Zukunft |
| AccessDenied beim Lesen von Trail-Dateien | Fehlende kms:Decrypt oder die Bucket-Politik | Korrigieren Sie IAM oder die Bucket-Politik |
| ThrottlingException | Rate-Limitierung von lookup-events | Kleinere Zeitfenster; lassen Sie die CLI erneut versuchen |
FAQ
Beinhaltet das Ereignisprotokoll Data Events?
Nein. Nur Verwaltungsevents. Data Events existieren nur, wenn ein Trail oder Eventdatenspeicher eingerichtet wurde, um sie aufzuzeichnen.
Wie schnell werden Events angezeigt?
Normalerweise innerhalb von Minuten nach dem API-Aufruf. Trail-Dateien in S3 kommen in Batches an, sodass ein sehr aktuelles Ereignis möglicherweise noch nicht in einer Datei ist.