Recolha registos do Amazon CloudFront

Compatível com:

Este documento descreve como pode recolher registos do Amazon CloudFront configurando um feed do Google Security Operations.

Para mais informações, consulte o artigo Vista geral da ingestão de dados no Google Security Operations.

Uma etiqueta de carregamento identifica o analisador que normaliza os dados de registo não processados para o formato UDM estruturado. As informações neste documento aplicam-se ao analisador com a etiqueta de carregamento AWS_CLOUDFRONT.

Antes de começar

Certifique-se de que o contentor do Amazon S3 é criado. Para mais informações, consulte o artigo Crie o seu primeiro contentor do S3.

Configure o Amazon CloudFront

  1. Inicie sessão na consola de gestão da AWS.
  2. Aceda à consola do Amazon S3 e crie o contentor do Amazon S3.
  3. Clique em Ativado para ativar o registo.
  4. No campo Bucket para registos, especifique o nome do bucket do Amazon S3.
  5. No campo Prefixo do registo, especifique um prefixo opcional.
  6. Depois de os ficheiros de registo serem armazenados no contentor do Amazon S3, crie uma fila do SQS e anexe-a ao contentor do Amazon S3.

Identifique os pontos finais para a conetividade

Verifique as políticas de utilizadores de gestão de identidade e de acesso e de chaves do KMS necessárias para o S3, o SQS e o KMS.

Com base no serviço e na região, identifique os pontos finais para a conetividade consultando a seguinte documentação da AWS:

Configure feeds

Existem dois pontos de entrada diferentes para configurar feeds na plataforma Google SecOps:

  • Definições do SIEM > Feeds > Adicionar novo
  • Content Hub > Pacotes de conteúdo > Começar

Como configurar o feed do AWS CloudFront

  1. Clique no pacote Amazon Cloud Platform.
  2. Localize o tipo de registo AWS CloudFront.
  3. Especifique os valores nos seguintes campos.

    • Tipo de origem: Amazon SQS V2
    • Nome da fila: o nome da fila SQS a partir da qual ler
    • URI do S3: o URI do contentor.
      • s3://your-log-bucket-name/
        • Substitua your-log-bucket-name pelo nome real do seu contentor do S3.
    • Opções de eliminação de origens: selecione a opção de eliminação de acordo com as suas preferências de carregamento.

    • Idade máxima do ficheiro: inclua ficheiros modificados no último número de dias. A predefinição é 180 dias.

    • ID da chave de acesso à fila SQS: uma chave de acesso à conta que é uma string alfanumérica de 20 carateres.

    • Chave de acesso secreta da fila SQS: uma chave de acesso à conta que é uma string alfanumérica de 40 carateres.

    Opções avançadas

    • Nome do feed: um valor pré-preenchido que identifica o feed.
    • Espaço de nomes do recurso: espaço de nomes associado ao feed.
    • Etiquetas de carregamento: etiquetas aplicadas a todos os eventos deste feed.
  4. Clique em Criar feed.

Para mais informações sobre a configuração de vários feeds para diferentes tipos de registos nesta família de produtos, consulte o artigo Configure feeds por produto.

Referência de mapeamento de campos

Este analisador extrai campos dos registos do AWS CloudFront no formato SYSLOG ou JSON, normalizando-os no UDM. Usa padrões grok para analisar strings de mensagens, processa várias transformações de dados (por exemplo, conversões de tipos, mudança de nome) e enriquece os dados com contexto adicional, como a análise do agente do utilizador e a identificação do protocolo de aplicação.

Tabela de mapeamento do UDM

Campo de registo Mapeamento de 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 respetivos 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 maiúsculas. Se o valor não for reconhecido como um protocolo de aplicação padrão e cs-protocol-version contiver "HTTP", network.application_protocol é 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 estiver presente.
fle-status additional.fields[].key: "fle-status"
additional.fields[].value.string_value: mapeado diretamente.
Mapeado condicionalmente, se estiver 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 estiver presente.
result_type additional.fields[].key: "result_type"
additional.fields[].value.string_value: Mapeado diretamente.
Mapeado condicionalmente, se estiver 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 estiver presente.
sc-content-type additional.fields[].key: "sc-content-type"
additional.fields[].value.string_value: mapeado diretamente.
Mapeado condicionalmente, se estiver 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 Analisa e mapeia, se disponível. São suportados diferentes formatos.
ts metadata.event_timestamp Analisa e mapeia, se disponível. É esperado o formato ISO8601.
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 estiver presente.
x-edge-location additional.fields[].key: "x-edge-location"
additional.fields[].value.string_value: mapeado diretamente.
Mapeado condicionalmente, se estiver presente.
x-edge-request-id additional.fields[].key: "x-edge-request-id"
additional.fields[].value.string_value: mapeado diretamente.
Mapeado condicionalmente, se estiver presente.
x-edge-response-result-type additional.fields[].key: "x-edge-response-result-type"
additional.fields[].value.string_value: mapeado diretamente.
Mapeado condicionalmente, se estiver presente.
x-edge-result-type additional.fields[].key: "x-edge-result-type"
additional.fields[].value.string_value: mapeado diretamente.
Mapeado condicionalmente, se estiver presente.
x-forwarded-for target.ip, target.asset.ip Mapeado diretamente. Se estiverem presentes vários IPs (separados por vírgulas), estes são divididos e unidos nos respetivos campos de dados do utilizador.
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". Codificado de forma rígida para "AWS_CLOUDFRONT". Codificado de forma rígida para "AWS CloudFront". Codificado de forma rígida como "AMAZON". A hora de carregamento da entrada de registo no Google Security Operations.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.