Fråga efter data med Kusto Query Language

Slutförd

Du kan använda Kusto-frågespråk (KQL) i Microsoft Sentinel för att söka efter och filtrera insamlade data.

Kusto Query Language

Med KQL kan du skapa, lagra och köra interaktiva analyser på insamlade data. Microsoft Sentinel använder KQL för att visualisera och analysera viktiga data. Du kan använda KQL för att skapa komplexa analysfrågor som innehåller några av följande operatorer:

  • Beräknade kolumner
  • Kopplade funktioner
  • Gruppera efter aggregeringar

Skriva och köra grundläggande frågor

En fråga är en skrivskyddad begäran som bearbetar data och returnerar resultatet av bearbetningen utan att ändra datan eller metadatan. I KQL-frågor används schemaenheter som är ordnade i en hierarki som liknar SQL-frågor, exempelvis databaser, tabeller och kolumner. Ett schema är en samling tabeller som är grupperade i logiska kategorier. Frågorna består av sekvenser av frågeuttryck som avgränsas med ett semikolon (;).

När du skapar en fråga börjar du med antingen ett tabellnamn eller ett sökkommando. Följande fråga hämtar till exempel alla poster från Event tabellen:

Event

Du kan använda vertikalstrecket (|) för att avgränsa kommandon. Utdatan från det första kommandot blir indata för nästa kommando. Du kan lägga till ett valfritt antal kommandon i en enskild fråga. Följande fråga hämtar posterna Event från tabellen och söker sedan efter termen error i valfri egenskap:

Event

| search error

Du kan skapa frågan med tabell- och skaläroperatorer som KQL kombinerar till flera tabellbaserade uttrycksinstruktioner, som producerar resultatet av frågan.

source1 | operator1 | operator2

I följande exempel är AzureActivitykällan . Den första operatorn är where, som filtrerar bort poster baserat på det logiska uttrycket. Den andra operatorn är igen where:

AzureActivity

| where OperationName == 'Delete Virtual Machine'
| where ActivityStatus == 'Accepted'

Som standard begränsar Log Analytics frågorna till ett tidsintervall under de senaste 24 timmarna. Om du vill ange ett annat tidsintervall kan du lägga till ett explicit TimeGenerated filter i frågan eller använda Time range kontrollen. Följande fråga returnerar till exempel data från den föregående timmen:


AzureActivity

| where OperationName == 'Delete Virtual Machine'
| where ActivityStatus == 'Accepted'
| where TimeGenerated > ago (1h)

Du kan kombinera dina frågor med några av de vanligaste operatorerna:

  • count. Returnerar antalet rader i tabellen.
  • take. Returnerar upp till det angivna antalet raderna med data.
  • project. Väljer en delmängd av kolumnerna.
  • sort. Sorterar raderna i indatatabellen i ordning efter en eller flera kolumner.
  • top. Returnerar de första N-posterna, sorterade efter de angivna kolumnerna.
  • extend. Beräknar härledda kolumner.
  • summarize. Aggregerar grupper med rader.
  • render. Renderar resultat som grafiska utdata.

Om du vill kombinera poster från två källor (tabeller) kan du använda operatorn join . Operatorn union kombinerar två eller flera tabeller till en.

Mer information finns i Microsofts Log Analytics-självstudie som använder funktioner i Log Analytics till att skapa och köra en fråga, i stället för att arbeta med själva frågan.

Du kan också använda Azure Data Explorer-självstudien för att lära dig mer om KQL.

Kommentar

Microsoft Sentinel Log Analytics stöder inte all KQL-syntax som används i Azure Data Explorer.

Microsoft Sentinel-lagringsplats på GitHub

Du kan också använda Microsoft Sentinel-lagringsplatsen på GitHub för att söka efter specialiserade frågor och arbetsböcker för att skydda din miljö och söka efter hot. Följande fråga från Microsoft Sentinel GitHub-lagringsplatsen visar till exempel misstänkt delegering av behörigheter till användarkonton.

let timeframe = 7d;
AzureActivity
| where TimeGenerated >= ago(timeframe)
| where OperationName == "Create role assignment"
| where ActivityStatus == "Succeeded"
| project Caller, CallerIpAddress
| evaluate basket()
| extend AccountCustomEntity = Caller, IPCustomEntity = CallerIpAddress

Frågan analyserar IP-adressen som administratören beviljar åtkomst från till andra användare av Azure-resurser. Om en åtgärd inte kommer från en giltig IP-adress signalerar frågan misstänkt aktivitet, vilket du kan undersöka ytterligare.

Om du vill testa några exempel kan du använda demonstrationsmiljön i Azure-portalen.

Testa dina kunskaper

1.

Vilket av följande verktyg kan en administratör använda för att fråga efter data i Microsoft Sentinel?

2.

Vilket av följande tecken kan användas av en administratör för att avgränsa kommandona i frågan?