Coletar registros do Amazon CloudFront
Versão do analisador: 10.0
Neste documento, descrevemos como coletar registros do Amazon CloudFront configurando um feed do Google Security Operations.
Para mais informações, consulte Visão geral da ingestão de dados no Google Security Operations.
Um rótulo de ingestão identifica o analisador que normaliza dados de registro brutos
no formato UDM estruturado. As informações neste documento se aplicam ao analisador
com o rótulo de ingestão 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 de gerenciamento da AWS.
- Acesse o console do Amazon S3 e crie o bucket do Amazon S3.
- Clique em Ativado para ativar a geração de registros.
- No campo Bucket para registros, especifique o nome do bucket do Amazon S3.
- No campo Prefixo do registro, especifique um prefixo opcional.
- Depois que os arquivos de registros forem armazenados no bucket do Amazon S3, crie uma fila do SQS e anexe-a ao bucket do Amazon S3.
Identificar os endpoints para conectividade
Verifique as políticas de usuário do Identity and Access Management e de chave do KMS necessárias para S3, SQS e 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 fontes de geração de registros, consulte Endpoints e cotas do AWS Identity and Access Management.
- Para informações sobre as fontes de registro do S3, consulte Endpoints e cotas do Amazon Simple Storage Service.
- Para informações sobre as fontes de registro do SQS, consulte Endpoints e cotas do Amazon Simple Queue Service.
Configurar feeds
Há dois pontos de entrada diferentes para configurar feeds na plataforma do Google SecOps:
- Configurações > Gerenciamento de dados > Feeds > Adicionar novo feed (na plataforma somente SIEM, Configurações > Feeds > Adicionar novo feed)
- Hub de conteúdo > Pacotes de conteúdo > Comece já
Como configurar o feed do AWS CloudFront
- Clique no pacote Amazon Cloud Platform.
- Localize o tipo de registro AWS CloudFront.
Especifique os valores nos campos a seguir.
- Tipo de origem: Amazon SQS V2
- Nome da fila: o nome da fila do SQS de onde os dados serão lidos.
- URI do S3: o URI do bucket.
s3://your-log-bucket-name/- Substitua
your-log-bucket-namepelo nome real do bucket do S3.
- Substitua
Opções de exclusão da origem: selecione a opção de exclusão de acordo com suas preferências de ingestão.
Idade máxima do arquivo: inclua arquivos modificados nos últimos dias. O padrão é 180 dias.
ID da chave de acesso da fila do SQS: uma chave de acesso da conta que é uma string alfanumérica de 20 caracteres.
Chave de acesso secreta da fila do SQS: uma chave de acesso de conta que é uma string alfanumérica de 40 caracteres.
Opções avançadas
- Nome do feed: um valor predefinido que identifica o feed.
- Namespace do recurso: namespace associado ao feed.
- Rótulos de ingestão: rótulos aplicados a todos os eventos desse feed.
Clique em Criar feed.
Para mais informações sobre como configurar vários feeds para diferentes tipos de registro nessa família de produtos, consulte Configurar feeds por produto.
Referência de mapeamento de campos
Esse analisador extrai campos de registros do AWS CloudFront no formato SYSLOG ou JSON, normalizando-os no UDM. Ele usa padrões grok para analisar strings de mensagens, 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 user agent e identificação de protocolo de aplicativo.
Tabela de mapeamento de UDM
| Campo de registro | 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 criaçã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 tiver "://". |
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 houver. |
fle-status |
additional.fields[].key: "fle-status"additional.fields[].value.string_value: mapeado diretamente. |
Mapeado condicionalmente, se houver. |
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 houver. |
result_type |
additional.fields[].key: "result_type"additional.fields[].value.string_value: mapeado diretamente. |
Mapeado condicionalmente, se houver. |
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 houver. |
sc-content-type |
additional.fields[].key: "sc-content-type"additional.fields[].value.string_value: mapeado diretamente. |
Mapeado condicionalmente, se houver. |
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. Há suporte para diferentes formatos. |
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 houver. |
x-edge-location |
additional.fields[].key: "x-edge-location"additional.fields[].value.string_value: mapeado diretamente. |
Mapeado condicionalmente, se houver. |
x-edge-request-id |
additional.fields[].key: "x-edge-request-id"additional.fields[].value.string_value: mapeado diretamente. |
Mapeado condicionalmente, se houver. |
x-edge-response-result-type |
additional.fields[].key: "x-edge-response-result-type"additional.fields[].value.string_value: mapeado diretamente. |
Mapeado condicionalmente, se houver. |
x-edge-result-type |
additional.fields[].key: "x-edge-result-type"additional.fields[].value.string_value: mapeado diretamente. |
Mapeado condicionalmente, se houver. |
x-forwarded-for |
target.ip, target.asset.ip |
Mapeado diretamente. Se houver vários IPs (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 no código como "AWS_CLOUDFRONT". Codificado como "AWS CloudFront". Fixado no código como "AMAZON". O horário de ingestão da entrada de registro no Google Security Operations. |
cs_cookie |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
time-taken |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
time-to-first-byte |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
cribl_pipe |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
cs-referer |
event.idm.read_only_udm.network.http.referer |
Mapeado do registro de alterações |
cs-uri-query |
event.idm.read_only_udm.network.http.url_details.query |
Mapeado do registro de alterações |
cs-user-agent |
event.idm.read_only_udm.network.http.user_agent |
Mapeado do registro de alterações |
cs-uri-stem |
event.idm.read_only_udm.target.url |
Mapeado do registro de alterações |
x-forwarded-for |
security_result.detection_fields |
Mapeado do registro de alterações |
avgrequestTime |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
htmlType |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
responseTime |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
securityKey |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
bytes |
event.idm.read_only_udm.network.sent_bytes |
Mapeado do registro de alterações |
srcport |
event.idm.read_only_udm.src.port |
Mapeado do registro de alterações |
encryptionType |
event.idm.read_only_udm.security_result.about.resource.name |
Mapeado do registro de alterações |
hostname |
event.idm.read_only_udm.principal.hostname |
Mapeado do registro de alterações |
scrip |
event.idm.read_only_udm.src.ip |
Mapeado do registro de alterações |
targetip |
event.idm.read_only_udm.target.ip |
Mapeado do registro de alterações |
targetip |
event.idm.read_only_udm.target.asset.ip |
Mapeado do registro de alterações |
tlsvVersion |
event.idm.read_only_udm.network.tls.version |
Mapeado do registro de alterações |
CloudFront-Is-Desktop-Viewer |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
CloudFront-Is-Mobile-Viewer |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
CloudFront-Is-SmartTV-Viewer |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
CloudFront-Is-Tablet-Viewer |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
vDetails |
event.idm.read_only_udm.network.http.user_agent |
Mapeado do registro de alterações |
x-envoy-expected-rq-timeout-ms |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
x-envoy-external-address |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
x-envoy-original-authority |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
x-f5-cdn-tls-ja3 |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
x-f5-cdn-tls-ja4 |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
x-forwarded-proto |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
xc-trusted-source |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
ipType |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
method |
event.idm.read_only_udm.network.http.method |
Mapeado do registro de alterações |
x-request-id |
event.idm.read_only_udm.metadata.product_log_id |
Mapeado do registro de alterações |
version |
event.idm.read_only_udm.metadata.product_log_id |
Mapeado do registro de alterações |
requestCode |
event.idm.read_only_udm.network.http.response_code |
Mapeado do registro de alterações |
ipAddress |
event.idm.read_only_udm.principal.ip |
Mapeado do registro de alterações |
uri_query |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
Bucket |
target.resource.name |
Mapeado do registro de alterações |
accountID |
principal.user.userid |
Mapeado do registro de alterações |
file |
target.file.full_path |
Mapeado do registro de alterações |
region |
principal.location.country_or_region |
Mapeado do registro de alterações |
msg |
metadata.description |
Mapeado do registro de alterações |
service", "aggregation", "func", "requestID", "lpcltype", "lpclagg", "level" and "LoggingEnabled |
additional.fields |
Mapeado do registro de alterações |
Registro de alterações
Confira o registro de alterações deste analisador
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.