Inspekcja zapytań i działań usługi Microsoft Sentinel
W tym artykule opisano sposób wyświetlania danych inspekcji dla przebiegów zapytań i działań wykonywanych w obszarze roboczym usługi Microsoft Sentinel, takich jak wymagania dotyczące zgodności wewnętrznej i zewnętrznej w obszarze roboczym Operacje zabezpieczeń (SOC).
Usługa Microsoft Sentinel zapewnia dostęp do:
Tabela AzureActivity zawierająca szczegółowe informacje o wszystkich akcjach wykonywanych w usłudze Microsoft Sentinel, takich jak edytowanie reguł alertów. Tabela AzureActivity nie rejestruje określonych danych zapytań. Aby uzyskać więcej informacji, zobacz Inspekcja za pomocą dzienników aktywności platformy Azure.
Tabela LAQueryLogs, która zawiera szczegółowe informacje na temat zapytań uruchamianych w usłudze Log Analytics, w tym zapytań uruchamianych z usługi Microsoft Sentinel. Aby uzyskać więcej informacji, zobacz Auditing with LAQueryLogs (Inspekcja za pomocą biblioteki LAQueryLogs).
Napiwek
Oprócz ręcznych zapytań opisanych w tym artykule zalecamy użycie wbudowanego skoroszytu inspekcji obszaru roboczego, który ułatwia przeprowadzanie inspekcji działań w środowisku SOC. Aby uzyskać więcej informacji, zobacz Wizualizowanie i monitorowanie danych przy użyciu skoroszytów w usłudze Microsoft Sentinel.
Wymagania wstępne
Aby pomyślnie uruchomić przykładowe zapytania w tym artykule, musisz mieć odpowiednie dane w obszarze roboczym usługi Microsoft Sentinel, aby wykonywać zapytania dotyczące usługi Microsoft Sentinel i uzyskiwać do tego dostępu.
Aby uzyskać więcej informacji, zobacz Konfigurowanie zawartości i ról i uprawnień usługi Microsoft Sentinel w usłudze Microsoft Sentinel.
Inspekcja przy użyciu dzienników aktywności platformy Azure
Dzienniki inspekcji usługi Microsoft Sentinel są przechowywane w dziennikach aktywności platformy Azure, gdzie tabela AzureActivity zawiera wszystkie akcje wykonywane w obszarze roboczym usługi Microsoft Sentinel.
Użyj tabeli AzureActivity podczas inspekcji działań w środowisku SOC za pomocą usługi Microsoft Sentinel.
Aby wysłać zapytanie do tabeli AzureActivity:
Zainstaluj rozwiązanie Azure Activity dla usługi Sentinel i połącz łącznik danych aktywności platformy Azure, aby rozpocząć przesyłanie strumieniowe zdarzeń inspekcji do nowej tabeli o nazwie
AzureActivity
.Wykonaj zapytanie dotyczące danych przy użyciu język zapytań Kusto (KQL), tak jak w przypadku dowolnej innej tabeli:
- W witrynie Azure Portal wykonaj zapytanie dotyczące tej tabeli na stronie Dzienniki .
- Na ujednoliconej platformie operacji zabezpieczeń firmy Microsoft wykonaj zapytanie względem tej tabeli na stronie Zaawansowane wyszukiwanie >zagrożeń dla badania i wyszukiwania odpowiedzi>.
Tabela AzureActivity zawiera dane z wielu usług, w tym Microsoft Sentinel. Aby filtrować tylko dane z usługi Microsoft Sentinel, uruchom zapytanie przy użyciu następującego kodu:
AzureActivity | where OperationNameValue startswith "MICROSOFT.SECURITYINSIGHTS"
Aby na przykład dowiedzieć się, kto był ostatnim użytkownikiem do edytowania określonej reguły analizy, użyj następującego zapytania (zastępując
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
element identyfikatorem reguły reguły, którą chcesz sprawdzić):AzureActivity | where OperationNameValue startswith "MICROSOFT.SECURITYINSIGHTS/ALERTRULES/WRITE" | where Properties contains "alertRules/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" | project Caller , TimeGenerated , Properties
Dodaj więcej parametrów do zapytania, aby dokładniej zapoznać się z tabelą AzureActivities , w zależności od tego, co należy zgłosić. W poniższych sekcjach przedstawiono inne przykładowe zapytania do użycia podczas inspekcji z danymi tabeli AzureActivity .
Aby uzyskać więcej informacji, zobacz Dane usługi Microsoft Sentinel zawarte w dziennikach aktywności platformy Azure.
Znajdź wszystkie akcje podjęte przez określonego użytkownika w ciągu ostatnich 24 godzin
Poniższe zapytanie tabeli AzureActivity zawiera listę wszystkich akcji podjętych przez określonego użytkownika microsoft Entra w ciągu ostatnich 24 godzin.
AzureActivity
| where OperationNameValue contains "SecurityInsights"
| where Caller == "[AzureAD username]"
| where TimeGenerated > ago(1d)
Znajdowanie wszystkich operacji usuwania
Poniższe zapytanie tabeli AzureActivity zawiera listę wszystkich operacji usuwania wykonywanych w obszarze roboczym usługi Microsoft Sentinel.
AzureActivity
| where OperationNameValue contains "SecurityInsights"
| where OperationName contains "Delete"
| where ActivityStatusValue contains "Succeeded"
| project TimeGenerated, Caller, OperationName
Dane usługi Microsoft Sentinel zawarte w dziennikach aktywności platformy Azure
Dzienniki inspekcji usługi Microsoft Sentinel są przechowywane w dziennikach aktywności platformy Azure i zawierają następujące typy informacji:
Operacja | Typy informacji |
---|---|
Tworzone | Reguły alertów Komentarze do sprawy Komentarze dotyczące zdarzeń Zapisane wyszukiwania Listy do obejrzenia Skoroszyty |
Usunięto | Reguły alertów Zakładki Łączniki danych Incydentów Zapisane wyszukiwania Ustawienia Raporty analizy zagrożeń Listy do obejrzenia Skoroszytów Przepływ pracy |
Zaktualizowana | Zasady alertów Zakładki Przypadkach Łączniki danych Incydentów Komentarze dotyczące zdarzeń Raporty analizy zagrożeń Skoroszytów Przepływ pracy |
Możesz również użyć dzienników aktywności platformy Azure, aby sprawdzić autoryzacje i licencje użytkowników. Na przykład poniższa tabela zawiera listę wybranych operacji znalezionych w dziennikach aktywności platformy Azure z określonym zasobem, z którym są pobierane dane dziennika.
Nazwa operacji | Typ zasobu |
---|---|
Tworzenie lub aktualizowanie skoroszytu | Microsoft.Insights/skoroszyty |
Usuwanie skoroszytu | Microsoft.Insights/skoroszyty |
Ustawianie przepływu pracy | Microsoft.Logic/workflows |
Usuwanie przepływu pracy | Microsoft.Logic/workflows |
Tworzenie zapisanego wyszukiwania | Microsoft.OperationalInsights/workspaces/savedSearches |
Usuwanie zapisanego wyszukiwania | Microsoft.OperationalInsights/workspaces/savedSearches |
Aktualizowanie reguł alertów | Microsoft.SecurityInsights/alertRules |
Usuwanie reguł alertów | Microsoft.SecurityInsights/alertRules |
Aktualizowanie akcji odpowiedzi reguły alertu | Microsoft.SecurityInsights/alertRules/actions |
Usuwanie akcji odpowiedzi reguły alertu | Microsoft.SecurityInsights/alertRules/actions |
Aktualizowanie zakładek | Microsoft.SecurityInsights/zakładki |
Usuwanie zakładek | Microsoft.SecurityInsights/zakładki |
Przypadki aktualizacji | Microsoft.SecurityInsights/Sprawy |
Badanie przypadku aktualizacji | Microsoft.SecurityInsights/Sprawy/badania |
Tworzenie komentarzy przypadków | Microsoft.SecurityInsights/Sprawy/komentarze |
Aktualizowanie łączników danych | Microsoft.SecurityInsights/dataConnectors |
Usuwanie łączników danych | Microsoft.SecurityInsights/dataConnectors |
Aktualizowanie ustawień | Microsoft.SecurityInsights/settings |
Aby uzyskać więcej informacji, zobacz Schemat zdarzeń dziennika aktywności platformy Azure.
Inspekcja za pomocą dzienników LAQueryLogs
Tabela LAQueryLogs zawiera szczegółowe informacje o zapytaniach dzienników uruchamianych w usłudze Log Analytics. Ponieważ usługa Log Analytics jest używana jako bazowy magazyn danych usługi Microsoft Sentinel, możesz skonfigurować system do zbierania danych LAQueryLogs w obszarze roboczym usługi Microsoft Sentinel.
Dane LAQueryLogs obejmują takie informacje jak:
- Po uruchomieniu zapytań
- Kto uruchamiał zapytania w usłudze Log Analytics
- Jakiego narzędzia użyto do uruchamiania zapytań w usłudze Log Analytics, takich jak Microsoft Sentinel
- Same teksty zapytań
- Dane wydajności każdego uruchomienia zapytania
Uwaga
Tabela LAQueryLogs zawiera tylko zapytania, które zostały uruchomione w bloku Dzienniki usługi Microsoft Sentinel. Nie obejmuje ona zapytań uruchamianych według zaplanowanych reguł analizy, przy użyciu wykresu badania, na stronie wyszukiwania zagrożeń usługi Microsoft Sentinel lub na stronie Zaawansowane wyszukiwanie zagrożeń w portalu Defender.
Może wystąpić krótkie opóźnienie między uruchomieniem zapytania a wypełnieniem danych w tabeli LAQueryLogs . Zalecamy odczekanie około 5 minut, aby wysłać zapytanie do tabeli LAQueryLogs na potrzeby danych inspekcji.
Aby wysłać zapytanie do tabeli LAQueryLogs:
Tabela LAQueryLogs nie jest domyślnie włączona w obszarze roboczym usługi Log Analytics. Aby użyć danych LAQueryLogs podczas inspekcji w usłudze Microsoft Sentinel, najpierw włącz dzienniki LAQueryLogs w obszarze ustawień diagnostyki obszaru roboczego usługi Log Analytics.
Aby uzyskać więcej informacji, zobacz Inspekcja zapytań w dziennikach usługi Azure Monitor.
Następnie wykonaj zapytanie dotyczące danych przy użyciu języka KQL, tak jak w przypadku każdej innej tabeli.
Na przykład następujące zapytanie pokazuje, ile zapytań zostało uruchomionych w ciągu ostatniego tygodnia, na podstawie dnia:
LAQueryLogs | where TimeGenerated > ago(7d) | summarize events_count=count() by bin(TimeGenerated, 1d)
W poniższych sekcjach przedstawiono więcej przykładowych zapytań do uruchomienia w tabeli LAQueryLogs podczas inspekcji działań w środowisku SOC przy użyciu usługi Microsoft Sentinel.
Liczba uruchomionych zapytań, w których odpowiedź nie była "OK"
Poniższe zapytanie tabeli LAQueryLogs pokazuje liczbę uruchomionych zapytań, gdzie odebrano wszystkie inne elementy niż odpowiedź HTTP 200 OK . Na przykład ta liczba obejmuje zapytania, które nie powiodły się.
LAQueryLogs
| where ResponseCode != 200
| count
Pokaż użytkowników na potrzeby zapytań intensywnie korzystających z procesora CPU
Poniższe zapytanie tabeli LAQueryLogs zawiera listę użytkowników, którzy uruchamiali najwięcej zapytań intensywnie korzystających z procesora CPU, na podstawie używanego procesora CPU i długości czasu zapytania.
LAQueryLogs
|summarize arg_max(StatsCPUTimeMs, *) by AADClientId
| extend User = AADEmail, QueryRunTime = StatsCPUTimeMs
| project User, QueryRunTime, QueryText
| order by QueryRunTime desc
Pokaż użytkowników, którzy uruchamiali większość zapytań w ciągu ostatniego tygodnia
Poniższe zapytanie tabeli LAQueryLogs zawiera listę użytkowników, którzy uruchamiali większość zapytań w zeszłym tygodniu.
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
Konfigurowanie alertów dla działań usługi Microsoft Sentinel
W celu utworzenia proaktywnych alertów warto użyć zasobów inspekcji usługi Microsoft Sentinel.
Jeśli na przykład masz poufne tabele w obszarze roboczym usługi Microsoft Sentinel, użyj następującego zapytania, aby powiadomić Cię za każdym razem, gdy te tabele są wysyłane do ciebie:
LAQueryLogs
| where QueryText contains "[Name of sensitive table]"
| where TimeGenerated > ago(1d)
| extend User = AADEmail, Query = QueryText
| project User, Query
Monitorowanie usługi Microsoft Sentinel przy użyciu skoroszytów, reguł i podręczników
Korzystanie z własnych funkcji usługi Microsoft Sentinel do monitorowania zdarzeń i akcji występujących w usłudze Microsoft Sentinel.
Monitorowanie za pomocą skoroszytów. Kilka wbudowanych skoroszytów usługi Microsoft Sentinel może pomóc w monitorowaniu aktywności obszaru roboczego, w tym informacji o użytkownikach pracujących w obszarze roboczym, używanych regułach analitycznych, najbardziej omówionych taktykach MITRE, zatrzymaniu lub zatrzymaniu pozyskiwania oraz wydajności zespołu SOC.
Aby uzyskać więcej informacji, zobacz Wizualizowanie i monitorowanie danych przy użyciu skoroszytów w usłudze Microsoft Sentinel i często używanych skoroszytów usługi Microsoft Sentinel
Obserwuj opóźnienie pozyskiwania. Jeśli masz obawy dotyczące opóźnienia pozyskiwania, ustaw zmienną w regule analizy, aby reprezentować opóźnienie.
Na przykład następująca reguła analizy może pomóc w zapewnieniu, że wyniki nie zawierają duplikatów i że dzienniki nie są pomijane podczas uruchamiania reguł:
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
Aby uzyskać więcej informacji, zobacz Automatyzowanie obsługi zdarzeń w usłudze Microsoft Sentinel przy użyciu reguł automatyzacji.
Monitorowanie kondycji łącznika danych przy użyciu podręcznika Rozwiązania powiadomień wypychanych o kondycji łącznika w celu obserwowanego wstrzymania lub zatrzymania pozyskiwania oraz wysyłania powiadomień, gdy łącznik przestał zbierać dane lub maszyny przestały zgłaszać.
Następny krok
W usłudze Microsoft Sentinel użyj skoroszytu inspekcji obszaru roboczego, aby przeprowadzić inspekcję działań w środowisku SOC. Aby uzyskać więcej informacji, zobacz Wizualizowanie i monitorowanie danych.