Recolha registos de segurança da Aqua

Compatível com:

Vista geral

Este analisador extrai campos dos registos de segurança da Aqua, transformando-os no modelo de dados unificado (UDM). Analisa o campo message como JSON, extrai o utilizador, o IP de origem e outros campos relevantes, mapeia-os para campos UDM e categoriza os eventos com base no campo action, enriquecendo os dados com contexto de segurança, como nomes de regras, descrições e detalhes de CVE.

Antes de começar

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

  • Instância do Google SecOps.
  • Acesso privilegiado à consola de gestão da Aqua Security.

Configure feeds

Para configurar um feed, siga estes passos:

  1. Aceda a Definições do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Na página seguinte, clique em Configurar um único feed.
  4. No campo Nome do feed, introduza um nome para o feed (por exemplo, Registos de segurança da Aqua).
  5. Selecione Webhook como o Tipo de origem.
  6. Selecione Aqua Security como o Tipo de registo.
  7. Clicar em Seguinte.
  8. Opcional: especifique valores para os seguintes parâmetros de entrada:
    • Delimitador de divisão: o delimitador usado para separar linhas de registo, como \n.
    • Espaço de nomes do recurso: o espaço de nomes do recurso.
    • Etiquetas de carregamento: a etiqueta aplicada aos eventos deste feed.
  9. Clicar em Seguinte.
  10. Reveja a configuração do feed no ecrã Finalizar e, de seguida, clique em Enviar.
  11. Clique em Gerar chave secreta para gerar uma chave secreta para autenticar este feed.
  12. Copie e armazene a chave secreta. Não pode ver esta chave secreta novamente. Se necessário, pode regenerar uma nova chave secreta, mas esta ação torna a chave secreta anterior obsoleta.
  13. No separador Detalhes, copie o URL do ponto final do feed do campo Informações do ponto final. Tem de especificar este URL do ponto final na sua aplicação cliente.
  14. Clique em Concluído.

Crie uma chave da API para o feed de webhook

  1. Aceda à Google Cloud consola > Credenciais.

    Aceder a Credenciais

  2. Clique em Criar credenciais e, de seguida, selecione Chave de API.

  3. Restrinja o acesso da chave da API à API Chronicle.

Especifique o URL do ponto final

  1. Na aplicação cliente, especifique o URL do ponto final HTTPS fornecido no feed do webhook.
  2. Ative a autenticação especificando a chave da API e a chave secreta como parte do cabeçalho personalizado no seguinte formato:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    Recomendação: especifique a chave da API como um cabeçalho em vez de a especificar no URL.

  3. Se o seu cliente de webhook não suportar cabeçalhos personalizados, pode especificar a chave da API e a chave secreta através de parâmetros de consulta no seguinte formato:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    Substitua o seguinte:

    • ENDPOINT_URL: o URL do ponto final do feed.
    • API_KEY: a chave da API para autenticar no Google SecOps.
    • SECRET: a chave secreta que gerou para autenticar o feed.

Criar um webhook na Aqua Security para o Google SecOps

  1. Inicie sessão na consola do Aqua Security.
  2. Aceda a Definições > Webhook de resultados da análise de imagens.
  3. Selecione a caixa de verificação Ativar o envio dos resultados da análise de imagens.
  4. Introduza <ENDPOINT_URL>, seguido de <API_KEY> e <SECRET>.
  5. Clique em Guardar.

Tabela de mapeamento da UDM

Campo de registo (ascendente) Mapeamento de UDM Lógica
jsonPayload.action metadata.event_type Mapeado com base no valor de "jsonPayload.action". Consulte o código do analisador para mapeamentos específicos.
jsonPayload.action security_result.summary Mapeado diretamente.
jsonPayload.adjective target.file.full_path Mapeado diretamente se "jsonPayload.container" estiver vazio.
jsonPayload.category target.asset.category Mapeado diretamente.
jsonPayload.cfappname target.application Mapeado diretamente.
jsonPayload.cfspace principal.user.userid Mapeado diretamente se "jsonPayload.user" estiver vazio.
jsonPayload.command principal.ip Extraído através do padrão grok "user %{GREEDYDATA:user_id} \(%{IP:src_ip}\)".
jsonPayload.command principal.user.userid Extraído através do padrão grok "user %{GREEDYDATA:user_id} \(%{IP:src_ip}\)".
jsonPayload.container target.asset.product_object_id Mapeado diretamente.
jsonPayload.data security_result.detection_fields Analisados como pares de chave-valor e mapeados para campos individuais em "security_result.detection_fields".
jsonPayload.description security_result.description Mapeado diretamente se "jsonPayload.reason" estiver vazio.
jsonPayload.host principal.hostname Mapeado diretamente.
jsonPayload.hostgroup target.group.group_display_name Mapeado diretamente.
jsonPayload.hostid target.asset_id Mapeado como "host id: %{jsonPayload.hostid}".
jsonPayload.hostip target.ip Mapeado diretamente.
jsonPayload.image target.file.full_path Mapeado diretamente.
jsonPayload.level security_result.action Definido como "ALLOW" se "jsonPayload.level" for "success".
jsonPayload.reason security_result.description Mapeado diretamente.
jsonPayload.rule security_result.rule_name Mapeado diretamente.
jsonPayload.user principal.user.userid Mapeado diretamente.
jsonPayload.vm_location target.asset.location.name Mapeado diretamente.
jsonPayload.vm_name target.resource.name Mapeado diretamente.
resource.labels.instance_id target.resource.id Mapeado diretamente.
resource.labels.project_id target.asset.attribute.cloud.project.id Mapeado diretamente.
resource.labels.zone target.asset.attribute.cloud.availability_zone Mapeado diretamente.
timestamp metadata.event_timestamp Mapeado diretamente após a conversão para o formato ISO8601.
extensions.auth.type Definido como "SSO" se "jsonPayload.description" contiver "SAML". Caso contrário, definido como "AUTHTYPE_UNSPECIFIED" se "jsonPayload.action" for "login" ou "Login".
metadata.log_type Definido como "AQUA_SECURITY".
metadata.product_name Definido como "AQUA_SECURITY".
metadata.vendor_name Definido como "AQUA_SECURITY".
target.asset.attribute.cloud.environment Definido como "GOOGLE_CLOUD_PLATFORM".
target.resource.type Definido como "VIRTUAL_MACHINE".

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