Coletar registros da Cohesity
Visão geral
Esse analisador extrai campos de mensagens syslog do software de backup da Cohesity usando padrões grok. Ele processa mensagens syslog padrão e registros formatados em JSON, mapeando campos extraídos para o UDM e atribuindo dinamicamente um event_type com base na presença de identificadores principais e de destino.
Antes de começar
- Verifique se você tem uma instância do Google SecOps.
- Verifique se você tem acesso privilegiado ao gerenciamento do Cohesity.
Configurar um feed no Google SecOps para ingerir os registros do Cohesity
- Acesse Configurações do SIEM > Feeds.
- Clique em Adicionar novo.
- No campo Nome do feed, insira um nome para o feed (por exemplo, Registros do Cohesity).
- Selecione Webhook como o Tipo de origem.
- Selecione Cohesity 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 de recursos: o namespace de recursos.
- Rótulos de ingestão: o rótulo aplicado aos eventos desse 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 gerar uma chave secreta para autenticar esse feed.
- Copie e armazene a chave secreta. Não é possível acessar essa chave secreta novamente. Se necessário, você pode gerar uma nova chave secreta, mas essa ação torna a chave secreta 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.
Criar uma chave de API para o feed de webhook
Acesse Console do Google Cloud > Credenciais.
Clique em Criar credenciais e, em seguida, selecione Chave de API.
Restrinja o acesso da chave de API à API Chronicle.
Especificar o URL do endpoint
- No aplicativo cliente, especifique o URL do endpoint HTTPS fornecido no feed de 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 especificar no URL.
Se o cliente do webhook não tiver suporte a 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 autenticação no Google SecOps.SECRET
: a chave secreta que você gerou para autenticar o feed.
Como configurar um webhook no Cohesity para o Google SecOps
- Faça login no gerenciamento de cluster do Cohesity.
- Acesse a seção Protection Jobs.
- Selecione o job de proteção para o qual você quer configurar o webhook.
- Clique no menu Ações (três pontos verticais) ao lado do job de proteção > Editar.
- Selecione a guia Alertas.
- Clique em + Adicionar webhook.
- Especifique valores para os seguintes parâmetros:
- Nome: informe um nome descritivo para o webhook (por exemplo, Google SecOps).
- URL: insira o
<ENDPOINT_URL>
do Google SecOps. - Método: selecione POST.
- Content Type: selecione application/json.
- Payload: esse campo depende dos dados específicos que você quer enviar.
- Ativar o webhook: marque a caixa para ativar o webhook.
- Salvar a configuração:clique em Salvar para aplicar a configuração do webhook ao job de proteção.
Tabela de mapeamento do UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
ClientIP |
principal.asset.ip |
Mapeado diretamente do campo ClientIP . |
ClientIP |
principal.ip |
Mapeado diretamente do campo ClientIP . |
description |
security_result.description |
Mapeado diretamente do campo description . |
DomainName |
target.asset.hostname |
Mapeado diretamente do campo DomainName . |
DomainName |
target.hostname |
Mapeado diretamente do campo DomainName . |
EntityPath |
target.url |
Mapeado diretamente do campo EntityPath . |
host |
principal.asset.hostname |
Mapeado diretamente do campo host . |
host |
principal.hostname |
Mapeado diretamente do campo host . Copiado do campo ts depois de ser analisado para um carimbo de data/hora. Determinado pela lógica do analisador com base na presença de principal_mid_present , target_mid_present e principal_user_present . Valores possíveis: NETWORK_CONNECTION , USER_UNCATEGORIZED , STATUS_UPDATE , GENERIC_EVENT . Fixado em "Cohesity". |
product_event_type |
metadata.product_event_type |
Mapeado diretamente do campo product_event_type . Fixado em "COHESITY". |
pid |
principal.process.pid |
Mapeado diretamente do campo pid . |
Protocol |
network.application_protocol |
Mapeado diretamente do campo Protocol , convertido em letras maiúsculas. |
RecordID |
additional.fields (chave: "RecordID", valor: RecordID ) |
Mapeado diretamente do campo RecordID , aninhado em additional.fields . |
RequestType |
security_result.detection_fields (chave: "RequestType", valor: RequestType ) |
Mapeado diretamente do campo RequestType , aninhado em security_result.detection_fields . |
Result |
security_result.summary |
Mapeado diretamente do campo Result . |
sha_value |
additional.fields (chave: "SHA256", valor: sha_value ) |
Mapeado diretamente do campo sha_value , aninhado em additional.fields . |
target_ip |
target.asset.ip |
Mapeado diretamente do campo target_ip . |
target_ip |
target.ip |
Mapeado diretamente do campo target_ip . |
target_port |
target.port |
Mapeado diretamente do campo target_port , convertido em número inteiro. |
Timestamp |
metadata.collected_timestamp |
Mapeado diretamente do campo Timestamp depois de ser analisado para um carimbo de data/hora. |
ts |
events.timestamp |
Mapeado diretamente do campo ts depois de ser analisado para um carimbo de data/hora. |
UserID |
principal.user.userid |
Mapeado diretamente do campo UserID , convertido em string. |
UserName |
principal.user.user_display_name |
Mapeado diretamente do campo UserName . |
UserSID |
principal.user.windows_sid |
Mapeado diretamente do campo UserSID . |
Alterações
2024-09-24
- A função "gsub" foi removida para formatar registros JSON.
2024-09-10
- "gsub" foi adicionado para remover caracteres indesejados do registro.
- "prin_ip" foi mapeado para "principal.ip".
2024-07-28
- Mapeamos "EntityId" e "RegisteredSource.EntityId" para "principal.user.userid".
- Mapeamos "Description" e "EventMessage" para "metadata.description".
- "IP" foi mapeado para "principal.ip" e "principal.asset.ip".
- "Usuário" foi associado a "principal.user.user_display_name".
- "Action, "Domain, "ServiceContext, "AttributeMap.AttemptNum, "cluster_id, "cluster_name, "ClusterInfo.ClusterId, "ClusterInfo.ClusterName, "TaskId, "EntityName, "EntityType, "BackupJobId, "BackupJobName, "EnvironmentType, "RegisteredSource.EntityName, "RegisteredSource.EntityType, "AttributeMap.BridgeConstituent, "ReplicationTarget.ClusterName e "ReplicationTarget.ClusterId para "additional.fields".
2024-05-16
- Parser recém-criado.