As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Validar a integridade dos arquivos de log do CloudTrail com a AWS CLI
Para validar os log com a AWS Command Line Interface, use o comando validate-logs
do CloudTrail. O comando usa os arquivos de resumo fornecidos ao bucket do Amazon S3 para executar a validação. Para obter informações sobre os arquivos de resumo, consulte Estrutura de arquivo de resumo do CloudTrail.
A AWS CLI permite que você detecte os seguintes tipos de alterações:
-
Modificar ou excluir os arquivos de log do CloudTrail
-
Modificar ou excluir os arquivos de resumo do CloudTrail
-
Modificação ou exclusão de ambos
nota
A AWS CLI valida somente os arquivos de log aos quais os arquivos de resumo fazem referência. Para ter mais informações, consulte Verificar se um arquivo específico foi fornecido pelo CloudTrail.
Pré-requisitos
Para validar a integridade dos arquivos de log com a AWS CLI, as seguintes condições precisam ser atendidas:
-
Você precisa ter conectividade online com a AWS.
-
Você precisa ter acesso de leitura ao bucket do Amazon S3 que contém os arquivos de resumo e de log.
-
Os arquivos de resumo e de log não podem ter sido movidos do local original do Amazon S3 em que o CloudTrail os forneceu.
nota
Os arquivos de log que foram baixados para o disco local não podem ser validados com a AWS CLI. Para obter informações sobre como criar suas próprias ferramentas para validação, consulte Implementações personalizadas da validação da integridade dos arquivos de log do CloudTrail.
validate-logs
Sintaxe
Veja a seguir a sintaxe de validate-logs
. Os parâmetros opcionais são mostrados entre colchetes.
aws cloudtrail validate-logs --trail-arn <trailARN> --start-time <start-time> [--end-time <end-time>] [--s3-bucket <amzn-s3-demo-bucket>] [--s3-prefix <prefix>] [--account-id <account-id>] [--verbose]
nota
O comando validate-logs
é específico da região. Você deve especificar a opção global --region
para validar os registros de um Região da AWS específico.
Opções
Veja a seguir as opções de linha de comando de validate-logs
. As opções --trail-arn
e --start-time
são obrigatórias. A opção --account-id
também é necessária para trilhas organizacionais.
--start-time
-
Especifica que os arquivos de log fornecidos no horário UTC especificado ou depois dele serão validados. Exemplo:
2015-01-08T05:21:42Z
.
--end-time
-
Opcionalmente, especifica que os arquivos de log fornecidos no horário UTC especificado ou antes dele serão validados. O valor padrão é o horário UTC atual (
Date.now()
). Exemplo:2015-01-08T12:31:41Z
.nota
Para o período especificado, o comando
validate-logs
verifica somente os arquivos de log que são referenciados em seus arquivos de resumo correspondentes. Nenhum outro arquivo de log no bucket do Amazon S3 é verificado. Para ter mais informações, consulte Verificar se um arquivo específico foi fornecido pelo CloudTrail.
--s3-bucket
-
Opcionalmente, especifica o bucket do Amazon S3 em que os arquivos de resumo são armazenados. Se um nome de bucket não for especificado, a AWS CLI o recuperará ao chamar
DescribeTrails()
.
--s3-prefix
-
Opcionalmente, especifica o prefixo do Amazon S3 em que os arquivos de resumo são armazenados. Se não for especificado, a AWS CLI o recuperará ao chamar
DescribeTrails()
.nota
Você deve usar essa opção somente se o prefixo atual for diferente daquele que estava em uso durante o período que você especificar.
--account-id
-
Opcionalmente, especifica a conta para validar os logs. Esse parâmetro é necessário para trilhas da organização para validação de logs da conta específica dentro de uma organização.
--trail-arn
-
Especifica o Nome de recurso da Amazon (ARN) da trilha a ser validada. O formato de uma trilha que o Nome de recurso da Amazon (ARN) segue.
arn:aws:cloudtrail:us-east-2:111111111111:trail/MyTrailName
nota
Para obter o Nome de recurso da Amazon (ARN) de uma trilha, você pode usar o comando
describe-trails
antes de executarvalidate-logs
.Convém especificar o prefixo e o nome do bucket, além do Nome de recurso da Amazon (ARN) da trilha, se os arquivos de log foram fornecidos a mais de um bucket no período especificado e você quiser restringir a validação aos arquivos de log em apenas um dos buckets.
--verbose
-
Opcionalmente, fornece informações de validação de cada arquivo de log ou de compilação no período especificado. Os resultados indicam se o arquivo permanece inalterado ou foi modificado ou excluído. No modo não detalhado (o padrão), as informações são retornadas somente para os casos em que havia uma falha de validação.
Exemplo
O exemplo a seguir valida os arquivos de log do horário de início especificado até o presente, usando o bucket do Amazon S3 configurado para a trilha atual e especificando os resultados detalhados.
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
Como o validate-logs
funciona
O comando validate-logs
começa validando o arquivo de resumo mais recente no período especificado. Primeiro, ele verifica se o arquivo de resumo foi baixado do local ao qual ele afirma que pertence. Em outras palavras, se a CLI fizer download do arquivo de resumo df1
do local do S3 p1
, validate-logs verificará se p1 == df1.digestS3Bucket + '/' + df1.digestS3Object
.
Se a assinatura do arquivo de resumo for válida, ela verificará o valor de hash de cada um dos logs referenciados no arquivo de resumo. Então, o comando volta no tempo, validando os arquivos de resumo anteriores e seus arquivos de log referenciados sucessivamente. Ele continuará até que o valor especificado para start-time
seja atingido ou até que a cadeia de compilação termine. Se um arquivo de resumo é ausente ou não é válido, o período que não pode ser validado é indicado nos resultados.
Resultados da validação
Os resultados da validação começam com um cabeçalho de resumo no seguinte formato:
Validating log files for trail
trail_ARN
betweentime_stamp
andtime_stamp
Cada linha dos resultados principais contém os resultados da validação para um único arquivo de resumo ou de log no seguinte formato:
<Digest file | Log file> <
S3 path
> <Validation Message
>
A tabela a seguir descreve as possíveis mensagens de validação do arquivo de log e de compilação.
Tipo de arquivo | Mensagem de validação | Descrição |
---|---|---|
Digest file |
valid |
A assinatura do arquivo de resumo é válida. Os arquivos de log aos quais ela faz referência podem ser verificados. Essa mensagem é incluída apenas no modo detalhado. |
Digest file |
INVALID: has been moved from its original location |
O bucket do S3 ou o objeto do S3 do qual o arquivo de resumo foi recuperado não corresponde aos locais do bucket do S3 ou do objeto do S3 que são registrados no próprio arquivo de resumo. |
Digest file |
INVALID: invalid format |
O formato do arquivo de resumo é inválido. Os arquivos de log correspondentes ao período que o arquivo de resumo representa não podem ser validados. |
Digest file |
INVALID: not found |
O arquivo de resumo não foi encontrado. Os arquivos de log correspondentes ao período que o arquivo de resumo representa não podem ser validados. |
Digest file |
INVALID: public key not found for fingerprint impressão digital |
A chave pública correspondente à impressão digital registrada no arquivo de resumo não foi encontrada. O arquivo de resumo não pode ser validado. |
Digest file |
INVALID: signature verification failed |
A assinatura do arquivo de resumo não é válida. Como o arquivo de resumo não é válido, os arquivos de log aos quais ele faz referência não podem ser validados, e nenhuma declaração pode ser feita sobre a atividade da API neles. |
Digest file |
INVALID: Unable to load PKCS #1 key with fingerprint impressão digital |
Como a chave pública DER codificada no formato PKCS #1 que contém a impressão digital especificada não pode ser carregada, o arquivo de resumo não pode ser validado. |
Log file |
valid |
O arquivo de log foi validado e não foi modificado desde o horário do fornecimento. Essa mensagem é incluída apenas no modo detalhado. |
Log file |
INVALID: hash value doesn't match |
O hash do arquivo de log não é correspondente. O arquivo de log foi modificado depois de ser fornecido pelo CloudTrail. |
Log file |
INVALID: invalid format |
O formato do arquivo de log é inválido. O arquivo de log não pode ser validado. |
Log file |
INVALID: not found |
O arquivo de log não foi encontrado e não pode ser validado. |
A saída inclui informações resumidas sobre os resultados retornados.
Exemplos de resultados
Detalhado
O exemplo de comando validate-logs
usa o sinalizador --verbose
e produz o exemplo de resultado a seguir. [...]
indica que o resultado de amostra foi abreviado.
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://amzn-s3-demo-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://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1925Z_WZZw1RymnjCRjxXc.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1915Z_POuvV87nu6pfAV2W.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1930Z_l2QgXhAKVm1QXiIA.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1920Z_eQJteBBrfpBCqOqw.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1950Z_9g5A6qlR2B5KaRdq.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1920Z_i4DNCC12BuXd6Ru7.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1915Z_Sg5caf2RH6Jdx0EJ.json.gz valid Digest file s3://amzn-s3-demo-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://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1910Z_YYSFiuFQk4nrtnEW.json.gz valid [...] Log file s3://amzn-s3-demo-bucket/AWSLogs/144218288521/CloudTrail/us-east-2/2015/09/01/144218288521_CloudTrail_us-east-2_20150901T1055Z_0Sfy6m9f6iBzmoPF.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/144218288521/CloudTrail/us-east-2/2015/09/01/144218288521_CloudTrail_us-east-2_20150901T1040Z_lLa3QzVLpOed7igR.json.gz valid Digest file s3://amzn-s3-demo-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://amzn-s3-demo-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://amzn-s3-demo-bucket/AWSLogs/144218288521/CloudTrail/us-east-2/2015/09/01/144218288521_CloudTrail_us-east-2_20150901T0830Z_eaFvO3dwHo4NCqqc.json.gz valid Digest file s3://amzn-s3-demo-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://amzn-s3-demo-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://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/08/31/111111111111_CloudTrail_us-east-2_20150831T2245Z_mbJkEO5kNcDnVhGh.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/08/31/111111111111_CloudTrail_us-east-2_20150831T2225Z_IQ6kXy8sKU03RSPr.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/08/31/111111111111_CloudTrail_us-east-2_20150831T2230Z_eRPVRTxHQ5498ROA.json.gz valid Log file s3://amzn-s3-demo-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/08/31/111111111111_CloudTrail_us-east-2_20150831T2255Z_IlWawYZGvTWB5vYN.json.gz valid Digest file s3://amzn-s3-demo-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
Não detalhado
O exemplo de comando validate-logs
não usa o sinalizador --verbose
. No exemplo de resultado a seguir, um erro foi encontrado. Somente o cabeçalho, o erro e as informações resumidas são retornados.
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://amzn-s3-demo-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
Verificar se um arquivo específico foi fornecido pelo CloudTrail
Para verificar se um arquivo específico no seu bucket foi fornecido pelo CloudTrail, execute validate-logs
no modo detalhado para o período que inclui o arquivo. Se o arquivo aparecer no resultado de validate-logs
, isso significa que o arquivo foi fornecido pelo CloudTrail.