Recolha registos do AWS Elastic Load Balancer

Compatível com:

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

Antes de começar

Certifique-se de que cumpre os seguintes pré-requisitos:

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

Configure o AWS Elastic Load Balancer

  • Ative o registo de acesso para enviar registos de acesso para um contentor de armazenamento do S3
  • Crie um Amazon Simple Queue Service (SQS) e anexe-o a um contentor de armazenamento do S3.

Configure o contentor do Amazon S3

  1. Inicie sessão na consola da AWS.
  2. Crie um contentor do Amazon S3 seguindo este manual do utilizador: Criar um contentor
  3. Guarde o Nome do contentor (por exemplo, elb-logs) e a Região para utilização posterior.
  4. Crie um utilizador seguindo este guia do utilizador: Criar um utilizador do IAM.
  5. Selecione o utilizador criado.
  6. Selecione o separador Credenciais de segurança.
  7. Clique em Criar chave de acesso na secção Chaves de acesso.
  8. Selecione Serviço de terceiros como o Exemplo de utilização.
  9. Clicar em Seguinte.
  10. Opcional: adicione uma etiqueta de descrição.
  11. Clique em Criar chave de acesso.
  12. Clique em Transferir ficheiro CSV para guardar a chave de acesso e a chave de acesso secreta para utilização posterior.
  13. Clique em Concluído.
  14. Selecione o separador Autorizações.
  15. Clique em Adicionar autorizações na secção Políticas de autorizações.
  16. Selecione Adicionar autorizações.
  17. Selecione Anexar políticas diretamente.
  18. Pesquise e selecione a política AmazonS3FullAccess.
  19. Clicar em Seguinte.
  20. Clique em Adicionar autorizações.

Como configurar o AWS Elastic Load Balancer para ativar os registos de acesso

  1. Inicie sessão na AWS Management Console.
  2. Pesquise e selecione EC2.
  3. Selecione Equilibradores de carga no menu de navegação.
  4. Selecione o equilibrador de carga para o qual quer ativar o registo.
  5. No separador Descrição, desloque a página até Atributos.
  6. Clique em Editar atributos.
  7. Ative os registos de acesso selecionando Ativar.
  8. Selecione o S3 bucket criado anteriormente (por exemplo, elb-logs).
  9. Opcional: defina o prefixo do registo para facilitar a identificação do registo (por exemplo, elb/access-logs/).
  10. Clique em Guardar.

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 Elastic Load Balancer

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

    1. Especifique os valores nos seguintes campos.
    2. Tipo de origem: Amazon SQS V2
    3. Nome da fila: o nome da fila SQS a partir da qual ler
    4. 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.
    5. Opções de eliminação de origens: selecione a opção de eliminação de acordo com as suas preferências de carregamento.

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

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

    8. 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.

Tabela de mapeamento da UDM

Campo de registo Mapeamento de 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 respetivo valor para security_result.description. Caso contrário, crie uma etiqueta com a chave "ARN" e o valor chosen_cert_arn e adicione-a à matriz principal.user.attribute.labels.
chosen_cert_arn security_result.description Se chosen_cert_arn contiver "session", mapeie o respetivo valor para este 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 for "-".
classification_reason security_result.summary Mapeado diretamente se não estiver vazio ou for "-".
Customer (CEF) principal.user.user_display_name Mapeado diretamente a partir do campo CEF.
data Vários Analisado através de padrões grok para extrair vários campos. Consulte outras linhas para mapeamentos específicos.
data.act (CEF) security_result.action_details Mapeado diretamente a partir do campo CEF.
data.app (CEF) principal.application Mapeado diretamente a partir do campo CEF.
data.ccode (CEF) principal.location.country Mapeado diretamente a partir do campo CEF.
data.cicode (CEF) principal.location.city Mapeado diretamente a partir do campo CEF.
data.cn1 (CEF) network.http.response_code Mapeado diretamente a partir do campo CEF.
data.cpt (CEF) principal.port Mapeado diretamente a partir 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 "Javascript Support" 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 a partir do campo CEF.
data.dproc (CEF) target.process.command_line Mapeado diretamente a partir 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 a partir do campo CEF.
data.request (CEF) target.url Mapeado diretamente a partir do campo CEF.
data.requestClientApplication (CEF) network.http.user_agent Mapeado diretamente a partir do campo CEF.
data.requestMethod (CEF) network.http.method Mapeado diretamente a partir do campo CEF.
data.severity (CEF) security_result.severity Mapeado para LOW se a gravidade for 0.
data.sip (CEF) principal.asset.ip Mapeado diretamente a partir do campo CEF.
data.sip (CEF) principal.ip Mapeado diretamente a partir 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 a partir do campo CEF.
data.spt (CEF) principal.port Mapeado diretamente a partir do campo CEF.
data.src (CEF) principal.ip Mapeado diretamente a partir do campo CEF.
data.suid (CEF) principal.user.userid Mapeado diretamente a partir do campo CEF.
data.ver (CEF) network.tls.version A parte da versão é extraída através do grok e mapeada.
data.ver (CEF) network.tls.cipher A parte da cifra é extraída através do grok e mapeada.
data.xff (CEF) principal.ip Mapeado diretamente a partir 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 através de 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 por "http", o protocolo é extraído e mapeado.
redirect_url target.asset.hostname Se redirect_url começar por "http", o nome do anfitrião é extraído e mapeado.
redirect_url target.hostname Se redirect_url começar por "http", o nome do anfitrião é extraído e mapeado.
redirect_url target.port Se redirect_url começar por "http", a porta é 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 deste campo.
response_processing_time security_result.detection_fields Cria um par de chave-valor com a chave "response_processing_time" e o valor deste 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 uma etiqueta com a chave "target_status_code" e o valor deste campo, e adiciona-a à 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.
(Analisador) metadata.event_type Definido como "NETWORK_HTTP" se os IDs da máquina principal e de destino estiverem presentes, "STATUS_UPDATE" se apenas o ID da máquina principal estiver presente, "GENERIC_EVENT" se não estiver presente nenhum IP de destino, nome de anfitrião ou IP de destino e "NETWORK_HTTP" caso contrário.
(Analisador) metadata.product_name Definido como "AWS Elastic Load Balancer".
(Analisador) metadata.vendor_name Definido como "AMAZON".

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