Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Validation de l'intégrité du fichier CloudTrail journal à l'aide du AWS CLI
Pour valider les journaux avec le AWS Command Line Interface, utilisez la CloudTrail validate-logs
commande. La commande utilise les fichiers de valeur de hachage livrés dans votre compartiment Amazon S3 pour effectuer la validation. Pour plus d'informations sur les fichiers de valeur de hachage, consultez CloudTrail structure du fichier digest.
Vous AWS CLI permet de détecter les types de modifications suivants :
-
Modification ou suppression de fichiers CloudTrail journaux
-
Modification ou suppression de fichiers CloudTrail de synthèse
-
Modification ou suppression des deux types de fichiers ci-dessus
Note
AWS CLI Valide uniquement les fichiers journaux référencés par des fichiers de synthèse. Pour plus d’informations, consultez Vérifier si un fichier en particulier a été livré par CloudTrail.
Prérequis
Pour valider l'intégrité du fichier journal avec le AWS CLI, les conditions suivantes doivent être remplies :
-
Vous devez disposer d'une connexion en ligne pour AWS.
-
Vous devez disposer d'un accès en lecture au compartiment Amazon S3 qui contient les fichiers de valeur de hachage et les fichiers journaux.
-
Les fichiers de synthèse et de journal ne doivent pas avoir été déplacés de l'emplacement Amazon S3 d'origine où ils ont été CloudTrail livrés.
Note
Les fichiers journaux qui ont été téléchargés sur le disque local ne peuvent pas être validés avec la AWS CLI. Pour des recommandations sur la création de vos propres outils pour la validation, consultez Implémentations personnalisées de validation de l'intégrité des fichiers CloudTrail journaux.
validate-logs
Syntaxe
Voici la syntaxe de validate-logs
. Les paramètres facultatifs sont présentés entre crochets.
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]
Note
La commande validate-logs
est spécifique à la région. Vous devez spécifier l'option --region
globale pour valider les journaux d'un utilisateur spécifique Région AWS.
Options
Voici les options de ligne de commande pour validate-logs
. Les options --trail-arn
et --start-time
sont requises. L'option --account-id
est également requise pour les journaux de suivi d'organisation.
--start-time
-
Spécifie que les fichiers journaux fournis le jour ou après la valeur d'UTChorodatage spécifiée seront validés. Exemple:
2015-01-08T05:21:42Z
.
--end-time
-
Spécifie éventuellement que les fichiers journaux fournis le jour ou avant la valeur d'UTChorodatage spécifiée seront validés. La valeur par défaut est l'UTCheure actuelle (
Date.now()
). Exemple:2015-01-08T12:31:41Z
.Note
Pour la plage de temps spécifiée, la commande
validate-logs
vérifie uniquement les fichiers journaux qui sont référencés dans les fichiers de valeur de hachage correspondants. Aucun autre fichier journal dans le compartiment Amazon S3 n'est vérifié. Pour plus d'informations, consultez Vérifier si un fichier en particulier a été livré par CloudTrail.
--s3-bucket
-
Vous pouvez également spécifier le compartiment Amazon S3 où les fichiers de valeur de hachage sont stockés. Si aucun nom de compartiment n'est spécifié, il AWS CLI sera récupéré en appelant
DescribeTrails()
.
--s3-prefix
-
Vous pouvez également spécifier le préfixe Amazon S3 où les fichiers de valeur de hachage sont stockés. S'il n'est pas spécifié, il le AWS CLI récupérera en appelant
DescribeTrails()
.Note
Vous devez utiliser cette option uniquement si votre préfixe actuel est différent du préfixe utilisé au cours de la plage de temps que vous spécifiez.
--account-id
-
Spécifie éventuellement le compte pour la validation des journaux. Ce paramètre est obligatoire pour les journaux de suivi d'organisation afin de valider les journaux d'un compte spécifique au sein d'une organisation.
--trail-arn
-
Spécifie le nom de ressource Amazon (ARN) du parcours à valider. Le format d'un parcours est le ARN suivant.
arn:aws:cloudtrail:us-east-2:111111111111:trail/MyTrailName
Note
Pour obtenir le tracé ARN d'un parcours, vous pouvez utiliser la
describe-trails
commande avant de courirvalidate-logs
.Vous souhaiterez peut-être spécifier le nom et le préfixe du compartiment en plus du journal ARN si les fichiers journaux ont été envoyés à plusieurs compartiments au cours de la période que vous avez spécifiée, et si vous souhaitez limiter la validation aux fichiers journaux d'un seul des compartiments.
--verbose
-
Génère, en option, des informations de validation pour chaque fichier journal ou fichier de valeur de hachage dans la plage de temps spécifiée. La sortie indique si le fichier reste inchangé ou s'il a été modifié ou supprimé. En mode non détaillé (la valeur par défaut), les informations sont renvoyées uniquement en cas d'échec de validation.
Exemple
L'exemple suivant valide les fichiers journaux à partir de l'heure de début spécifiée jusqu'à l'heure actuelle, à l'aide du compartiment Amazon S3 configuré pour le journal d'activité actuel et en spécifiant une sortie détaillée.
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
Fonctionnement d’validate-logs
La commande validate-logs
commence par valider le fichier de valeur de hachage le plus récent dans la plage de temps spécifiée. Elle vérifie d'abord que le fichier de valeur de hachage a été téléchargé à partir de l'emplacement auquel il prétend appartenir. En d'autres termes, si le fichier df1
de synthèse CLI télécharge depuis l'emplacement S3p1
, validate-logs le vérifiera. p1 == df1.digestS3Bucket + '/' + df1.digestS3Object
Si la signature du fichier de valeur de hachage est valide, elle vérifie la valeur de hachage de chacun des journaux référencés dans le fichier de valeur de hachage. La commande remonte ensuite dans le temps et valide les fichiers de valeur de hachage précédents ainsi que les fichiers journaux référencés dans l'ordre. Elle continue jusqu'à ce que la valeur spécifiée pour start-time
soit atteinte, ou jusqu'à la fin de chaîne de valeur de hachage prenne fin. Si un fichier de valeur de hachage est manquant ou non valide, la plage de temps ne pouvant pas être validée est indiquée dans la sortie.
Résultats de la validation
Les résultats de la validation commencent par un en-tête récapitulatif au format suivant :
Validating log files for trail
trail_ARN
betweentime_stamp
andtime_stamp
Chaque ligne de la sortie principale contient les résultats de validation d'un fichier de valeur de hachage ou d'un fichier journal au format suivant :
<Digest file | Log file> <
S3 path
> <Validation Message
>
Le tableau suivant décrit les messages de validation possibles pour les fichiers journaux et les fichiers de valeur de hachage.
Type de fichier | Message de validation | Description |
---|---|---|
Digest file |
valid |
La signature du fichier de valeur de hachage est valide. Les fichiers journaux auxquels if fait référence peuvent être vérifiés. Ce message est inclus uniquement en mode détaillé. |
Digest file |
INVALID: has been moved from its original location |
Le compartiment S3 ou l'objet S3 à partir dont le fichier de valeur de hachage été extrait ne correspond pas aux emplacements de compartiment S3 ou d'objet S3 enregistrées dans le fichier de valeur de hachage. |
Digest file |
INVALID: invalid format |
Le format du fichier de valeur de hachage n'est pas valide. Les fichiers journaux correspondant à la plage de temps que le fichier de valeur de hachage représente ne peuvent pas être validés. |
Digest file |
INVALID: not found |
Le fichier de valeur de hachage est introuvable. Les fichiers journaux correspondant à la plage de temps que le fichier de valeur de hachage représente ne peuvent pas être validés. |
Digest file |
INVALID: public key not found for fingerprint fingerprint |
La clé publique correspondant à l'empreinte digitale enregistrée dans le fichier de valeur de hachage est introuvable. Le fichier de valeur de hachage ne peut pas être validé. |
Digest file |
INVALID: signature verification failed |
La signature du fichier de valeur de hachage n'est pas valide. Le fichier condensé n'étant pas valide, les fichiers journaux auxquels il fait référence ne peuvent pas être validés et aucune assertion ne peut être faite quant à l'APIactivité qu'ils contiennent. |
Digest file |
INVALID: Unable to load PKCS #1 key with fingerprint
fingerprint |
Comme la clé publique DER codée au format PKCS #1 ayant l'empreinte spécifiée n'a pas pu être chargée, le fichier condensé ne peut pas être validé. |
Log file |
valid |
Le fichier journal a été validé et n'a pas été modifié depuis le moment de la livraison. Ce message est inclus uniquement en mode détaillé. |
Log file |
INVALID: hash value doesn't match |
Le hachage du fichier journal ne correspond pas. Le fichier journal a été modifié après sa livraison par CloudTrail. |
Log file |
INVALID: invalid format |
Le format du fichier journal n'est pas valide. Le fichier journal ne peut pas être validé. |
Log file |
INVALID: not found |
Le fichier journal est introuvable et ne peut pas être validé. |
La sortie inclut des informations récapitulative sur les résultats retournés.
Exemples de sorties
Détaillée
L'exemple de commande validate-logs
suivant utilise l'indicateur --verbose
et produit le résultat qui suit. [...]
indique l'exemple de sortie abrégée.
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 détaillée
L'exemple de commande validate-logs
suivant n'utilise pas l'indicateur --verbose
. Dans l'exemple de sortie qui suit, une erreur a été détectée. Seules les informations concernant l'en-tête, les erreurs et les informations récapitulatives sont renvoyées.
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
Vérifier si un fichier en particulier a été livré par CloudTrail
Pour vérifier si un fichier spécifique de votre bucket a été livré par CloudTrail, exécutez-le validate-logs
en mode détaillé pendant la période pendant laquelle le fichier est inclus. Si le fichier apparaît dans la sortie devalidate-logs
, il a été livré par CloudTrail.