Kusto Sorgu Dilini kullanarak verileri sorgulama
- 5 dakika
Toplanan verileri aramak ve filtrelemek için Microsoft Sentinel'de Kusto Sorgu Dili'ni (KQL) kullanabilirsiniz.
Kusto Sorgu Dili
KQL, toplanan veriler üzerinde etkileşimli analiz oluşturma, depolama ve çalıştırma olanağı sağlar. Microsoft Sentinel, önemli verileri görselleştirmek ve analiz etmek için KQL kullanır. Aşağıdaki işleçlerden bazılarını içeren karmaşık analitik sorgular oluşturmak için KQL kullanabilirsiniz:
- Hesaplanmış sütunlar
- Birleştirme işlevleri
- Toplamalara göre gruplandırma
Temel sorguları yazma ve çalıştırma
Sorgu, verileri işleyen ve verileri veya meta verileri değiştirmeden bu işlemin sonuçlarını döndüren salt okunur bir istektir. SQL sorgularına benzer şekilde, KQL sorguları veritabanları, tablolar ve sütunlar gibi bir hiyerarşide düzenlenmiş şema varlıklarını kullanır. Şema, mantıksal kategoriler altında gruplandırılmış bir tablo koleksiyonudur. Sorgular, noktalı virgülle (;)) sınırlandırılmış sorgu deyimlerinin dizilerinden oluşur.
Sorgu oluşturduğunuzda, bir tablo adı veya arama komutuyla başlarsınız. Örneğin, aşağıdaki sorgu tablodan Event tüm kayıtları alır:
Event
Komutları ayırmak için kanal (|) karakterini kullanabilirsiniz. İlk komutun çıkışı, sonraki komutun girişi olur. Tek bir sorguya istediğiniz sayıda komut ekleyebilirsiniz. Aşağıdaki sorgu, tablodan kayıtları Event alır ve ardından herhangi bir özellikte terimi error arar:
Event
| search error
Sorguyu, KQL'nin sorgunun sonuçlarını üreten birden çok tablosal ifade deyiminde birleştirdiği tablosal ve skaler işleçlerle oluşturabilirsiniz.
source1 | operator1 | operator2
Aşağıdaki örnekte, kaynak şeklindedir AzureActivity. İlk işleç, mantıksal ifadeye göre kayıtları filtreleyen şeklindedir where. İkinci işleç yeniden where:
AzureActivity
| where OperationName == 'Delete Virtual Machine'
| where ActivityStatus == 'Accepted'
Log Analytics varsayılan olarak sorguları son 24 saat içinde bir zaman aralığıyla sınırlar. Farklı bir zaman aralığı ayarlamak için sorguya açık TimeGenerated bir filtre ekleyebilir veya denetimi kullanabilirsiniz Time range . Örneğin, aşağıdaki sorgu önceki saate ait verileri döndürür:
AzureActivity
| where OperationName == 'Delete Virtual Machine'
| where ActivityStatus == 'Accepted'
| where TimeGenerated > ago (1h)
Sorgularınızı en sık kullanılan işleçlerden bazılarıyla birleştirebilirsiniz:
-
count. Tablodaki satırların sayısını döndürür. -
take. Belirtilen sayıda veri satırı döndürür. -
project. Sütunların bir alt kümesini seçer. -
sort. Giriş tablosunun satırlarını bir veya iki sütuna göre sıralar. -
top. Belirtilen sütunlara göre sıralanmış ilk N kaydı döndürür. -
extend. Türetilmiş sütunları hesaplar. -
summarize. Satır gruplarını toplar. -
render. Sonuçları grafik çıktı olarak işler.
İki kaynaktan (tablo) kayıtları birleştirmek için işlecini join kullanabilirsiniz. işleci, union iki veya daha fazla tabloyu tek bir tabloda birleştirir.
Daha fazla bilgi için, sorgunun kendisiyle çalışmak yerine bir sorgu oluşturmak ve çalıştırmak için Log Analytics özelliklerini kullanan Microsoft Log Analytics öğreticisine bakın.
KQL hakkında bilgi edinmek için Azure Veri Gezgini öğreticisini de kullanabilirsiniz.
Uyarı
Microsoft Sentinel Log Analytics, Azure Veri Gezgini'nde kullanılan tüm KQL söz dizimini desteklemez.
GitHub'daki Microsoft Sentinel deposu
Ortamınızın güvenliğini sağlamaya ve tehditleri avlamaya yardımcı olmak üzere özel sorgular ve çalışma kitapları aramak için GitHub'daki Microsoft Sentinel deposunu da kullanabilirsiniz. Örneğin, Microsoft Sentinel GitHub deposundaki aşağıdaki sorgu, kullanıcı hesaplarına izinlerin şüpheli temsilini görüntüler.
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
Sorgu, yöneticinin azure kaynaklarına diğer kullanıcılara erişim iznini aldığı IP adresini analiz eder. İşlem geçerli bir IP adresinden değilse sorgu şüpheli etkinliğin sinyalini verir ve bunu daha fazla araştırabilirsiniz.
Bazı örnekleri denemek istiyorsanız Azure portalındaki tanıtım ortamını kullanın.