Überprüfen der Integrität der CloudTrail Protokolldatei mit dem AWS CLI - AWS CloudTrail

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Überprüfen der Integrität der CloudTrail Protokolldatei mit dem AWS CLI

Verwenden Sie den CloudTrail validate-logs Befehl AWS Command Line Interface, um Protokolle mit dem zu validieren. Der Befehl verwendet die Digest-Dateien, die an den Amazon-S3-Bucket gesendet wurden, um die Validierung durchzuführen. Weitere Informationen über Digest-Dateien finden Sie unter CloudTrail Struktur der Digest-Datei.

Der AWS CLI ermöglicht es Ihnen, die folgenden Arten von Änderungen zu erkennen:

  • Änderung oder Löschung von CloudTrail Protokolldateien

  • Änderung oder Löschung von CloudTrail Digest-Dateien

  • Änderung oder Löschung von Protokoll- und Digest-Dateien

Anmerkung

Das AWS CLI validiert nur Protokolldateien, auf die von Digestdateien verwiesen wird. Weitere Informationen finden Sie unter Es wird geprüft, ob eine bestimmte Datei geliefert wurde von CloudTrail.

Voraussetzungen

Um die Integrität der Protokolldatei mit der zu überprüfen AWS CLI, müssen die folgenden Bedingungen erfüllt sein:

  • Sie müssen über eine Online-Verbindung zu verfügen AWS.

  • Sie müssen über Lesezugriff auf den Amazon-S3-Bucket verfügen, der die Digest- und Protokolldateien enthält.

  • Die Digest- und Protokolldateien dürfen nicht von dem ursprünglichen Amazon S3 S3-Speicherort verschoben worden sein, CloudTrail an dem sie geliefert wurden.

Anmerkung

Protokolldateien, die auf einen lokalen Datenträger heruntergeladen wurden, können mit der AWS CLI nicht validiert werden. Eine Anleitung zum Erstellen Ihrer eigenen Tools zur Validierung finden Sie unter Benutzerdefinierte Implementierungen der CloudTrail Integritätsprüfung von Protokolldateien.

validate-logs

Syntax

Im Folgenden wird die Syntax für validate-logs beschrieben. Optionale Parameter sind in Klammern angegeben.

aws cloudtrail validate-logs --trail-arn <trailARN> --start-time <start-time> [--end-time <end-time>] [--s3-bucket <DOC-EXAMPLE-BUCKET>] [--s3-prefix <prefix>] [--account-id <account-id>] [--verbose]

Anmerkung

Der Befehl validate-logs ist regionsspezifisch. Sie müssen die --region globale Option angeben, um Protokolle für einen bestimmten AWS-Region Bereich zu validieren.

Optionen

Im Folgenden werden die Befehlszeilen-Optionen für validate-logs aufgeführt. Die Optionen --trail-arn und --start-time sind erforderlich. Die Option --account-id ist zusätzlich für organisatorische Trails erforderlich.

--start-time

Gibt an, dass die Protokolldateien, die an oder nach dem angegebenen UTC-Zeitstempelwert zugestellt wurden, validiert werden. Beispiel: 2015-01-08T05:21:42Z.

--end-time

Gibt optional an, dass die Protokolldateien, die an oder vor dem angegebenen UTC-Zeitstempelwert zugestellt wurden, validiert werden. Der Standardwert ist die aktuelle UTC-Zeit (Date.now()). Beispiel: 2015-01-08T12:31:41Z.

Anmerkung

Für den angegebenen Zeitraum werden mit dem validate-logs-Befehl nur die Protokolldateien geprüft, auf die in den entsprechenden Digest-Dateien verwiesen wird. Andere Protokolldateien im Amazon-S3-Bucket werden nicht geprüft. Weitere Informationen finden Sie unter Es wird geprüft, ob eine bestimmte Datei geliefert wurde von CloudTrail.

--s3-bucket

Gibt optional den Amazon-S3-Bucket an, in dem die Digest-Dateien gespeichert sind. Wenn kein Bucket-Name angegeben ist, AWS CLI ruft sie ihn durch einen Aufruf abDescribeTrails().

--s3-prefix

Gibt optional das Amazon-S3-Präfix an, mit dem die Digest-Dateien gespeichert sind. Wenn nicht angegeben, AWS CLI ruft sie ihn durch einen Aufruf abDescribeTrails().

Anmerkung

Verwenden Sie diese Option nur, wenn Ihr aktuelles Präfix nicht mit dem Präfix identisch ist, das in dem angegebenen Zeitraum verwendet wurde.

--account-id

Gibt optional das Konto für die Validierung von Protokollen an. Dieser Parameter ist für Organisations-Trails zur Validierung von Protokollen für das jeweilige Konto innerhalb einer Organisation erforderlich.

--trail-arn

Gibt den Amazon-Ressourcennamen (ARN) des zu validierenden Trails an. Nachfolgend ist das Format eines Trail-ARN angegeben.

arn:aws:cloudtrail:us-east-2:111111111111:trail/MyTrailName
Anmerkung

Zum Abrufen des Trail-ARN für einen Trail können Sie den describe-trails-Befehl verwenden, bevor Sie validate-logs ausführen.

Sie können den Bucket-Namen und das Präfix zusätzlich zum Trail-ARN angeben, wenn Protokolldateien in dem von Ihnen angegebenen Zeitraum an mehrere Buckets gesendet wurden und Sie die Validierung auf die Protokolldateien in nur einem der Buckets beschränken möchten.

--verbose

Gibt optional Validierungsinformationen für jede Protokoll- oder Digest-Datei in dem angegebenen Zeitraum aus. Die Ausgabe gibt an, ob die Datei unverändert ist oder geändert bzw. gelöscht wurde. Im Non-Verbose-Modus (Standard) werden Informationen nur für die Fälle zurückgegeben, in denen Fehler bei der Validierung aufgetreten sind.

Beispiel

Im folgenden Beispiel werden die Protokolldateien von der angegebenen Anfangszeit bis zum aktuellen Zeitpunkt mit dem Amazon-S3-Bucket, der für den aktuellen Trail konfiguriert ist, und unter Angabe der ausführlichen Ausgabe validiert.

aws cloudtrail validate-logs --start-time 2015-08-27T00:00:00Z --end-time 2015-08-28T00:00:00Z --trail-arn arn:aws:cloudtrail:us-east-2:111111111111:trail/my-trail-name --verbose

Funktionsweise von validate-logs

Der validate-logs-Befehl beginnt mit der Validierung der letzten Digest-Datei in dem angegebenen Zeitraum. Zunächst wird überprüft, dass die Digest-Datei von dem Speicherort heruntergeladen wurde, zu dem sie angeblich gehört. Mit anderen Worten, wenn die CLI die Digest-Datei df1 vom S3-Speicherort p1 herunterlädt, überprüft validate-logs das entsprechende p1 == df1.digestS3Bucket + '/' + df1.digestS3Object.

Wenn die Signatur der Digest-Datei gültig ist, wird der Hash-Wert jedes der Protokolle, auf die in der Digest-Datei verwiesen wird, überprüft. Der Befehl validiert dann nacheinander die vorherigen Digest-Dateien und ihre referenzierten Protokolldateien. Der Vorgang wird so lange fortgesetzt, bis der angegebene Wert für start-time erreicht ist oder die Digest-Kette endet. Wenn eine Digest-Datei fehlt oder ungültig ist, wird der Zeitraum, der nicht validiert werden kann, in der Ausgabe angegeben.

Validierungsergebnisse

Validierungsergebnisse beginnen mit einem Zusammenfassungs-Header in folgendem Format:

Validating log files for trail trail_ARN between time_stamp and time_stamp

Jede Zeile der Hauptausgabe enthält die Validierungsergebnisse für eine einzelne Digest- oder Protokolldatei in folgendem Format:

<Digest file | Log file> <S3 path> <Validation Message>

Die folgende Tabelle beschreibt die möglichen Validierungsmeldungen für Protokoll- und Digest-Dateien.

Dateityp Validierungsmeldung Beschreibung
Digest file valid Die Signatur der Digest-Datei ist gültig. Die Protokolldateien, auf die sie verweist, können überprüft werden. Diese Meldung ist nur im Verbose-Modus enthalten.
Digest file INVALID: has been moved from its original location Der S3-Bucket oder das S3-Objekt, aus dem die Digest-Datei abgerufen wurde, stimmt nicht mit den S3-Bucket- oder S3-Objekt-Speicherorten überein, die in der Digest-Datei selbst aufgezeichnet sind.
Digest file INVALID: invalid format Das Format der Digest-Datei ist ungültig. Die Protokolldateien, die dem Zeitraum entsprechen, den die Digest-Datei repräsentiert, können nicht validiert werden.
Digest file INVALID: not found Die Digest-Datei wurde nicht gefunden. Die Protokolldateien, die dem Zeitraum entsprechen, den die Digest-Datei repräsentiert, können nicht validiert werden.
Digest file INVALID: public key not found for fingerprint Fingerabdruck Der öffentliche Schlüssel, der zu dem Fingerabdruck in der Digest-Datei gehört, wurde nicht gefunden. Die Digest-Datei kann nicht validiert werden.
Digest file INVALID: signature verification failed Die Signatur der Digest-Datei ist ungültig. Da die Digest-Datei ungültig ist, können die Protokolldateien, auf die sie verweist, nicht validiert werden, und es können keine Aussagen über die darin enthaltenen API-Aktivitäten getroffen werden.
Digest file INVALID: Unable to load PKCS #1 key with fingerprint Fingerabdruck Da der DER-codierte öffentliche Schlüssel im PKCS # 1-Format mit dem angegebenen Fingerabdruck nicht geladen werden konnte, kann die Digest-Datei nicht validiert werden.
Log file valid Die Protokolldatei wurde validiert und seit der Bereitstellung nicht geändert. Diese Meldung ist nur im Verbose-Modus enthalten.
Log file INVALID: hash value doesn't match Der Hash für die Protokolldatei stimmt nicht überein. Die Protokolldatei wurde nach der Lieferung von geändert CloudTrail.
Log file INVALID: invalid format Das Format der Protokolldatei ist ungültig. Die Protokolldatei kann nicht validiert werden.
Log file INVALID: not found Die Protokolldatei wurde nicht gefunden und kann nicht validiert werden.

Die Ausgabe umfasst zusammenfassende Informationen über die zurückgegebenen Ergebnisse.

Beispielausgaben

Verbose

Der folgende validate-logs-Beispielbefehl verwendet das Flag --verbose und erzeugt die folgende Beispielausgabe. [...] gibt an, dass die Beispielausgabe gekürzt wurde.

aws cloudtrail validate-logs --trail-arn arn:aws:cloudtrail:us-east-2:111111111111:trail/example-trail-name --start-time 2015-08-31T22:00:00Z --end-time 2015-09-01T19:17:29Z --verbose
Validating log files for trail arn:aws:cloudtrail:us-east-2:111111111111:trail/example-trail-name between 2015-08-31T22:00:00Z and 2015-09-01T19:17:29Z Digest file s3://DOC-EXAMPLE-BUCKET/AWSLogs/111111111111/CloudTrail-Digest/us-east-2/2015/09/01/111111111111_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T201728Z.json.gz valid Log file s3://DOC-EXAMPLE-BUCKET/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1925Z_WZZw1RymnjCRjxXc.json.gz valid Log file s3://DOC-EXAMPLE-BUCKET/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1915Z_POuvV87nu6pfAV2W.json.gz valid Log file s3://DOC-EXAMPLE-BUCKET/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1930Z_l2QgXhAKVm1QXiIA.json.gz valid Log file s3://DOC-EXAMPLE-BUCKET/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1920Z_eQJteBBrfpBCqOqw.json.gz valid Log file s3://DOC-EXAMPLE-BUCKET/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1950Z_9g5A6qlR2B5KaRdq.json.gz valid Log file s3://DOC-EXAMPLE-BUCKET/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1920Z_i4DNCC12BuXd6Ru7.json.gz valid Log file s3://DOC-EXAMPLE-BUCKET/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1915Z_Sg5caf2RH6Jdx0EJ.json.gz valid Digest file s3://DOC-EXAMPLE-BUCKET/AWSLogs/111111111111/CloudTrail-Digest/us-east-2/2015/09/01/111111111111_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T191728Z.json.gz valid Log file s3://DOC-EXAMPLE-BUCKET/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1910Z_YYSFiuFQk4nrtnEW.json.gz valid [...] Log file s3://DOC-EXAMPLE-BUCKET/AWSLogs/144218288521/CloudTrail/us-east-2/2015/09/01/144218288521_CloudTrail_us-east-2_20150901T1055Z_0Sfy6m9f6iBzmoPF.json.gz valid Log file s3://DOC-EXAMPLE-BUCKET/AWSLogs/144218288521/CloudTrail/us-east-2/2015/09/01/144218288521_CloudTrail_us-east-2_20150901T1040Z_lLa3QzVLpOed7igR.json.gz valid Digest file s3://DOC-EXAMPLE-BUCKET/AWSLogs/144218288521/CloudTrail-Digest/us-east-2/2015/09/01/144218288521_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T101728Z.json.gz INVALID: signature verification failed Digest file s3://DOC-EXAMPLE-BUCKETAWSLogs/144218288521/CloudTrail-Digest/us-east-2/2015/09/01/144218288521_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T091728Z.json.gz valid Log file s3://DOC-EXAMPLE-BUCKET/AWSLogs/144218288521/CloudTrail/us-east-2/2015/09/01/144218288521_CloudTrail_us-east-2_20150901T0830Z_eaFvO3dwHo4NCqqc.json.gz valid Digest file s3://DOC-EXAMPLE-BUCKET/AWSLogs/144218288521/CloudTrail-Digest/us-east-2/2015/09/01/144218288521_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T081728Z.json.gz valid Digest file s3://DOC-EXAMPLE-BUCKET/AWSLogs/144218288521/CloudTrail-Digest/us-east-2/2015/09/01/144218288521_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T071728Z.json.gz valid [...] Log file s3://DOC-EXAMPLE-BUCKET/AWSLogs/111111111111/CloudTrail/us-east-2/2015/08/31/111111111111_CloudTrail_us-east-2_20150831T2245Z_mbJkEO5kNcDnVhGh.json.gz valid Log file s3://DOC-EXAMPLE-BUCKET/AWSLogs/111111111111/CloudTrail/us-east-2/2015/08/31/111111111111_CloudTrail_us-east-2_20150831T2225Z_IQ6kXy8sKU03RSPr.json.gz valid Log file s3://DOC-EXAMPLE-BUCKET/AWSLogs/111111111111/CloudTrail/us-east-2/2015/08/31/111111111111_CloudTrail_us-east-2_20150831T2230Z_eRPVRTxHQ5498ROA.json.gz valid Log file s3://DOC-EXAMPLE-BUCKET/AWSLogs/111111111111/CloudTrail/us-east-2/2015/08/31/111111111111_CloudTrail_us-east-2_20150831T2255Z_IlWawYZGvTWB5vYN.json.gz valid Digest file s3://DOC-EXAMPLE-BUCKET/AWSLogs/111111111111/CloudTrail-Digest/us-east-2/2015/08/31/111111111111_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150831T221728Z.json.gz valid Results requested for 2015-08-31T22:00:00Z to 2015-09-01T19:17:29Z Results found for 2015-08-31T22:17:28Z to 2015-09-01T20:17:28Z: 22/23 digest files valid, 1/23 digest files INVALID 63/63 log files valid

Non-Verbose

Der folgende validate-logs-Beispielbefehl verwendet kein --verbose-Flag. In der folgenden Beispielausgabe wurde ein Fehler gefunden. Es werden nur Header-, Fehler- und Zusammenfassungsinformationen zurückgegeben.

aws cloudtrail validate-logs --trail-arn arn:aws:cloudtrail:us-east-2:111111111111:trail/example-trail-name --start-time 2015-08-31T22:00:00Z --end-time 2015-09-01T19:17:29Z
Validating log files for trail arn:aws:cloudtrail:us-east-2:111111111111:trail/example-trail-name between 2015-08-31T22:00:00Z and 2015-09-01T19:17:29Z Digest file s3://DOC-EXAMPLE-BUCKET/AWSLogs/144218288521/CloudTrail-Digest/us-east-2/2015/09/01/144218288521_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T101728Z.json.gz INVALID: signature verification failed Results requested for 2015-08-31T22:00:00Z to 2015-09-01T19:17:29Z Results found for 2015-08-31T22:17:28Z to 2015-09-01T20:17:28Z: 22/23 digest files valid, 1/23 digest files INVALID 63/63 log files valid

Es wird geprüft, ob eine bestimmte Datei geliefert wurde von CloudTrail

Um zu überprüfen, ob eine bestimmte Datei in Ihrem Bucket von zugestellt wurde CloudTrail, führen Sie den Vorgang für den Zeitraum, der die Datei enthält, validate-logs im ausführlichen Modus aus. Wenn die Datei in der Ausgabe von erscheintvalidate-logs, dann wurde die Datei geliefert von CloudTrail.