Listas de observação no Microsoft Sentinel

As listas de observação no Microsoft Sentinel ajudam os analistas de segurança a correlacionar e enriquecer de forma eficiente os dados de eventos. Dão-lhe uma forma flexível de gerir dados de referência, como listas de ativos de alto valor ou funcionários terminados. Integre listas de observação nas suas regras de deteção, investigação de ameaças e fluxos de trabalho de resposta para reduzir a fadiga dos alertas e responder a ameaças mais rapidamente. Este artigo explica como utilizar listas de observação no Microsoft Sentinel, descreve os principais cenários e limitações e fornece orientações sobre como criar e consultar listas de observação para melhorar as suas operações de segurança.

Use listas de vigilância nas suas consultas de pesquisa, regras de deteção, caça a ameaças e manuais de resposta. As listas de observação são armazenadas no seu espaço de trabalho do Microsoft Sentinel na tabela Watchlist, como pares nome-valor, e mantidas em cache para um desempenho ideal nas consultas.

Importante

As funcionalidades para modelos de lista de observação e a capacidade de criar uma lista de observação a partir de um ficheiro no Armazenamento Azure estão atualmente em PRÉ-VISUALIZAÇÃO. Os Termos Suplementares de Pré-visualização do Azure incluem termos legais adicionais que se aplicam a funcionalidades Azure que estão em beta, pré-visualização ou que ainda não foram lançadas para disponibilidade geral.

Quando utilizar listas de observação

Utilize listas de observação nestes cenários:

  • Investigue ameaças importando endereços IP, hashes de ficheiros e outros dados de ficheiros de valores separados por vírgulas (CSV) e, em seguida, utilize pares nome-valor da lista de observação para associações e filtros em regras de alerta, procura de ameaças, livros, blocos de notas e consultas.

  • Importar dados de negócio como uma lista de observação. Por exemplo, importe listas de utilizadores com acesso privilegiado ao sistema ou listas de funcionários terminados. Em seguida, utilize a lista de observação para criar listas de permissões e listas de bloqueio para detetar ou impedir que esses utilizadores iniciem sessão na rede.

  • Reduza a fadiga causada pelos alertas. Crie listas de permissões para suprimir alertas de um grupo de utilizadores, como utilizadores de endereços IP autorizados que executam tarefas que normalmente acionam o alerta. Impedir que eventos benignos se tornem alertas.

  • Enriqueça os dados do evento com pares nome-valor de fontes de dados externas.

Limitações da lista de observação

Analise as seguintes limitações antes de criar listas de observação:

Limitação Detalhes
Nome da lista de observação e comprimento de alias Os nomes e aliases da lista de observação têm de ter entre 3 e 64 carateres. O primeiro e o último caráter têm de ser alfanuméricos; são permitidos espaços, hífens e sinais de sublinhado entre eles.
Utilização pretendida Utilize listas de observação apenas para dados de referência. As listas de observação não foram concebidas para grandes volumes de dados.
Máximo de itens de lista de observação ativos Pode ter um máximo de 10 milhões de itens de lista de observação ativos em todas as listas de observação numa área de trabalho. Os itens eliminados não contam. Para volumes maiores, utilize registos personalizados.
Retenção de dados Os dados na tabela da Lista de Observação do Log Analytics são retidos durante 28 dias.
Intervalo de atualização As listas de observação são atualizadas a cada 12 dias, atualizando o TimeGenerated campo.
Gestão entre áreas de trabalho A gestão de listas de observação em áreas de trabalho com o Azure Lighthouse não é suportada.
Tamanho do carregamento do ficheiro local Os carregamentos de ficheiros locais estão limitados a ficheiros de até 3,8 MB.
Tamanho do carregamento de ficheiros do Armazenamento do Azure (pré-visualização) Os carregamentos para o Armazenamento do Azure estão limitados a ficheiros com um tamanho máximo de 500 MB.
Restrições de colunas e tabelas As listas de observação devem cumprir as restrições de nomenclatura de entidades da Linguagem de Consulta Kusto (KQL) para colunas e nomes.

Métodos de criação de listas de observação do Microsoft Sentinel

Para criar listas de observação no Microsoft Sentinel, utilize um dos seguintes métodos:

  • Carregue um ficheiro a partir de uma pasta local ou da sua conta Armazenamento do Azure.
  • Descarregue um modelo de lista de observação da Microsoft Sentinel, adicione os seus dados e carregue o ficheiro.

Para criar uma lista de observação a partir de um ficheiro grande (até 500 MB), carregue o ficheiro para a sua conta de armazenamento Azure. Crie um URL de assinatura de acesso partilhado (SAS) para que Microsoft Sentinel possam obter os dados da lista de observação. Um URL de SAS inclui o URI do recurso e o token de SAS para um recurso, como um ficheiro CSV na sua conta de armazenamento. Adicione a lista de observação à área de trabalho no Microsoft Sentinel.

Para mais informações, consulte:

Listas de monitorização em consultas para pesquisas e regras de deteção

Para correlacionar os dados da sua lista de vigilância com outros dados do Microsoft Sentinel, utilize operadores tabulares do Kusto, como join e lookup, com a tabela Watchlist. O Microsoft Sentinel disponibiliza as seguintes funções integradas para o ajudar a consultar listas de observação:

  • _GetWatchlistAlias - devolve os aliases de todas as listas de observação
  • _GetWatchlist - consulta os pares de nome-valor da lista de observação especificada

Quando cria uma lista de observação, define a SearchKey. A chave de pesquisa é o nome de uma coluna na sua lista de observação que espera utilizar como uma associação a outros dados ou como um objeto frequente de pesquisas. Por exemplo, suponha que tem uma lista de observação de servidor que contém nomes de país/região e os respetivos códigos de país de duas letras. Espera utilizar frequentemente os códigos de país/região para pesquisas ou associações. Por isso, utilize a coluna country code como a chave de pesquisa.

Heartbeat
| lookup kind=leftouter _GetWatchlist('mywatchlist') 
  on $left.RemoteIPCountry == $right.SearchKey

Vejamos outras consultas de exemplo.

Suponha que pretende utilizar uma lista de observação numa regra de análise. Crie uma lista de observação chamada ipwatchlist com colunas para IPAddress e Location. Definiu IPAddress como SearchKey.

IPAddress,Location
10.0.100.11,Home
172.16.107.23,Work
10.0.150.39,Home
172.20.32.117,Work

Para incluir apenas eventos de endereços IP da lista de monitorização, poderá utilizar uma consulta em que watchlist é utilizado como variável ou em linha.

Esta consulta de exemplo utiliza a lista de observação como uma variável:

  //Watchlist as a variable
  let watchlist = (_GetWatchlist('ipwatchlist') | project IPAddress);
  Heartbeat
  | where ComputerIP in (watchlist)

Esta consulta de exemplo utiliza a lista de observação em linha na consulta e a chave de pesquisa definida para a lista de observação.

  //Watchlist inline with the query
  //Use SearchKey for the best performance
  Heartbeat
  | where ComputerIP in ( 
      (_GetWatchlist('ipwatchlist')
      | project SearchKey)
  )

Para mais informações sobre a criação de consultas e regras de deteção com listas de observação, consulte Criar consultas e regras de deteção com listas de observação no Microsoft Sentinel e, para os operadores e instruções Kusto, consulte os seguintes artigos:

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

Outros recursos:

Resolução de problemas com listas de observação durante incidentes e problemas de consulta

Problemas com o portal de resolução de problemas ou disponibilidade da API

Se a página de Listas de Observação estiver em branco, for sendo atualizada repetidamente, ou as operações da lista de observação devolverem 502 Bad Gateway ou outras respostas 5XX, determine primeiro se é provável que o problema seja do serviço antes de alterar a configuração da lista de observação.

Utilize os seguintes controlos:

  • Confirme se o problema afeta todas as listas de vigilância ou múltiplas listas de observação.

  • Confirme se o problema afeta vários utilizadores.

  • Confirme se o problema afeta tanto o portal do Azure como as operações de automação ou baseadas em API.

  • Valide se os dados da lista de vigilância ainda são consultáveis a partir dos Logs:

    _GetWatchlistAlias
    

    Se souber o pseudónimo da lista de observação, teste também:

    _GetWatchlist('watchlist-alias')
    | take 10
    
  • Verifique o Azure Service Health e as comunicações ativas de incidentes para impacto relacionado com o Microsoft Sentinel.

  • Evite tentativas repetidas de apagar e recriar enquanto o incidente está ativo. Uma falha de portal ou API não indica necessariamente perda de dados de lista de vigilância.

  • Considere um portal ou uma lista de observação em branco, ou operações de criar, ler, atualizar e eliminar (CRUD) que devolvam 502 ou outros erros 5XX em vários utilizadores ou áreas de trabalho, como um potencial incidente do serviço até excluir a hipótese de um impacto mais alargado na plataforma.

  • Se um fluxo de trabalho do Logic Apps que chama operações de watchlist começar a devolver 502 Bad Gateway ou falhas transitórias semelhantes, valide o estado de funcionamento do serviço Microsoft Sentinel antes de assumir que o problema é causado por permissões do conector ou pela configuração do fluxo de trabalho. As falhas de automatização podem manifestar-se sob a forma de erros genéricos de acesso ou de porta de ligação durante um incidente no serviço de lista de vigilância, mesmo quando a identidade do fluxo de trabalho e a respetiva configuração permanecem inalteradas.

Durante um incidente de serviço, a validação inicial mais segura é confirmar se as listas de vigilância ainda são consultáveis. Se o acesso à consulta também falhar, capture o carimbo temporal, a operação e o código de estado HTTP antes de abrir um pedido de suporte.

Compreender o comportamento de retenção e atualização

O valor de retenção de 28 dias não significa que uma lista de vigilância se torne inutilizável após 28 dias.

As listas de observação permanecem disponíveis até serem eliminadas. O valor de retenção aplica-se a registos na tabela de watchlist subjacente do Log Analytics, enquanto o serviço de watchlist atualiza os dados de watchlist de forma recorrente. Como a lista de observação é atualizada regularmente, continua a ser consultada ao longo do tempo, a menos que a apague ou outro problema afete a disponibilidade.

Esta distinção é importante quando planeia análises a longo prazo ou valida se uma lista de observação deve continuar a aparecer nos resultados das consultas.

Resolver problemas de listas de observação que apresentam zero linhas após a sua criação

Se uma lista de vigilância for criada com sucesso, mas o portal ou _GetWatchlist() não devolver quaisquer linhas, verifique as restrições de ingestão do espaço de trabalho durante a resolução de problemas.

  • Confirme que a lista de observação foi criada no espaço de trabalho esperado.

  • Consulte a lista de observação por pseudónimo:

    _GetWatchlist('watchlist-alias')
    | take 10
    
  • Revise a configuração do espaço de trabalho do Log Analytics para os limites de ingestão, incluindo o limite diário.

  • Se o espaço de trabalho atingiu o limite diário, permita que a ingestão seja retomada e, em seguida, valide novamente a lista de observação.

Um resultado sem linhas nem sempre indica que a definição da lista de observação esteja em falta. Os limites do espaço de trabalho relativos à ingestão podem afetar o momento em que os dados da lista de observação se tornam visíveis no espaço de trabalho.

Resolver problemas do plano de gestão e da divergência no comportamento das consultas

O acesso à consulta e o acesso à gestão podem comportar-se de forma diferente durante um problema de serviço transitório.

Em alguns casos, ainda pode consultar listas de observação com _GetWatchlistAlias ou _GetWatchlist() mesmo quando a experiência do portal, operações de edição ou outras ações no plano de gestão estão temporariamente indisponíveis. Se os resultados da consulta forem devolvidos mas o portal estiver em branco ou as atualizações da lista de vigilância falharem, valide a saúde do serviço antes de assumir que a lista de observação foi eliminada ou que o seu esquema foi alterado.

Uma consulta KQL bem-sucedida indica que os dados da lista de observação podem continuar disponíveis no espaço de trabalho mesmo que a experiência de gestão esteja degradada.

Resolução de problemas de resultados de consultas vazias ou parciais

Importante

Os resultados das consultas da lista de observação podem ser afetados pelo intervalo de tempo da consulta e pelos filtros aplicados na consulta circundante.

As listas de observação são atualizadas a intervalos recorrentes, e as funções de consulta retornam o estado atual da lista de observação a partir dos dados subjacentes da lista de observação. Se aplicar um intervalo global de data e hora restrito ou outros filtros restritivos durante a resolução de problemas, a consulta pode excluir os registos necessários para devolver os conteúdos esperados da lista de observação. Nesse caso, _GetWatchlist() pode parecer devolver resultados vazios ou parciais, mesmo que a lista de observação ainda exista.

Quando resolve problemas de resultados vazios inesperados:

  • Confirma que estás a consultar o alias correto da lista de vigilância.
  • Remover ou alargar o âmbito temporal ao nível da consulta.
  • Reexecute a consulta e compare os resultados.

Para cenários que dependem do âmbito temporal ao nível da consulta, utilize um intervalo de tempo suficientemente alargado para incluir o ciclo de atualização da lista de vigilância.