Coletar registros do Elastic Load Balancing da AWS

Compatível com:

Este documento explica como coletar registros do AWS Elastic Load Balancing configurando um feed do Google Security Operations. O analisador converte os registros no formato UDM. Ele usa padrões grok para extrair campos de mensagens formatadas em CEF e não CEF, mapeando-os para campos da UDM e processando várias transformações de dados, incluindo lógica específica para campos HTTP, TLS e relacionados à segurança. Ele também realiza o processamento condicional com base na presença ou no formato de determinados campos para garantir uma representação precisa da UDM.

Antes de começar {: #before-you-begin }

Verifique se você atende aos seguintes pré-requisitos:

  • Instância do Google SecOps
  • Acesso privilegiado à AWS

Configurar o Elastic Load Balancing da AWS

  • Ativar a geração de registros de acesso para enviar registros de acesso a um bucket de armazenamento do S3
  • Crie um Amazon Simple Queue Service (SQS) e anexe-o a um bucket de armazenamento do S3.

Configurar o bucket do Amazon S3

  1. Faça login no console da AWS.
  2. Crie um bucket do Amazon S3 seguindo este guia do usuário: Como criar um bucket
  3. Salve o Nome do bucket (por exemplo, elb-logs) e a Região para uso posterior.
  4. Crie um usuário seguindo este guia: Como criar um usuário do IAM.
  5. Selecione o usuário criado.
  6. Selecione a guia Credenciais de segurança.
  7. Clique em Criar chave de acesso na seção Chaves de acesso.
  8. Selecione Serviço de terceiros como o Caso de uso.
  9. Clique em Próxima.
  10. Opcional: adicione uma tag de descrição.
  11. Clique em Criar chave de acesso.
  12. Clique em Fazer o download do arquivo CSV para salvar a chave de acesso e a chave de acesso secreta para uso posterior.
  13. Clique em Concluído.
  14. Selecione a guia Permissões.
  15. Clique em Adicionar permissões na seção Políticas de permissões.
  16. Selecione Adicionar permissões.
  17. Selecione Anexar políticas diretamente.
  18. Pesquise e selecione a política AmazonS3FullAccess.
  19. Clique em Próxima.
  20. Clique em Adicionar permissões

Como configurar o balanceador de carga elástico da AWS para ativar os registros de acesso

  1. Faça login no console de gerenciamento da AWS.
  2. Pesquise e selecione EC2.
  3. Selecione Balanceadores de carga no menu de navegação.
  4. Selecione o balanceador de carga para o qual você quer ativar o registro.
  5. Na guia Descrição, role até Atributos.
  6. Clique em Editar atributos.
  7. Selecione Ativar para ativar os registros de acesso.
  8. Selecione o bucket do S3 criado anteriormente (por exemplo, elb-logs).
  9. Opcional: defina o prefixo do registro para facilitar a identificação (por exemplo, elb/access-logs/).
  10. Clique em Salvar.

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:

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Na próxima página, clique em Configurar um único feed.
  4. No campo Nome do feed, insira um nome para o feed (por exemplo, Registros do AWS Elastic Load Balancer).
  5. Selecione Amazon S3 como o Tipo de origem.
  6. Selecione Balanceador de carga elástico da AWS como o Tipo de registro.
  7. Clique em Próxima.
  8. Especifique valores para os seguintes parâmetros de entrada:

    • Região: a região em que o bucket do Amazon S3 está localizado.
    • URI do S3: o URI do bucket.
      • s3:/BUCKET_NAME
        • Substitua BUCKET_NAME pelo nome real do seu bucket do S3.
    • URI é um: selecione o TIPO DE URI de acordo com a configuração do fluxo de registros (Arquivo único | Diretório | Diretório que inclui subdiretórios).
    • Opções de exclusão de origem: selecione a opção de exclusão de acordo com suas preferências de ingestão.
    • ID da chave de acesso: a chave de acesso do usuário com permissões para ler do bucket do S3.

    • Chave de acesso secreta: a chave secreta do usuário com permissões para ler do bucket do S3.

    • Namespace do recurso: o namespace do recurso.

    • Rótulos de ingestão: o rótulo a ser aplicado aos eventos deste feed.

  9. Clique em Próxima.

  10. Revise a nova configuração do feed na tela Finalizar e clique em Enviar.

Configurar feeds na Central de conteúdo

Especifique valores para os seguintes campos:

  • Região: a região em que o bucket do Amazon S3 está localizado.
  • URI do S3: o URI do bucket.
    • s3:/BUCKET_NAME
      • Substitua BUCKET_NAME pelo nome real do seu bucket do S3.
  • URI é um: selecione o TIPO DE URI de acordo com a configuração do fluxo de registros (Arquivo único | Diretório | Diretório que inclui subdiretórios).
  • Opções de exclusão de origem: selecione a opção de exclusão de acordo com suas preferências de ingestão.
  • ID da chave de acesso: a chave de acesso do usuário com permissões para ler do bucket do S3.

  • Chave de acesso secreta: a chave secreta do usuário com permissões para ler do bucket do S3.

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.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
actions_executed security_result.action Se actions_executed for "waf,forward" ou "waf,redirect", defina como "ALLOW". Se actions_executed for "waf", defina como "BLOCK".
chosen_cert_arn principal.user.attribute.labels Se chosen_cert_arn contiver "session", mapeie o valor para security_result.description. Caso contrário, crie um rótulo com a chave "ARN" e o valor chosen_cert_arn e adicione-o à matriz principal.user.attribute.labels.
chosen_cert_arn security_result.description Se chosen_cert_arn contiver "session", mapeie o valor dele para esse campo.
client_ip principal.asset.ip Mapeado diretamente.
client_ip principal.ip Mapeado diretamente.
client_port principal.port Mapeado diretamente.
classification security_result.rule_name Mapeado diretamente se não estiver vazio ou "-".
classification_reason security_result.summary Mapeado diretamente se não estiver vazio ou "-".
Customer (CEF) principal.user.user_display_name Mapeado diretamente do campo CEF.
data Vários Analisado usando padrões grok para extrair vários campos. Consulte outras linhas para mapeamentos específicos.
data.act (CEF) security_result.action_details Mapeado diretamente do campo CEF.
data.app (CEF) principal.application Mapeado diretamente do campo CEF.
data.ccode (CEF) principal.location.country Mapeado diretamente do campo CEF.
data.cicode (CEF) principal.location.city Mapeado diretamente do campo CEF.
data.cn1 (CEF) network.http.response_code Mapeado diretamente do campo CEF.
data.cpt (CEF) principal.port Mapeado diretamente do campo CEF.
data.cs1Label (CEF) additional.fields Cria um par de chave-valor com a chave "Cap Support" e o valor de cs1Label.
data.cs2Label (CEF) additional.fields Cria um par de chave-valor com a chave "Suporte a JavaScript" e o valor de cs2Label.
data.cs3Label (CEF) additional.fields Cria um par de chave-valor com a chave "CO Support" e o valor de cs3Label.
data.cs4Label (CEF) additional.fields Cria um par de chave-valor com a chave "VID" e o valor de cs4Label.
data.cs5Label (CEF) additional.fields Cria um par de chave-valor com a chave "clappsig" e o valor de cs5Label.
data.cs6Label (CEF) additional.fields Cria um par de chave-valor com a chave "clapp" e o valor de cs6Label.
data.cs7Label (CEF) additional.fields Cria um par de chave-valor com a chave "latitude" e o valor de cs7Label.
data.deviceExternalId (CEF) about.asset.asset_id Usado como parte do ID do recurso: Incapsula.SIEMintegration:deviceExternalId.
data.deviceFacility (CEF) principal.location.region Mapeado diretamente do campo CEF.
data.dproc (CEF) target.process.command_line Mapeado diretamente do campo CEF.
data.dst_ip target.asset.ip Mapeado diretamente.
data.dst_ip target.ip Mapeado diretamente.
data.dst_port target.port Mapeado diretamente.
data.elb target.resource.id Mapeado diretamente.
data.fileId (CEF) security_result.detection_fields Cria um par de chave-valor com a chave "fileId" e o valor de fileId.
data.in (CEF) network.received_bytes Mapeado diretamente do campo CEF.
data.request (CEF) target.url Mapeado diretamente do campo CEF.
data.requestClientApplication (CEF) network.http.user_agent Mapeado diretamente do campo CEF.
data.requestMethod (CEF) network.http.method Mapeado diretamente do campo CEF.
data.severity (CEF) security_result.severity Mapeado como "BAIXA" se a gravidade for 0.
data.sip (CEF) principal.asset.ip Mapeado diretamente do campo CEF.
data.sip (CEF) principal.ip Mapeado diretamente do campo CEF.
data.siteid (CEF) security_result.detection_fields Cria um par de chave-valor com a chave "siteid" e o valor de siteid.
data.sourceServiceName (CEF) principal.application Mapeado diretamente do campo CEF.
data.spt (CEF) principal.port Mapeado diretamente do campo CEF.
data.src (CEF) principal.ip Mapeado diretamente do campo CEF.
data.suid (CEF) principal.user.userid Mapeado diretamente do campo CEF.
data.ver (CEF) network.tls.version A parte da versão é extraída usando grok e mapeada.
data.ver (CEF) network.tls.cipher A parte da cifra é extraída usando grok e mapeada.
data.xff (CEF) principal.ip Mapeado diretamente do campo CEF.
domain_name principal.administrative_domain Mapeado diretamente.
http_method network.http.method Mapeado diretamente.
log_type metadata.log_type Mapeado diretamente.
message Vários Analisado usando padrões grok para extrair vários campos. Consulte outras linhas para mapeamentos específicos.
received_bytes network.received_bytes Mapeado diretamente.
redirect_url network.application_protocol Se redirect_url começar com "http", o protocolo será extraído e mapeado.
redirect_url target.asset.hostname Se redirect_url começar com "http", o nome do host será extraído e mapeado.
redirect_url target.hostname Se redirect_url começar com "http", o nome do host será extraído e mapeado.
redirect_url target.port Se redirect_url começar com "http", a porta será extraída e mapeada.
request_creation_time metadata.collected_timestamp Mapeado diretamente após a análise da data.
request_processing_time security_result.detection_fields Cria um par de chave-valor com a chave "request_processing_time" e o valor desse campo.
response_processing_time security_result.detection_fields Cria um par de chave-valor com a chave "response_processing_time" e o valor desse campo.
sent_bytes network.sent_bytes Mapeado diretamente.
ssl_cipher network.tls.cipher Mapeado diretamente.
ssl_protocol network.tls.version Mapeado diretamente.
target_group_arn target.group.group_display_name Mapeado diretamente.
target_processing_time security_result.detection_fields Cria um par de chave-valor com a chave "target_processing_time" e o valor deste campo.
target_status_code target.labels Cria um rótulo com a chave "target_status_code" e o valor desse campo e o adiciona à matriz target.labels.
time metadata.event_timestamp Mapeado diretamente após a análise da data.
trace_id metadata.product_log_id Mapeado diretamente após a remoção de "Root=".
url network.http.referral_url Mapeado diretamente.
user_agent network.http.user_agent Mapeado diretamente.
(Parser) metadata.event_type Definido como "NETWORK_HTTP" se os IDs principal e da máquina de destino estiverem presentes, "STATUS_UPDATE" se apenas o ID da máquina principal estiver presente, "GENERIC_EVENT" se não houver IP de destino, nome do host ou IP de destino e "NETWORK_HTTP" caso contrário.
(Parser) metadata.product_name Definido como "Balanceador de carga elástico da AWS".
(Parser) metadata.vendor_name Defina como "AMAZON".

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