Auditar consultas e atividades de Microsoft Sentinel

Este artigo descreve como pode ver os dados de auditoria das consultas executadas e as atividades executadas na área de trabalho do Microsoft Sentinel, como para requisitos de conformidade internos e externos na área de trabalho de Operações de Segurança (SOC).

Microsoft Sentinel fornece acesso a:

Sugestão

Além das consultas manuais descritas neste artigo, recomendamos que utilize o livro de auditoria da Área de Trabalho incorporado para o ajudar a auditar as atividades no seu ambiente SOC. Para obter mais informações, consulte Visualizar e monitorizar os seus dados com livros no Microsoft Sentinel.

Pré-requisitos

Auditoria com registos de Atividades do Azure

Os registos de auditoria do Microsoft Sentinel são mantidos nos Registos de Atividades do Azure, onde a tabela AzureActivity inclui todas as ações realizadas na área de trabalho Microsoft Sentinel.

Utilize a tabela AzureActivity ao auditar a atividade no seu ambiente SOC com Microsoft Sentinel.

Para consultar a tabela AzureActivity:

  1. Instale a solução atividade Azure para Sentinel solução e ligue o conector de dados da Atividade do Azure para iniciar eventos de auditoria de transmissão em fluxo numa nova tabela chamada AzureActivity.

  2. Consulte os dados com Linguagem de Pesquisa Kusto (KQL), tal como faria com qualquer outra tabela:

    • Na portal do Azure, consulte esta tabela na página Registos.
    • No portal do Defender, consulte esta tabela na página Investigação & resposta > Investigação >Avançada de investigação .

    A tabela AzureActivity inclui dados de muitos serviços, incluindo Microsoft Sentinel. Para filtrar apenas os dados de Microsoft Sentinel, inicie a consulta com o seguinte código:

     AzureActivity
    | where OperationNameValue startswith "MICROSOFT.SECURITYINSIGHTS"
    

    Por exemplo, para saber quem foi o último utilizador a editar uma regra de análise específica, utilize a seguinte consulta (substituindo xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx pelo ID da regra que pretende verificar):

    AzureActivity
    | where OperationNameValue startswith "MICROSOFT.SECURITYINSIGHTS/ALERTRULES/WRITE"
    | where Properties contains "alertRules/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    | project Caller , TimeGenerated , Properties
    

Adicione mais parâmetros à consulta para explorar ainda mais a tabela AzureActivities, consoante o que precisa de comunicar. As secções seguintes fornecem outras consultas de exemplo a utilizar ao auditar com os dados da tabela AzureActivity .

Para obter mais informações, veja Microsoft Sentinel dados incluídos nos Registos de atividades do Azure.

Localizar todas as ações realizadas por um utilizador específico nas últimas 24 horas

A seguinte consulta da tabela AzureActivity lista todas as ações executadas por um utilizador Microsoft Entra específico nas últimas 24 horas.

AzureActivity
| where OperationNameValue contains "SecurityInsights"
| where Caller == "[AzureAD username]"
| where TimeGenerated > ago(1d)

Localizar todas as operações de eliminação

A seguinte consulta da tabela AzureActivity lista todas as operações de eliminação realizadas na área de trabalho Microsoft Sentinel.

AzureActivity
| where OperationNameValue contains "SecurityInsights"
| where OperationName contains "Delete"
| where ActivityStatusValue contains "Succeeded"
| project TimeGenerated, Caller, OperationName

Microsoft Sentinel dados incluídos nos Registos de atividades do Azure

Os registos de auditoria do Microsoft Sentinel são mantidos nos Registos de Atividades do Azure e incluem os seguintes tipos de informações:

Operação Tipos de informações
Criado Regras de alerta
Comentários de casos
Comentários de incidentes
Pesquisas guardadas
Listas de observação
Livros
Eliminado Regras de alerta
Marcadores
Conectores de dados
Incidentes
Pesquisas guardadas
Definições
Relatórios de informações sobre ameaças
Listas de observação
Livros
Fluxo de trabalho
Atualizado Regras de alerta
Marcadores
Casos
Conectores de dados
Incidentes
Comentários de incidentes
Relatórios de informações sobre ameaças
Livros
Fluxo de trabalho

Também pode utilizar o Azure Registos de atividades para verificar a existência de autorizações e licenças de utilizador. Por exemplo, a tabela seguinte lista as operações selecionadas encontradas no Azure Registos de atividades com o recurso específico a partir do qual os dados de registo são extraídos.

Nome da operação Tipo de recurso
Criar ou atualizar o livro Microsoft.Insights/livros
Eliminar livro Microsoft.Insights/livros
Definir fluxo de trabalho Microsoft.Logic/fluxos de trabalho
Eliminar fluxo de trabalho Microsoft.Logic/fluxos de trabalho
Criar pesquisa guardada Microsoft.OperationalInsights/workspaces/savedSearches
Eliminar pesquisa guardada Microsoft.OperationalInsights/workspaces/savedSearches
Atualizar regras de alerta Microsoft.SecurityInsights/alertRules
Eliminar regras de alerta Microsoft.SecurityInsights/alertRules
Atualizar ações de resposta de regras de alerta Microsoft.SecurityInsights/alertRules/actions
Eliminar ações de resposta da regra de alerta Microsoft.SecurityInsights/alertRules/actions
Atualizar marcadores Microsoft.SecurityInsights/bookmarks
Eliminar marcadores Microsoft.SecurityInsights/bookmarks
Casos de atualização Microsoft.SecurityInsights/Cases
Investigação do caso de atualização Microsoft.SecurityInsights/Cases/investigations
Criar comentários de caso Microsoft.SecurityInsights/Cases/comments
Atualizar conectores de dados Microsoft.SecurityInsights/dataConnectors
Eliminar conectores de dados Microsoft.SecurityInsights/dataConnectors
Atualizar definições Microsoft.SecurityInsights/settings

Para obter mais informações, veja Azure esquema de eventos do Registo de Atividades.

Auditoria com LAQueryLogs

A tabela LAQueryLogs fornece detalhes sobre as consultas de registo executadas no Log Analytics. Uma vez que o Log Analytics é utilizado como arquivo de dados subjacente do Microsoft Sentinel, pode configurar o sistema para recolher dados do LAQueryLogs na área de trabalho Microsoft Sentinel.

Os dados do LAQueryLogs incluem informações como:

  • Quando as consultas foram executadas
  • Quem executou consultas no Log Analytics
  • Que ferramenta foi utilizada para executar consultas no Log Analytics, como Microsoft Sentinel
  • Os próprios textos da consulta
  • Dados de desempenho em cada execução de consulta

Nota

  • A tabela LAQueryLogs inclui apenas consultas que foram executadas no painel Registos do Microsoft Sentinel. Não inclui as consultas executadas pelas regras de análise agendadas, utilizando o Gráfico de Investigação, na página investigação do Microsoft Sentinel ou na página Investigação avançada do portal do Defender.

  • Pode haver um curto atraso entre o momento em que uma consulta é executada e os dados são preenchidos na tabela LAQueryLogs . Recomendamos que aguarde cerca de 5 minutos para consultar a tabela LAQueryLogs para obter dados de auditoria.

Para consultar a tabela LAQueryLogs:

  1. A tabela LAQueryLogs não está ativada por predefinição na área de trabalho do Log Analytics. Para utilizar dados laQueryLogs ao auditar no Microsoft Sentinel, ative primeiro os LAQueryLogs na área de definições diagnóstico da área de trabalho do Log Analytics.

    Para obter mais informações, veja Auditar consultas nos registos do Azure Monitor.

  2. Em seguida, consulte os dados com KQL, tal como faria com qualquer outra tabela.

    Por exemplo, a seguinte consulta mostra quantas consultas foram executadas na última semana, por dia:

    LAQueryLogs
    | where TimeGenerated > ago(7d)
    | summarize events_count=count() by bin(TimeGenerated, 1d)
    

As secções seguintes mostram mais consultas de exemplo a executar na tabela LAQueryLogs ao auditar atividades no seu ambiente SOC com Microsoft Sentinel.

O número de consultas executadas em que a resposta não era "OK"

A seguinte consulta da tabela LAQueryLogs mostra o número de consultas executadas, em que qualquer outra coisa que não uma resposta HTTP de 200 OK foi recebida. Por exemplo, este número inclui consultas que não foram executadas.

LAQueryLogs
| where ResponseCode != 200 
| count 

Mostrar aos utilizadores consultas com utilização intensiva da CPU

A seguinte consulta da tabela LAQueryLogs lista os utilizadores que executaram as consultas mais intensivas em termos de CPU, com base na CPU utilizada e no período de tempo de consulta.

LAQueryLogs
|summarize arg_max(StatsCPUTimeMs, *) by AADClientId
| extend User = AADEmail, QueryRunTime = StatsCPUTimeMs
| project User, QueryRunTime, QueryText
| sort by QueryRunTime desc

Mostrar os utilizadores que executaram mais consultas na semana passada

A seguinte consulta da tabela LAQueryLogs lista os utilizadores que executaram mais consultas na última semana.

LAQueryLogs
| where TimeGenerated > ago(7d)
| summarize events_count=count() by AADEmail
| extend UserPrincipalName = AADEmail, Queries = events_count
| join kind= leftouter (
    SigninLogs)
    on UserPrincipalName
| project UserDisplayName, UserPrincipalName, Queries
| summarize arg_max(Queries, *) by UserPrincipalName
| sort by Queries desc

Configurar alertas para atividades de Microsoft Sentinel

Poderá querer utilizar Microsoft Sentinel recursos de auditoria para criar alertas proativos.

Por exemplo, se tiver tabelas confidenciais na área de trabalho Microsoft Sentinel, utilize a seguinte consulta para notificá-lo sempre que essas tabelas forem consultadas:

LAQueryLogs
| where QueryText contains "[Name of sensitive table]"
| where TimeGenerated > ago(1d)
| extend User = AADEmail, Query = QueryText
| project User, Query

Monitorizar Microsoft Sentinel com livros, regras e manuais de procedimentos

Utilize as próprias funcionalidades do Microsoft Sentinel para monitorizar eventos e ações que ocorrem no Microsoft Sentinel.

  • Monitorizar com livros. Vários livros Microsoft Sentinel incorporados podem ajudá-lo a monitorizar a atividade da área de trabalho, incluindo informações sobre os utilizadores que trabalham na sua área de trabalho, as regras de análise que estão a ser utilizadas, as táticas MITRE mais abrangidas, ingestões paradas ou paradas e o desempenho da equipa do SOC.

    Para obter mais informações, consulte Visualizar e monitorizar os seus dados através de livros no Microsoft Sentinel e Em geral utilizados Microsoft Sentinel livros

  • Atenção ao atraso na ingestão. Se estiver preocupado com o atraso na ingestão, defina uma variável numa regra de análise para representar o atraso.

    Por exemplo, a seguinte regra de análise pode ajudar a garantir que os resultados não incluem duplicados e que os registos não são perdidos ao executar as regras:

    let ingestion_delay= 2min;let rule_look_back = 5min;CommonSecurityLog| where TimeGenerated >= ago(ingestion_delay + rule_look_back)| where ingestion_time() > (rule_look_back)
    - Calculating ingestion delay
      CommonSecurityLog| extend delay = ingestion_time() - TimeGenerated| summarize percentiles(delay,95,99) by DeviceVendor, DeviceProduct
    

    Para obter mais informações, veja Automatizar o processamento de incidentes em Microsoft Sentinel com regras de automatização.

  • Monitorize o estado de funcionamento do conector de dados com o manual de procedimentos da Solução de Notificação Push do Estado de Funcionamento do Conector para observar a ingestão parada ou parada e enviar notificações quando um conector deixar de recolher dados ou as máquinas deixaram de comunicar.

Veja mais informações sobre os seguintes itens utilizados nos exemplos anteriores, na documentação do Kusto:

Para obter mais informações sobre o KQL, veja Descrição geral do Linguagem de Pesquisa Kusto (KQL).

Outros recursos:

Passo seguinte

No Microsoft Sentinel, utilize o livro de auditoria área de trabalho para auditar as atividades no seu ambiente SOC. Para obter mais informações, veja Visualizar e monitorizar os seus dados.