Coletar registros do Aqua Security
Visão geral
Esse analisador extrai campos dos registros da Aqua Security, transformando-os no modelo de dados unificado (UDM). Ele analisa o campo message
como JSON, extrai o usuário, o IP de origem e outros campos relevantes, mapeia-os para campos da UDM e categoriza 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
Verifique se você atende aos seguintes pré-requisitos:
- Instância do Google SecOps.
- Acesso privilegiado ao console de gerenciamento do Aqua Security.
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 um 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.
- No campo Nome do feed, insira um nome para o feed (por exemplo, Registros do Aqua Security).
- Selecione Webhook como o Tipo de origem.
- Selecione Aqua Security como o Tipo de registro.
- Clique em Próxima.
- Opcional: especifique valores para os seguintes parâmetros de entrada:
- Delimitador de divisão: o delimitador usado para separar linhas de registro, como
\n
. - Namespace do recurso: o namespace do recurso.
- Rótulos de ingestão: o rótulo aplicado aos eventos deste feed.
- Delimitador de divisão: o delimitador usado para separar linhas de registro, como
- Clique em Próxima.
- Revise a configuração do feed na tela Finalizar e clique em Enviar.
- Clique em Gerar chave secreta para autenticar o feed.
- Copie e armazene a chave secreta. Não é possível ver essa chave secreta novamente. Se necessário, você pode gerar uma nova chave secreta, mas isso torna a anterior obsoleta.
- Na guia Detalhes, copie o URL do endpoint do feed no campo Informações do endpoint. É necessário especificar esse URL de endpoint no aplicativo cliente.
- Clique em Concluído.
Configurar feeds na Central de conteúdo
Especifique valores para os seguintes campos:
- Delimitador de divisão: o delimitador usado para separar linhas de registro, como
\n
.
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.
Clique em Gerar chave secreta para autenticar o feed.
Copie e armazene a chave secreta. Não é possível ver essa chave secreta novamente. Se necessário, você pode gerar uma nova chave secreta, mas isso torna a anterior obsoleta.
Na guia Detalhes, copie o URL do endpoint do feed no campo Informações do endpoint. É necessário especificar esse URL de endpoint no aplicativo cliente.
Criar uma chave de API para o feed de webhook
Acesse o console doGoogle Cloud > Credenciais.
Clique em Criar credenciais e, em seguida, selecione Chave de API.
Restrinja o acesso da chave de API à API Chronicle.
Especifique o URL do endpoint
- No aplicativo cliente, especifique o URL do endpoint HTTPS fornecido no feed do webhook.
Ative a autenticação especificando a chave de 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 de API como um cabeçalho em vez de no URL.
Se o cliente de webhook não aceitar cabeçalhos personalizados, especifique a chave de API e a chave secreta usando parâmetros de consulta no seguinte formato:
ENDPOINT_URL?key=API_KEY&secret=SECRET
Substitua:
ENDPOINT_URL
: o URL do endpoint do feed.API_KEY
: a chave de API para autenticar no Google SecOps.SECRET
: a chave secreta gerada para autenticar o feed.
Como criar um webhook no Aqua Security para o Google SecOps
- Faça login no console da Aqua Security.
- Acesse Configurações > Webhook de resultados da verificação de imagens.
- Marque a caixa de seleção Ativar o envio de resultados da verificação de imagens.
- Insira o
<ENDPOINT_URL>
, seguido por<API_KEY>
e<SECRET>
. - Clique em Salvar.
Tabela de mapeamento do UDM
Campo de registro (crescente) | Mapeamento do 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 usando o padrão grok "user %{GREEDYDATA:user_id} \(%{IP:src_ip}\)". |
jsonPayload.command | principal.user.userid | Extraído usando o 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 | Defina 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 | Defina como "SSO" se "jsonPayload.description" contiver "SAML". Caso contrário, defina como "AUTHTYPE_UNSPECIFIED" se "jsonPayload.action" for "login" ou "Login". | |
metadata.log_type | Defina como "AQUA_SECURITY". | |
metadata.product_name | Defina como "AQUA_SECURITY". | |
metadata.vendor_name | Defina como "AQUA_SECURITY". | |
target.asset.attribute.cloud.environment | Defina como "GOOGLE_CLOUD_PLATFORM". | |
target.resource.type | Defina como "VIRTUAL_MACHINE". |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.