Coletar registros da Cohesity

Compatível com:

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

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo.
  3. No campo Nome do feed, insira um nome para o feed (por exemplo, Registros do Cohesity).
  4. Selecione Webhook como o Tipo de origem.
  5. Selecione Cohesity como o Tipo de registro.
  6. Clique em Próxima.
  7. 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.
  8. Clique em Próxima.
  9. Revise a configuração do feed na tela Finalizar e clique em Enviar.
  10. Clique em Gerar chave secreta para gerar uma chave secreta para autenticar esse feed.
  11. 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.
  12. 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.
  13. Clique em Concluído.

Criar uma chave de API para o feed de webhook

  1. Acesse Console do Google Cloud > Credenciais.

    Ir para Credenciais

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

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

Especificar o URL do endpoint

  1. No aplicativo cliente, especifique o URL do endpoint HTTPS fornecido no feed de webhook.
  2. 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.

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

  1. Faça login no gerenciamento de cluster do Cohesity.
  2. Acesse a seção Protection Jobs.
  3. Selecione o job de proteção para o qual você quer configurar o webhook.
  4. Clique no menu Ações (três pontos verticais) ao lado do job de proteção > Editar.
  5. Selecione a guia Alertas.
  6. Clique em + Adicionar webhook.
  7. 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.
  8. 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.