Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os trabalhos KQL consistem em consultas KQL, únicas ou agendadas, sobre dados no data lake do Microsoft Sentinel. Use tarefas para cenários de investigação e análise, tais como:
- Consultas únicas de longa duração para investigações de incidentes e resposta a incidentes (RI)
- Tarefas de agregação de dados que usam logs de baixa fidelidade para suportar fluxos de trabalho de enriquecimento
- Varreduras de comparação de inteligência sobre ameaças históricas (TI) para análise retrospetiva
- Análises de deteção de anomalias que identificam padrões anómalos em várias tabelas
Os trabalhos KQL são especialmente eficazes quando as consultas usam junções ou uniões em diferentes conjuntos de dados.
Use tarefas para promover dados do data lake para o nível de analytics. Uma vez na camada de análise, use o editor KQL Advanced Hunting para consultar os dados. A promoção de dados para a camada de análise tem os seguintes benefícios:
- Combine dados atuais e históricos na camada de análise para executar modelos avançados de análise e aprendizado de máquina em seus dados.
- Reduza os custos de consulta executando consultas na camada de análise.
- Combine dados de vários espaços de trabalho em um único espaço de trabalho na camada de análise.
- Combine dados do Microsoft Entra ID, Microsoft 365 e Microsoft Resource Graph na camada de análise para executar análises avançadas entre fontes de dados.
Observação
O armazenamento na camada de análise incorre em taxas de faturamento mais altas do que na camada de data lake. Para reduzir custos, promova apenas os dados que você precisa analisar mais. Use o KQL em sua consulta para projetar apenas as colunas necessárias e filtre os dados para reduzir a quantidade de dados promovidos para a camada de análise.
Você pode promover dados para uma nova tabela ou acrescentar os resultados a uma tabela existente na camada de análise. Ao criar uma nova tabela, o nome da tabela é sufixo com _KQL_CL para indicar que a tabela foi criada por um trabalho KQL.
Pré-requisitos
Para criar e gerir tarefas KQL no data lake do Microsoft Sentinel, precisa dos seguintes pré-requisitos.
A bordo do data lake
Para criar e gerir trabalhos KQL no data lake do Microsoft Sentinel, deve-se primeiro aderir ao data lake. Para obter mais informações sobre a integração ao data lake, consulte Integração ao data lake do Microsoft Sentinel.
Permissões
As funções de ID do Microsoft Entra fornecem amplo acesso em todos os espaços de trabalho no data lake. Para ler tabelas em todos os espaços de trabalho, gravar na camada de análise e agendar trabalhos usando consultas KQL, deve-se ter uma das funções suportadas do Microsoft Entra ID. Para obter mais informações sobre funções e permissões, consulte Funções e permissões do data lake do Microsoft Sentinel.
Para criar novas tabelas personalizadas no nível de análise, atribua o papel Log Analytics Contributor no espaço de trabalho do Log Analytics à identidade gerida do data lake.
Para atribuir o papel, siga estes passos:
- No portal Azure, vai ao espaço de trabalho de Log Analytics a que queres atribuir a função.
- Selecione Controle de acesso (IAM) no painel de navegação esquerdo.
- Selecione Adicionar atribuição de função.
- Na tabela de Funções , selecione *Log Analytics Contributor e depois selecione Próximo.
- Selecione Identidade gerenciada e, em seguida, selecione Selecionar membros.
- Sua identidade gerenciada do data lake é uma identidade gerenciada atribuída ao sistema chamada
msg-resources-<guid>. Selecione a identidade gerenciada e, em seguida, selecione Selecionar. - Selecione Rever e atribuir.
Para obter mais informações sobre como atribuir funções a identidades gerenciadas, consulte Atribuir funções do Azure usando o portal do Azure.
Criar um emprego
Você pode criar trabalhos para serem executados em um cronograma ou uma única vez. Ao criar um trabalho, o utilizador especifica o espaço de trabalho de destino e a tabela para os resultados. Pode escrever os resultados numa nova tabela ou adicioná-los a uma tabela existente no nível de análise. Podes criar um novo trabalho KQL ou criar um trabalho a partir de um template que contenha as definições de consulta e de trabalho. Para mais informações, consulte Criar um trabalho KQL a partir de um modelo.
Inicie o processo de criação de trabalhos a partir do editor de consultas KQL ou da página de gerenciamento de trabalhos.
Para criar um trabalho a partir do editor de consultas KQL, selecione o botão Criar trabalho no canto superior direito do editor de consultas.
Para criar um trabalho a partir da página de gestão de trabalhos, selecione Microsoft Sentinel>Exploração do Lago de Dados>Trabalhos e em seguida selecione o botão Criar trabalho.
Insira um nome de trabalho. O nome do trabalho deve ser exclusivo para o locatário. Os nomes de trabalho podem conter até 256 caracteres. Não é possível usar um
#ou um-no nome de um trabalho.Insira uma Descrição do Trabalho fornecendo o contexto e a finalidade do trabalho.
Na lista suspensa denominada Selecionar espaço de trabalho, escolha o espaço de trabalho de destino. Este espaço de trabalho está no nível de análise, onde queres escrever os resultados da consulta.
Selecione a tabela de destino:
Para criar uma nova tabela, selecione Criar uma nova tabela e insira um nome de tabela. As tabelas criadas por trabalhos KQL têm o sufixo _KQL_CL anexado ao nome da tabela.
Para acrescentar a uma tabela existente, selecione Adicionar a uma tabela existente e selecione o nome da tabela na lista suspensa. Ao adicionar a uma tabela existente, os resultados da consulta devem corresponder ao esquema da tabela existente.
Reveja ou escreva a sua consulta no painel Preparar a consulta . Verifique se o seletor de tempo está definido para o intervalo de tempo necessário para o trabalho se o intervalo de datas não estiver especificado na consulta.
Selecione os espaços de trabalho contra os quais executar a consulta na lista suspensa Espaços de trabalho selecionados . Estes espaços de trabalho são os espaços de trabalho de origem cujas tabelas quer consultar. Os espaços de trabalho selecionados determinam as tabelas disponíveis para consulta. Os espaços de trabalho selecionados aplicam-se a todos os separadores de consulta no editor de consultas. Ao usar vários espaços de trabalho, o
union()operador é aplicado por padrão a tabelas com o mesmo nome e esquema de espaços de trabalho diferentes. Use oworkspace()operador para consultar uma tabela de um espaço de trabalho específico, por exemploworkspace("MyWorkspace").AuditLogs.Observação
Se você estiver gravando em uma tabela existente, a consulta deverá retornar resultados com um esquema que corresponda ao esquema da tabela de destino. Se a consulta não devolver resultados com o esquema correto, o trabalho falha quando é executado.
Selecione Seguinte.
Na página Agendar o trabalho de consulta , selecione se deseja executar o trabalho uma vez ou em uma agenda. Se você selecionar Uma vez, o trabalho será executado assim que a definição do trabalho for concluída. Se você selecionar Agendar, poderá especificar uma data e hora para a execução do trabalho ou executá-lo em uma agenda recorrente.
Selecione Uma vez ou Trabalho agendado.
Observação
A edição de uma tarefa única desencadeia imediatamente a sua execução.
Se você selecionou Agendar, insira os seguintes detalhes:
- Selecione a Frequência de repetição na lista suspensa. Você pode selecionar Por minuto, Horária, Diária, Semanal ou Mensal.
- Defina o valor de Repetir cada para a frequência com que pretende que a tarefa seja executada em relação à frequência selecionada.
- Em Definir cronograma, insira as datas e horas em De. A hora de início do trabalho no campo De deve ser pelo menos 30 minutos após a criação do trabalho. O trabalho é executado a partir desta data e hora de acordo com a frequência selecionada na lista suspensa Executar a cada.
- Selecione a data e a hora Até para especificar quando o agendamento de tarefas será concluído. Se desejar que a agenda continue indefinidamente, selecione Definir trabalho para ser executado indefinidamente.
Os horários de trabalho de e para são definidos para a localidade do usuário.
Observação
Se agendar uma tarefa para executar numa frequência elevada, por exemplo a cada 30 minutos, deve ter em conta o tempo que demora até os dados ficarem disponíveis no data lake. Normalmente, há uma latência de até 15 minutos antes de os dados recém-ingeridos estarem disponíveis para consulta.
Selecione Avançar para revisar os detalhes do trabalho.
Revise os detalhes do trabalho e selecione Enviar para criar o trabalho. Se o trabalho for único, ele será executado depois que você selecionar Enviar. Se o trabalho estiver agendado, ele será adicionado à lista de trabalhos na página Trabalhos e será executado de acordo com os dados e a hora de início.
O trabalho é agendado e a página seguinte é exibida. Você pode visualizar o trabalho selecionando o link.
Criar um trabalho a partir de um modelo
Pode criar um trabalho KQL a partir de um modelo de trabalho pré-definido. Os modelos de trabalho contêm a consulta KQL e as definições de trabalho, como o espaço de trabalho de destino e a tabela, o horário e a descrição. Pode criar os seus próprios modelos de emprego ou usar modelos incorporados fornecidos pela Microsoft.
Para criar um trabalho a partir de um modelo, siga estes passos:
Na página de Empregos ou no editor de consultas KQL, selecione Criar trabalho e depois selecione Criar a partir do modelo.
Na página de Modelos de Emprego , selecione o modelo que quer usar da lista de modelos disponíveis.
Revise a Descrição e a consulta KQL do modelo.
Selecione Criar trabalho a partir do modelo.
O assistente de criação de tarefas abre com a página Criar uma nova tarefa KQL. Os detalhes do trabalho foram pré-preenchidos a partir do modelo, exceto o espaço de trabalho de destino.
Selecione o espaço de trabalho de destino na lista suspensa Selecionar espaço de trabalho.
Revise e modifique os detalhes do trabalho conforme necessário, depois selecione Próximo para avançar pelo assistente de criação de emprego.
Os passos restantes são iguais a criar um novo emprego. Os campos são pré-preenchidos a partir do modelo e podem ser modificados conforme necessário. Para mais informações, consulte Criar um emprego.
Estão disponíveis os seguintes modelos:
| Nome do modelo | Categoria |
|---|---|
Aumentam locais de início de sessão anómalosAnalise a análise de tendências dos registos de início de sessão do Entra ID para detetar alterações invulgares de localização para utilizadores em diferentes aplicações, calculando linhas de tendência de diversidade de localização. Destaca as três principais contas com o maior aumento na variabilidade da localização e lista as suas localizações associadas dentro de janelas de 21 dias. Tabela de destino: UserAppSigninLocationTrend Revisão da consulta: 1 dia Horário: diário Data de início: Data atual + 1 hora |
Caça |
Comportamento anómalo de login baseado em alterações de localizaçãoIdentificar comportamentos anómalos de início de sessão com base nas alterações de localização para utilizadores e aplicações do Entra ID, a fim de detetar mudanças súbitas no comportamento. Tabela de destino: UserAppSigninLocationAnomalies Revisão da consulta: 1 dia Horário: diário Data de início: Data atual + 1 hora |
Deteção de anomalias |
Auditar atividades raras por aplicaçãoEncontre aplicações que realizem ações raras (por exemplo, consentimento, concessões) que possam criar privilégio discretamente. Compare o dia atual com os últimos 14 dias de auditorias para identificar novas atividades de auditoria. Útil para rastrear atividade maliciosa relacionada com adições ou remoções de utilizadores/grupos por aplicações Azure e aprovações automáticas. Tabela de destino: AppAuditAtividadeRara Análise da consulta: 14 dias Horário: diário Data de início: Data atual + 1 hora |
Caça |
Operações raras de nível de subscrição do AzureIdentificar eventos sensíveis ao nível de subscrição do Azure com base nos Azure Activity Logs. Por exemplo, monitorização baseada no nome de operação "Create or Update Snapshot", que é usada para criar backups, mas pode ser mal utilizada por atacantes para despejar hashes ou extrair informação sensível do disco. Tabela de destino: AzureSubscriptionSensitiveOps Análise da consulta: 14 dias Horário: diário Data de início: Data atual + 1 hora |
Caça |
Tendência diária de atividade por aplicação no AuditLogsNos últimos 14 dias, identifique qualquer operação de "Consentimento à aplicação" que ocorra por um utilizador ou aplicação. Isto pode indicar que as permissões para aceder ao AzureApp listado foram fornecidas a um ator malicioso. Eventos de consentimento para a aplicação, a adição do principal de serviço e a adição de Auth2PermissionGrant devem ser raros. Se disponível, é adicionado contexto adicional a partir dos AuditLogs com base no CorrelationId da mesma conta que realizou o "Consentimento à aplicação". Tabela de destino: AppAuditActivityBaseline Análise da consulta: 14 dias Horário: diário Data de início: Data atual + 1 hora |
Linha de base |
Tendência diária de localização por utilizador ou aplicação no LogInLogsCrie tendências diárias para todos os logins dos utilizadores, número de localizações e utilização da sua aplicação. Tabela de destino: UserAppSigninLocationBaseline Revisão da consulta: 1 dia Horário: diário Data de início: Data atual + 1 hora |
Linha de base |
Tendência diária de tráfego de rede por IP de destinoCrie uma linha de base que inclua bytes e pares distintos para detectar beaconing e exfiltração. Tabela de destino: NetworkTrafficDestinationIPDailyBaseline Revisão da consulta: 1 dia Horário: diário Data de início: Data atual + 1 hora |
Linha de base |
Tendência diária do tráfego de rede por IP de destino com estatísticas de transferência de dadosIdentificar o host interno que atingiu o destino de saída, incluindo tendências de volume, estimando o raio da explosão. Tabela de destino: NetworkTrafficDestinationIPTrend Revisão da consulta: 1 dia Horário: diário Data de início: Data atual + 1 hora |
Caça |
Tendência diária do tráfego de rede por IP de origemCrie uma linha de base incluindo bytes e pares únicos para detetar sinalização e exfiltração. Tabela de destino: NetworkTrafficSourceIPDailyBaseline Revisão da consulta: 1 dia Horário: diário Data de início: Data atual + 1 hora |
Linha de base |
Tendência diária do tráfego de rede por IP de origem com estatísticas de transferência de dadosAs ligações e bytes atuais são avaliados com base na linha de base diária do host para determinar se os comportamentos observados diferem significativamente do padrão pré-estabelecido. Tabela de destino: NetworkTrafficSourceIPTrend Revisão da consulta: 1 dia Horário: diário Data de início: Data atual + 1 hora |
Caça |
Tendência de localização de início de sessão diária por utilizador e aplicaçãoCrie uma linha de base de login para cada utilizador ou aplicação com localização geográfica e IP típicas, permitindo uma deteção de anomalias eficiente e económica em larga escala. Tabela de destino: UserAppLoginLocalizaçãoBaseDiária Revisão da consulta: 1 dia Horário: diário Data de início: Data atual + 1 hora |
Linha de base |
Tendência diária de execução de processosIdentificar novos processos e prevalência, facilitando a deteção de "novos processos raros". Tabela de destino: EndpointProcessExecutionBaseline Revisão da consulta: 1 dia Horário: diário Data de início: Data atual + 1 hora |
Linha de base |
Entra ID agente de utilizador raro por aplicaçãoEstabeleça um referencial do tipo de UserAgent (ou seja, navegador, aplicação de escritório, etc.) que é normalmente usado para uma determinada aplicação, analisando um histórico de vários dias. Depois, pesquisa no dia atual quaisquer desvios deste padrão, ou seja, tipos de UserAgents nunca antes vistos em combinação com esta aplicação. Tabela de destino: UserAppRareUserAgentAnomalies Análise da consulta: 7 dias Horário: diário Data de início: Data atual + 1 hora |
Deteção de anomalias |
Correspondência do IOC do registo de redeIdentifique quaisquer indicadores de comprometimento IP (IOCs) a partir da inteligência de ameaças (TI), pesquisando correspondências no CommonSecurityLog. Tabela de destino: NetworkLogIOCMatches Análise da consulta: 1 hora Horário: a cada hora Data de início: Data atual + 1 hora |
Caça |
Novos processos observados nas últimas 24 horasNovos processos em ambientes estáveis podem indicar atividade maliciosa. Analisar sessões de início onde estes binários foram executados pode ajudar a identificar ataques. Tabela de destino: EndpointNewProcessExecutions Análise da consulta: 14 dias Horário: diário Data de início: Data atual + 1 hora |
Caça |
Operação de ficheiros SharePoint através de IPs nunca antes vistosIdentificar anomalias usando o comportamento do utilizador, definindo um limiar para alterações significativas nas atividades de upload/download de ficheiros a partir de novos endereços IP. Estabelece uma linha base de comportamento típico, compara-a com a atividade recente e assinala desvios que excedam um limiar padrão de 25. Tabela de destino: SharePointFileOpsNewIPs Análise da consulta: 14 dias Horário: diário Data de início: Data atual + 1 hora |
Caça |
Beaconing potencial de rede de Palo AltoIdentificar padrões de beaconing a partir dos registos de tráfego da Palo Alto Networks com base em padrões recorrentes de delta de tempo. A consulta utiliza várias funções KQL para calcular os deltas de tempo e depois compara-a com o total de eventos observados num dia para encontrar a percentagem de beaconing. Tabela de destino: PaloAltoNetworkBeaconingTrend Revisão da consulta: 1 dia Horário: diário Data de início: Data atual + 1 hora |
Caça |
Login suspeito do Windows fora das horas normaisIdentifique eventos invulgares de início de sessão no Windows fora das horas normais do utilizador, comparando com a atividade de início de sessão dos últimos 14 dias, assinalando anomalias com base em padrões históricos. Tabela de destino: WindowsLoginOffHoursAnomalies Análise da consulta: 14 dias Horário: diário Data de início: Data atual + 1 hora |
Deteção de anomalias |
Considerações e limitações
Ao criar empregos no data lake Microsoft Sentinel, considere as seguintes limitações e boas práticas:
KQL
Todos os operadores e funções KQL são suportados, exceto os seguintes:
adx()arg()externaldata()ingestion_time()
Quando usares o
stored_query_resultscomando, fornece o intervalo de tempo na consulta KQL. O seletor de tempo acima do editor de consultas não funciona com este comando.Funções definidas pelo utilizador não são suportadas.
Tarefas
- Os nomes dos trabalhos devem ser exclusivos para o inquilino.
- Os nomes das funções podem ter até 256 caracteres.
- Os nomes de trabalho não podem conter um
#ou um-. - A hora de início do trabalho deve ser de pelo menos 30 minutos após a criação ou edição do trabalho.
Latência de ingestão de data lake
O nível data lake armazena dados em armazenamento frio. Em vez das camadas de análise em tempo real ou quase real, o armazenamento frio está otimizado para retenção a longo prazo e eficiência de custos e não fornece acesso imediato aos dados recém-ingeridos. Quando novas linhas são adicionadas a tabelas existentes no data lake, há uma latência típica de até 15 minutos antes de os dados estarem disponíveis para consulta. Tenha em conta a latência de ingestão quando executa consultas e agenda trabalhos KQL, garantindo que as janelas de revisão e os horários de trabalhos estão configurados para evitar dados que ainda não estão disponíveis.
Para evitar consultar dados que possam ainda não estar disponíveis, inclua um parâmetro de atraso nas suas consultas ou trabalhos KQL. Por exemplo, ao agendar tarefas automatizadas, defina a hora de fim da consulta para now() - delay, onde delay corresponde à latência típica de prontidão dos dados de 15 minutos. Esta abordagem garante que as consultas apenas visam dados totalmente absorvidos e prontos para análise.
let lookback = 15m;
let delay = 15m;
let endTime = now() - delay;
let startTime = endTime - lookback;
CommonSecurityLog
| where TimeGenerated between (startTime .. endTime)
Esta abordagem é eficaz para trabalhos com janelas de retrospetiva curtas ou intervalos frequentes de execução.
Considere sobrepor o período de retrospetiva com a frequência das tarefas para reduzir o risco de perder dados que chegam tarde.
Para obter mais informações, consulte Gerir o atraso na ingestão nas regras de análise agendada.
Nomes das colunas
As seguintes colunas padrão não são suportadas para exportação. O processo de ingestão sobrescreve estas colunas no tier de destino:
Id de Inquilino
_HoraRecebida
Tipo
SourceSystem
_ResourceId (ID de recurso)
_SubscriptionId (ID de Subscrição)
_ItemId
_BilledSize
_É faturável
_WorkspaceId
TimeGeneratedé sobrescrito se tiver mais de dois dias. Para preservar a hora original do evento, escreva o carimbo de origem numa coluna separada.
Para obter limites de serviço, consulte Limites de serviço do data lake do Microsoft Sentinel.
Observação
Resultados parciais podem ser apresentados se a consulta ultrapassar o limite de uma hora estabelecido.
Parâmetros e limites de serviço para tarefas KQL
A tabela a seguir lista os parâmetros e limites de serviço para trabalhos KQL no data lake do Microsoft Sentinel.
| Categoria | Parâmetro/limite |
|---|---|
| Execução simultânea de trabalhos por locatário | 3 |
| Tempo limite de execução da consulta de tarefa | Uma hora |
| Trabalhos por locatário (trabalhos habilitados) | 100 |
| Número de tabelas de saída por trabalho | 1 |
| Escopo da consulta | Vários espaços de trabalho |
| Intervalo de tempo de consulta | Até 12 anos |
Para obter dicas de solução de problemas e mensagens de erro, consulte Solução de problemas de consultas KQL para o data lake do Microsoft Sentinel.