Coletar registros do Microsoft Sentinel

Compatível com:

Visão geral

Esse analisador extrai campos dos registros JSON do Microsoft Sentinel, realiza transformações, como extração de endereços IP e manipulação de strings, e mapeia os dados extraídos para o UDM, incluindo os campos principal, target, security_result e metadata. Ele também processa vários tipos de dados e mescla as entidades extraídas na estrutura do UDM.

Antes de começar

  • Verifique se você tem uma instância do Google SecOps.
  • Acesso ao Microsoft Sentinel.

Configure um feed no Google SecOps para ingerir os registros do Microsoft Sentinel

  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 Microsoft Sentinel).
  4. Selecione Webhook como o Tipo de origem.
  5. Selecione Microsoft Sentinel 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 a ser aplicado aos eventos desse feed.
  8. Clique em Próxima.
  9. Revise a configuração do novo 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, porque não será possível acessá-la novamente. Você pode gerar uma nova chave secreta novamente, mas a regeneração da chave secreta 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 o 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 Google Security Operations.

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. 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 Security Operations.
  • SECRET: a chave secreta gerada para autenticar o feed.

Configurar o app de lógica para incidentes do Microsoft Sentinel

Para configurar a aplicativo de lógica para incidentes do Microsoft Sentinel, siga estas etapas:

  1. Faça login no Portal do Azure.
  2. Clique em Criar um recurso.
  3. Pesquise "Logic App".
  4. Clique em Criar para iniciar o processo.
  5. Especifique valores para os seguintes parâmetros de entrada:
    • Assinatura: selecione a assinatura.
    • Grupo de recursos: selecione o grupo de recursos.
    • Nome: insira um nome para o app de lógica.
    • Região: selecione a região.
    • Espaço de trabalho do Log Analytics: selecione o espaço de trabalho do Log Analytics.
  6. Clique em Revisar + criar.
  7. Clique em Criar.
  8. Depois que a app de lógica for criado, clique em Acessar recurso.
  9. Clique em Ferramentas de desenvolvimento > Designer de apps lógicos.
  10. Clique em Adicionar um acionador.
  11. Pesquise Microsoft Sentinel.
  12. Selecione Incidentes do Microsoft Sentinel como o acionador.
  13. Se você ainda não criou uma conexão com o Microsoft Sentinel, faça isso agora. Clique em Criar novo e siga as instruções para autenticação.
  14. Clique em Inserir uma nova etapa.
  15. Clique em Adicionar uma ação.
  16. Pesquise e selecione HTTP como a ação.
  17. Especifique valores para os seguintes parâmetros de entrada:
    • URI: o URL do endpoint do feed.
    • Método: POST
    • Cabeçalhos: adicione os seguintes cabeçalhos:
      • Content-Type: application/json
      • X-goog-api-key: a chave de API para autenticação no Google Security Operations.
      • X-Webhook-Access-Key: a chave secreta gerada para autenticar o feed.

Configurar o app de lógica para alertas do Microsoft Sentinel

Para configurar a aplicativo de lógica para alertas do Microsoft Sentinel, siga estas etapas:

  1. Acesse a página inicial do portal do Azure.
  2. Clique em Criar um recurso.
  3. Pesquise "Logic App".
  4. Clique em Criar para iniciar o processo.
  5. Especifique valores para os seguintes parâmetros de entrada:
    • Assinatura: selecione a assinatura.
    • Grupo de recursos: selecione o grupo de recursos.
    • Nome: insira um nome para o app de lógica.
    • Região: selecione a região.
    • Espaço de trabalho do Log Analytics: selecione o espaço de trabalho do Log Analytics.
  6. Clique em Revisar + criar.
  7. Clique em Criar.
  8. Depois que a app de lógica for criado, clique em Acessar recurso.
  9. Clique em Ferramentas de desenvolvimento > Designer de apps lógicos.
  10. Clique em Adicionar um acionador.
  11. Pesquise Microsoft Sentinel.
  12. Selecione Alerta do Microsoft Sentinel como acionador.
  13. Se você ainda não criou uma conexão com o Microsoft Sentinel, faça isso agora. Clique em Criar novo e siga as instruções para autenticação.
  14. Clique em Inserir uma nova etapa.
  15. Clique em Adicionar uma ação.
  16. Pesquise e selecione HTTP como a ação.
  17. Especifique valores para os seguintes parâmetros de entrada:
    • URI: o URL do endpoint do feed.
    • Método: POST
    • Cabeçalhos: adicione os seguintes cabeçalhos:
      • Content-Type: application/json
      • X-goog-api-key: a chave de API para autenticação no Google Security Operations.
      • X-Webhook-Access-Key: a chave secreta gerada para autenticar o feed.

Configurar regras de automação para o Microsoft Sentinel

Para configurar as regras de automação do Microsoft Sentinel, siga estas etapas:

  1. Acesse o Microsoft Sentinel Workspace.
  2. Clique em Configuração > Automação.
  3. Clique em Criar.
  4. Selecione Regra de automação.
  5. Especifique valores para os seguintes parâmetros de entrada:
    • Nome: digite um nome para a regra de automação.
    • Acionador: selecione Quando o incidente é criado.
    • Ações: selecione Executar playbook > App lógico criado para incidentes.
  6. Clique em Aplicar.
  7. Clique em Criar.
  8. Selecione Regra de automação.
  9. Especifique valores para os seguintes parâmetros de entrada:
    • Nome: digite um nome para a regra de automação.
    • Acionador: selecione Quando o incidente é atualizado.
    • Condição: clique em Adicionar > Condição (E) > Status > Alterado.
    • Ações: selecione Executar playbook > App lógico criado para incidentes.
  10. Clique em Aplicar.
  11. Clique em Criar.
  12. Selecione Regra de automação.
  13. Especifique valores para os seguintes parâmetros de entrada:
    • Nome: digite um nome para a regra de automação.
    • Acionador: selecione Quando o alerta é criado.
    • Ações: selecione Executar playbook > App lógico criado para alertas.
  14. Clique em Aplicar.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
AlertGenerationStatus security_result.detection_fields.AlertGenerationStatus Mapeado diretamente do campo ExtendedProperties após a análise JSON.
AlertLink principal.labels.AlertLink Mapeado diretamente.
AlertName security_result.rule_name Mapeado diretamente.
AlertSeverity security_result.severity Mapeado diretamente, convertido em letras maiúsculas. Se o valor for ALTO, MÉDIO, BAIXO, CRÍTICO ou UNKNOWN_SEVERITY, ele será mapeado para security_result.severity. Caso contrário, ele será mapeado para security_result.severity_details.
AlertType security_result.threat_name Mapeado diretamente.
Category security_result.detection_fields.Category Mapeado diretamente do campo ExtendedProperties após a análise JSON.
CompromisedEntity principal.resource.attribute.labels.CompromisedEntity Mapeado diretamente.
CompromisedEntityId security_result.detection_fields.CompromisedEntityId Mapeado diretamente do campo ExtendedProperties após a análise JSON.
ConfidenceLevel security_result.confidence_details Mapeado diretamente.
ConfidenceScore security_result.detection_fields.ConfidenceScore Mapeado diretamente.
cribl_pipe additional.fields.cribl_pipe Mapeado diretamente.
Description security_result.description Mapeado diretamente.
DestinationDevice security_result.detection_fields.DestinationDevice OU target.ip Mapeado do campo ExtendedProperties após a análise JSON. Se o valor for um endereço IP válido, ele será mapeado para target.ip. Caso contrário, ele será mapeado como um campo de detecção.
DestinationDeviceAddress target.ip Mapeado do campo ExtendedProperties após a análise JSON, somente se for um endereço IP válido.
DeviceId security_result.detection_fields.DeviceId Mapeado diretamente do campo ExtendedProperties após a análise JSON.
DisplayName security_result.summary Mapeado diretamente.
EndTime about.labels.EndTime Mapeado diretamente.
Entities.Address principal.asset.ip Extraídos da matriz Entities após a análise JSON. Somente os endereços IP são mapeados.
Entities.HostName principal.asset.hostname OU principal.asset.ip Extraídos da matriz Entities após a análise JSON. Se o valor for um endereço IP válido, ele será mapeado para principal.asset.ip. Caso contrário, ele será mapeado para principal.asset.hostname.
Entities.IoTDevice.DeviceId security_result.detection_fields.IoTDeviceID Extraídos da matriz Entities após a análise JSON.
Entities.IoTDevice.DeviceType security_result.detection_fields.IoTDeviceType Extraídos da matriz Entities após a análise JSON.
Entities.IoTDevice.DeviceTypeId security_result.detection_fields.IoTDeviceTypeId Extraídos da matriz Entities após a análise JSON.
Entities.IoTDevice.Importance security_result.detection_fields.IoTDeviceImportance Extraídos da matriz Entities após a análise JSON.
Entities.IoTDevice.IoTSecurityAgentId security_result.detection_fields.IoTSecurityAgentId Extraídos da matriz Entities após a análise JSON.
Entities.IoTDevice.Manufacturer security_result.detection_fields.IoT Manufacturer Extraídos da matriz Entities após a análise JSON.
Entities.IoTDevice.OperatingSystem principal.asset.platform_software.platform_version Extraídos da matriz Entities após a análise JSON, com os espaços à direita removidos.
Entities.IoTDevice.PurdueLayer security_result.detection_fields.IoT PurdueLayer Extraídos da matriz Entities após a análise JSON.
Entities.IoTDevice.Sensor security_result.detection_fields.IoT Sensor Extraídos da matriz Entities após a análise JSON.
ExtendedProperties.Protocol security_result.detection_fields.Protocol Mapeado diretamente do campo ExtendedProperties após a análise JSON.
ExtendedProperties.SensorId security_result.detection_fields.SensorId Mapeado diretamente do campo ExtendedProperties após a análise JSON.
ExtendedProperties.SourceDevice principal.ip OU security_result.detection_fields.SourceDevice Mapeado do campo ExtendedProperties após a análise JSON. Se o valor for um endereço IP válido, ele será mapeado para principal.ip. Caso contrário, ele será mapeado como um campo de detecção.
ExtendedProperties.SourceDeviceAddress principal.ip Mapeado do campo ExtendedProperties após a análise JSON, somente se for um endereço IP válido.
IsIncident security_result.detection_fields.IsIncident Mapeado diretamente, convertido em string.
ProcessingEndTime about.labels.ProcessingEndTime Mapeado diretamente.
ProductComponentName principal.resource.attribute.labels.ProductComponentName Mapeado diretamente.
ProductName principal.resource.attribute.labels.ProductName Mapeado diretamente.
ProviderName principal.resource.attribute.labels.ProviderName Mapeado diretamente.
ResourceId principal.resource.product_object_id, target.resource.name Mapeado diretamente.
SourceComputerId principal.asset.asset_id Mapeado diretamente, com prefixo "SourceComputerId:".
SourceSystem security_result.detection_fields.SourceSystem Mapeado diretamente.
StartTime about.labels.StartTime Mapeado diretamente.
Status security_result.detection_fields.Status Mapeado diretamente.
SystemAlertId metadata.product_log_id Mapeado diretamente.
Tactics security_result.attack_details.tactics.name Extraídos do campo Tactics após a análise JSON e a remoção de barra invertida.
Techniques security_result.attack_details.techniques.id Extraídos do campo Techniques após a análise JSON e a remoção de barra invertida.
TenantId additional.fields.TenantId Mapeado diretamente.
TimeGenerated about.labels.TimeGenerated Mapeado diretamente.
timestamp metadata.event_timestamp, events.timestamp Mapeado diretamente.
VendorName metadata.vendor_name Mapeado diretamente.
VendorOriginalId additional.fields.VendorOriginalId Mapeado diretamente.
_time metadata.event_timestamp, events.timestamp Analisado como um carimbo de data/hora usando o formato UNIX ou UNIX_MS.
(Parser Logic) metadata.event_type Defina como "USER_RESOURCE_ACCESS" se o principal, o destino e o ResourceId estiverem presentes. Caso contrário, defina como "GENERIC_EVENT".
(Parser Logic) metadata.log_type Defina como "MICROSOFT_SENTINEL".
(Parser Logic) metadata.product_name Defina como "MICROSOFT_SENTINEL".

Alterações

2023-11-03

  • "ResourceId" foi mapeado para "target.resource.name".
  • Quando "ResourceId" é "not null" e o evento tem "principal" ou "target" como "not null", mapeie "metadata.event_type" para "USER_RESOURCE_ACCESS".

2023-08-31

  • Parser recém-criado.

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