Coletar registros do Amazon CloudFront
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 para o 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.
- 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 chaves 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 fontes de geração de registros, consulte Endpoints e cotas do AWS Identity and Access Management.
- Para informações sobre fontes de geração de registros do S3, consulte Endpoints e cotas do Amazon Simple Storage Service.
- Para informações sobre fontes de geração de registros 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 do SIEM > Feeds
- Central de conteúdo > Pacotes de conteúdo
Configure feeds em Configurações do SIEM > Feeds
Para configurar vários feeds para diferentes tipos de registros nessa família de produtos, consulte Configurar feeds por produto.
Para configurar um único feed, siga estas etapas:
- Acesse Configurações do SIEM > Feeds.
- Clique em Adicionar novo feed.
- Na próxima página, clique em Configurar um único feed.
- 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 SecOps oferece suporte à coleta de registros usando o ID da chave de acesso e o método secreto. Para criar um ID de chave de acesso e um secret, consulte Configurar a autenticação de ferramentas 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
- 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 à 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 ao bucket do Amazon S3, consulte Configurar e usar registros padrão (registros de acesso).
Configurar feeds na Central de conteúdo
É possível configurar o feed de ingestão no Google SecOps usando o Amazon SQS (preferencial) ou o Amazon S3.
Especifique valores para os seguintes campos:
- Região: região em que o bucket do S3 ou a fila do SQS está hospedada.
- Nome da fila: nome da fila do SQS de onde os dados de registro são lidos.
- Número da conta: número da conta proprietária da fila do SQS.
- ID da chave de acesso à fila: ID da chave de acesso à conta de 20 caracteres. Por exemplo,
AKIAOSFOODNN7EXAMPLE
. - Chave de acesso secreta da fila: chave de acesso secreta de 40 caracteres. Por exemplo,
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
. - Opção de exclusão da origem: opção para excluir arquivos e diretórios após a transferência dos dados.
Opções avançadas
- Nome do feed: um valor pré-preenchido que identifica o feed.
- Tipo de origem: método usado para coletar registros no Google SecOps.
- Namespace do recurso: namespace associado ao feed.
- Rótulos de ingestão: rótulos aplicados a todos os eventos deste feed.
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 do Google Security Operations.
Referência de mapeamento de campos
Esse analisador extrai campos dos registros do AWS CloudFront nos formatos SYSLOG ou JSON, normalizando-os para a 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 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 em seus componentes se não contiver "://". |
cs-bytes |
network.sent_bytes |
Mapeado diretamente. Convertido para 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 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 : mapeamento direto. |
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 : mapeamento direto. |
Mapeado condicionalmente, se presente. |
sc-bytes |
network.received_bytes |
Mapeado diretamente. Convertido para 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 |
Analisados e mapeados, se disponíveis. Diferentes formatos são aceitos. |
ts |
metadata.event_timestamp |
Analisados e mapeados, se disponíveis. 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 houver vários IPs (separados por vírgulas), eles serão divididos e mesclados nos respectivos campos da 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". Codificado como "AWS_CLOUDFRONT". Codificado como "AWS CloudFront". Codificado como "AMAZON". O tempo 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.