Coletar registros do Amazon CloudFront
Este documento descreve como coletar registros do Amazon CloudFront configurando um feed de operações de segurança do Google.
Para mais informações, consulte Visão geral da ingestão de dados para as operações de segurança do Google.
Um rótulo de transferência identifica o analisador que normaliza os dados de registro brutos
para o formato estruturado do UDM. As informações neste documento se aplicam ao analisador
com o rótulo de transferência AWS_CLOUDFRONT
.
Antes de começar
Verifique se o bucket do Amazon S3 foi criado. Para mais informações, consulte Criar seu primeiro bucket do S3.
Configurar o Amazon CloudFront
- Faça login no console do AWS Management.
- Acesse o console do Amazon S3 e crie o bucket.
- Para ativar o registro, selecione Ativado.
- No campo Bucket for logs, especifique o nome do bucket do Amazon S3.
- No campo Prefixo de registro, especifique um prefixo opcional.
- Depois que os arquivos de registro forem armazenados no bucket do Amazon S3, crie uma fila do SQS e anexe-a ao bucket do Amazon S3.
Identificar os endpoints de conectividade
Verifique as políticas de chaves do IAM e do KMS necessárias para o S3, o SQS e o KMS.
Com base no serviço e na região, identifique os endpoints de conectividade consultando a seguinte documentação da AWS:
- Para informações sobre as origens de registro, consulte Endpoints e cotas do AWS Identity and Access Management.
- Para informações sobre as origens de registro do S3, consulte Endpoints e cotas do Amazon Simple Storage Service.
- Para informações sobre as origens de registro do SQS, consulte Endpoints e cotas do Amazon Simple Queue Service.
Configurar um feed no Google Security Operations para processar os registros do Amazon CloudFront
- Selecione Configurações do SIEM > Feeds.
- Clique em Adicionar novo.
- Insira um nome exclusivo para o nome do feed.
- Selecione Amazon S3 ou Amazon SQS como o Tipo de origem.
- Selecione AWS CloudFront como o Tipo de registro.
- Clique em Próxima.
- O Google Security Operations oferece suporte à coleta de registros usando o ID da chave de acesso e o método secreto. Para criar o ID da chave de acesso e o secret, consulte Configurar a autenticação da ferramenta com a AWS.
- Com base na configuração do Amazon CloudFront que você criou, especifique valores para os seguintes campos.
- Se você usa o Amazon S3, especifique valores para os seguintes campos:
- Região
- URI do S3
- O URI é um
- Opção de exclusão da origem
- Se você usa o Amazon SQS, especifique valores para os seguintes campos:
- Região
- Nome da fila
- Número da conta
- ID da chave de acesso da fila
- Chave de acesso secreta da fila
- Opção de exclusão da origem
- Se você usa o Amazon S3, especifique valores para os seguintes campos:
- Clique em Próxima e em Enviar.
Para enviar os registros do Amazon CloudFront para o bucket do Amazon S3, consulte Configurar e usar registros padrão (logs de acesso).
Para mais informações sobre os feeds do Google Security Operations, consulte a documentação dos feeds do Google Security Operations. Para informações sobre os requisitos de cada tipo de feed, consulte Configuração de feed por tipo. Se você tiver problemas ao criar feeds, entre em contato com o suporte da Google Security Operations.
Referência do mapeamento de campo
Esse analisador extrai campos dos registros do AWS CloudFront nos formatos SYSLOG ou JSON, normalizando-os no UDM. Ele usa padrões grok para analisar strings de mensagem, processa várias transformações de dados (por exemplo, conversões de tipo, renomeação) e enriquece os dados com contexto adicional, como análise de agente do usuário e identificação de protocolo do aplicativo.
Tabela de mapeamento da UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
c-ip |
principal.ip |
Mapeado diretamente. Também mapeado para principal.asset.ip . |
c-port |
principal.port |
Mapeado diretamente. |
cs(Cookie) |
additional.fields[].key : "cookie"additional.fields[].value.string_value : mapeado diretamente. |
Mapeado condicionalmente se cs(Cookie) estiver presente e agent não contiver "://". |
cs(Host) |
principal.hostname |
Mapeado diretamente. Também mapeado para principal.asset.hostname . Usado na construção do target.url se outros campos de URL não estiverem disponíveis. |
cs(Referer) |
network.http.referral_url |
Mapeado diretamente. |
cs(User-Agent) |
network.http.user_agent |
Mapeado diretamente. Também é mapeado para network.http.parsed_user_agent e analisado nos componentes se não contiver "://". |
cs-bytes |
network.sent_bytes |
Mapeado diretamente. Convertido em número inteiro sem sinal. |
cs-method |
network.http.method |
Mapeado diretamente. |
cs-protocol |
network.application_protocol |
Mapeado após a conversão para letras maiúsculas. Se o valor não for reconhecido como um protocolo de aplicativo padrão e cs-protocol-version contiver "HTTP", network.application_protocol será definido como "HTTP". |
dport |
target.port |
Mapeado diretamente. Convertido em número inteiro. |
edge_location |
principal.location.name |
Mapeado diretamente. |
fle-encrypted-fields |
additional.fields[].key : "fle-encrypted-fields"additional.fields[].value.string_value : mapeado diretamente. |
Mapeado condicionalmente, se presente. |
fle-status |
additional.fields[].key : "fle-status"additional.fields[].value.string_value : mapeado diretamente. |
Mapeado condicionalmente, se presente. |
host |
principal.hostname , principal.asset.hostname |
Mapeado diretamente. |
id |
principal.asset_id |
Mapeado diretamente com o prefixo "id: ". |
ip |
target.ip , target.asset.ip |
Mapeado diretamente. |
log_id |
metadata.product_log_id |
Mapeado diretamente. |
resource |
additional.fields[].key : "resource"additional.fields[].value.string_value : mapeado diretamente. |
Mapeado condicionalmente, se presente. |
result_type |
additional.fields[].key : "result_type"additional.fields[].value.string_value : mapeado diretamente. |
Mapeado condicionalmente, se presente. |
sc-bytes |
network.received_bytes |
Mapeado diretamente. Convertido em número inteiro sem sinal. |
sc-content-len |
additional.fields[].key : "sc-content-len"additional.fields[].value.string_value : mapeado diretamente. |
Mapeado condicionalmente, se presente. |
sc-content-type |
additional.fields[].key : "sc-content-type"additional.fields[].value.string_value : mapeado diretamente. |
Mapeado condicionalmente, se presente. |
sc-status |
network.http.response_code |
Mapeado diretamente. Convertido em número inteiro. |
ssl-cipher |
network.tls.cipher |
Mapeado diretamente. |
ssl-protocol |
network.tls.version |
Mapeado diretamente. |
timestamp |
metadata.event_timestamp |
Analisado e mapeado, se disponível. Vários formatos são aceitos. |
ts |
metadata.event_timestamp |
Analisado e mapeado, se disponível. O formato ISO8601 é esperado. |
url |
target.url |
Mapeado diretamente. |
url_back_to_product |
metadata.url_back_to_product |
Mapeado diretamente. |
x-edge-detailed-result-type |
additional.fields[].key : "x-edge-detailed-result-type"additional.fields[].value.string_value : mapeado diretamente. |
Mapeado condicionalmente, se presente. |
x-edge-location |
additional.fields[].key : "x-edge-location"additional.fields[].value.string_value : mapeado diretamente. |
Mapeado condicionalmente, se presente. |
x-edge-request-id |
additional.fields[].key : "x-edge-request-id"additional.fields[].value.string_value : mapeado diretamente. |
Mapeado condicionalmente, se presente. |
x-edge-response-result-type |
additional.fields[].key : "x-edge-response-result-type"additional.fields[].value.string_value : mapeado diretamente. |
Mapeado condicionalmente, se presente. |
x-edge-result-type |
additional.fields[].key : "x-edge-result-type"additional.fields[].value.string_value : mapeado diretamente. |
Mapeado condicionalmente, se presente. |
x-forwarded-for |
target.ip , target.asset.ip |
Mapeado diretamente. Se vários IPs estiverem presentes (separados por vírgulas), eles serão divididos e mesclados nos respectivos campos do UDM. |
x-host-header |
target.hostname , target.asset.hostname |
Mapeado diretamente. Defina como "NETWORK_HTTP" se ip ou x-forwarded-for e http_verb estiverem presentes. Caso contrário, defina como "GENERIC_EVENT". Fixado em "AWS_CLOUDFRONT". Fixado em "AWS CloudFront". Fixado em "AMAZON". O horário de ingestão da entrada de registro no Google Security Operations. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.