Integrowanie dzienników z obszarem roboczym usługi Log Analytics

Ukończone

Możesz użyć zaawansowanego rejestrowania na platformie Azure, aby zobaczyć użytkowników, którzy zalogowali się do sieci i zobaczyć, co zrobili użytkownicy podczas logowania się do sieci.

Pokazano, jak uzyskać dostęp do dzienników logowania i inspekcji oraz jak za pomocą dzienników można wyszukiwać nieoczekiwane zachowanie użytkownika. Uzyskanie dostępu do tych danych jest ważnym pierwszym krokiem w zakresie ochrony sieci i jej zasobów. Zbieranie i przetwarzanie plików dziennika logowania i aktywności może być pracochłonne. Ten proces może identyfikować podejrzane zachowanie użytkownika po zdarzeniu, ale nadal nie spełnia potrzeby zespołu ds. zabezpieczeń dla widoku zachowania w czasie rzeczywistym.

Usługa Azure Monitor umożliwia wyświetlanie widoków w czasie rzeczywistym i zgłaszanie alertów do potrzeb zespołu ds. zabezpieczeń. Obszar roboczy usługi Log Analytics dla usługi Azure Monitor umożliwia przechowywanie, przechowywanie i wizualizowanie danych logowania i dziennika aktywności. Aby uspokoić zespół ds. zabezpieczeń w organizacji, chcesz dowiedzieć się więcej o usłudze Azure Monitor i sposobie używania go do identyfikowania podejrzanego zachowania logowania.

W tej lekcji opisano sposób konfigurowania obszaru roboczego usługi Log Analytics dla usługi Azure Monitor. Następnie dowiesz się, jak wysyłać pliki dziennika do obszaru roboczego usługi Log Analytics. Na koniec dowiesz się, jak tworzyć alerty w celu powiadamiania o podejrzanym zachowaniu lub aktywności użytkownika. W późniejszym ćwiczeniu możesz spróbować samodzielnie.

Wymagania wstępne

Aby użyć obszaru roboczego usługi Log Analytics do wyświetlania i analizowania dzienników firmy Microsoft Entra, upewnij się, że masz dostępne lub skonfigurowane następujące elementy:

  • Dostęp do obszaru roboczego usługi Log Analytics.
  • Dostęp do dzienników firmy Microsoft Entra.
  • Dostęp do ustawień diagnostyki entra firmy Microsoft.
  • Subskrypcja Microsoft Entra ID P1 lub P2 lub Premium 2.
  • Dowolna z następujących ról firmy Microsoft Entra:
    • Administrator zabezpieczeń
    • Czytelnik zabezpieczeń
    • Czytelnik raportów
    • Globalny administrator usługi

Tworzenie obszaru roboczego usługi Log Analytics

Wiesz, że platforma Azure zbiera dane użytkownika w postaci plików dziennika logowania i inspekcji, ale nie można zaimportować danych bezpośrednio do usługi Azure Monitor. Najpierw należy zebrać dane dziennika w obszarze roboczym usługi Log Analytics. Każdy obszar roboczy usługi Log Analytics jest unikatowy i ma własne repozytorium danych i konfigurację. Po skonfigurowaniu obszaru roboczego można analizować dane przy użyciu funkcji przeszukiwania dzienników i zapytań opartych na tabelach.

Tworzenie obszaru roboczego usługi Log Analytics jest proste. W witrynie Azure Portal wyszukaj usługę Log Analytics , aby utworzyć nowy zasób obszaru roboczego usługi Log Analytics.

Screenshot of Log Analytics search results to demonstrate the concept.

Podczas tworzenia nowego obszaru roboczego usługi Log Analytics wybierz lub wprowadź szczegóły obszaru roboczego. Pamiętaj, aby utworzyć nowy obszar roboczy, ponieważ obszar roboczy jest unikatowy dla użytkownika, który jest obecnie zalogowany. Każdy obszar roboczy musi mieć nazwę, która jest globalnie unikatowa wśród subskrypcji usługi Azure Monitor. Opcjonalnie możesz utworzyć tagi do użycia dla obszaru roboczego.

Warstwa cenowa jest automatycznie przypisywana jako płatność zgodnie z rzeczywistym użyciem i jest oparta na kosztach za gigabajt (GB).

Screenshot of Log Analytics workspace setup pane.

Po utworzeniu obszaru roboczego usługi Log Analytics możesz zbierać dane inspekcji i logowania użytkowników oraz wykonywać analizy na ich podstawie.

Rozmiary magazynu dla dzienników aktywności

Ważne jest zrozumienie, ile miejsca może zużywać obszar roboczy. Typowy dziennik zdarzeń logowania ma rozmiar około 4 kilobajtów (KB), a dziennik inspekcji około 2 KB.

Jeśli dzierżawa ma 1000 użytkowników, dziennik inspekcji wygeneruje około 15 000 zdarzeń każdego dnia. Dzienny wolumin magazynu wynosi około 30 megabajtów (MB) dziennie lub 900 MB miesięcznie. W przypadku dzienników logowania te liczby są nieco większe. Przy założeniu, że dzierżawa platformy Azure wynosi 1000 użytkowników, dzienniki logowania będą generować 34 800 zdarzeń dziennie, czyli około 140 MB dziennie lub 4 GB magazynu miesięcznie.

Wysyłanie dzienników do obszaru roboczego usługi Log Analytics

Po utworzeniu obszaru roboczego usługi Log Analytics przypiszesz dzienniki inspekcji użytkownika i dzienniki logowania. Wszystkie dane, które mają być używane w dziennikach usługi Azure Monitor, muszą być przechowywane w obszarze roboczym usługi Log Analytics. W witrynie Azure Portal przejdź do wystąpienia usługi Microsoft Entra. Wybierz kartę Monitorowanie , a następnie wybierz pozycję Ustawienia diagnostyki.

Aby utworzyć połączenie między dwoma plikami dziennika i obszarem roboczym usługi Log Analytics, wybierz pozycję Dodaj ustawienie diagnostyczne.

Screenshot that shows how to create a new diagnostic setting.

Wprowadź nazwę do użycia dla ustawienia i wybierz dzienniki, które chcesz wysłać do obszaru roboczego.

Zaznacz opcję Wyślij do usługi Log Analytics, a następnie wskaż lub utwórz obszar roboczy usługi Log Analytics.

Screenshot that shows the concept of creating a new diagnostic setting.

Skonfigurowano proces przesyłania strumieniowego danych służący do wypychania danych inspekcji i logowania do obszaru roboczego usługi Log Analytics. Ponieważ jest to nowa usługa, wyświetlenie wszystkich danych w obszarze roboczym zajmuje około 15 minut.

Analizowanie plików dziennika

Skonfigurowano obszar roboczy usługi Log Analytics na potrzeby odbierania danych dotyczących aktywności użytkowników. Teraz możesz skorzystać z możliwości dzienników usługi Azure Monitor, aby wyświetlić działania podejmowane w środowisku. Dzienniki usługi Azure Monitor umożliwiają wykonywanie zapytań względem danych w celu poznania trendów, znalezienia określonych zdarzeń lub skorelowania wielu źródeł danych.

Schematy danych dziennika

Strumienie danych dla dzienników inspekcji i logowania są przechowywane w obszarze roboczym usługi Log Analytics w dwóch oddzielnych tabelach: AuditLogs i SignInLogs. Każda tabela ma własny schemat, którego można użyć do wykonywania zapytań dotyczących danych.

Pisanie zapytań względem dziennika aktywności

Po umieszczeniu dzienników inspekcji w tabelach obszaru roboczego można teraz uruchamiać względem nich zapytania. Można pisać dwa rodzaje zapytań — oparte na tabelach i oparte na wyszukiwaniu. Struktury schematów opisane w poprzedniej sekcji pokazują wszystkie pola, względem których można wykonywać zapytania.

Używany język zapytań to Kusto, który jest przeznaczony do przetwarzania danych i zwracania zestawu wyników.

Każde zapytanie Kusto jest tworzone zgodnie z typowym wzorcem:

  • Zapytanie zawsze rozpoczyna się od nazwy tabeli, względem której jest uruchamiane zapytanie. W tym przypadku będzie to tabela SignInLogs lub AuditLogs.
  • Poszczególne polecenia są rozdzielane znakami potoku (|) i zwykle zaczynają się od nowego wiersza. W zapytaniu może być wiele potoków.

Jeśli nie określisz konkretnych kolumn, wyświetlony zestaw wyników będzie zawierać wszystkie pola schematu.

Polecenie where jest najczęściej używanym sposobem filtrowania danych w zapytaniu. Podczas pisania warunku na potrzeby filtrowania danych prawidłowe są następujące wyrażenia:

Expression Opis Przykład
== Sprawdzanie równości (z uwzględnieniem wielkości liter) Level == 8
=~ Sprawdzanie równości (bez uwzględniania wielkości liter) EventSourceName =~ "microsoft-windows-security-auditing"
!=, <> Sprawdzanie nierówności (oba wyrażenia są identyczne) Level != 4
and or Wymagane między warunkami Level == 16 or CommandLine != ""

Inne typowe polecenia filtrowania:

Polecenie opis Przykład
take *n* Idealnie nadaje się do małych zestawów wyników. Polecenie take powoduje zwrócenie n wierszy z zestawu wyników w nieokreślonej kolejności. Dzienniki inspekcji | Weź 10
top *n* by *field* To polecenie filtru umożliwia zwrócenie pierwszych n wierszy posortowanych według wymienionego pola. Dzienniki inspekcji | 10 pierwszych według timeGenerated
sort by *field* (desc) Polecenie sort umożliwia posortowanie zestawu wyników. Należy określić pole, które ma być sortowane, a opcjonalnie można też dodać instrukcję desc, aby zastosować malejący wzorzec sortowania. Dzienniki inspekcji | Sortuj według timeGenerated desc
Where pole (wyrażenie) wartość Polecenie filtrowania podmiotu zabezpieczeń. Należy określić pole, wyrażenie i wartość komparatora. Można składać wiele poleceń where, rozdzielając je znakami potoku. Dzienniki inspekcji | where CreatedDateTime >= ago(2d)
project pola Jeśli chcesz, aby w zestawie wyników były wyświetlane tylko określone pola lub kolumny, możesz użyć polecenia project z rozdzielaną przecinkami listą pól. Dzienniki inspekcji | project timeGenerated, OperationName, ResourceGroup, Result

Do kompilowania zapytań można użyć wielu innych poleceń. Aby dowiedzieć się więcej na temat zapytań i filtrów, zobacz odwołania na końcu tego modułu.

Przykładowe zapytania logowania

Załóżmy, że chcesz znać najczęściej używane aplikacje żądane i zalogowane w ciągu ostatniego tygodnia. Zapytanie wyglądałoby następująco:

SigninLogs
| where CreatedDateTime >= ago(7d)
| summarize signInCount = count() by AppDisplayName
| sort by signInCount desc

Jeśli chcesz też zobaczyć, ilu użytkowników zostało oflagowanych jako ryzykownych w ciągu ostatnich 14 dni, użyj następującego zapytania:

SigninLogs
| where CreatedDateTime >= ago(14d)
| where isRisky = true

Przykładowe zapytanie inspekcji

Teraz załóżmy, że chcesz poznać najbardziej typowe zdarzenie użytkownika z ostatniego tygodnia. Użyj zapytania w następujący sposób:

AuditLogs
| where TimeGenerated >= ago(7d)
| summarize auditCount = count() by OperationName
| sort by auditCount desc

Używanie istniejących skoroszytów lub szablonów w obszarze roboczym usługi Log Analytics

Istniejące skoroszyty umożliwiają wyświetlanie typowych widoków danych inspekcji i logowania. Jeśli nie znajdziesz skoroszytu, który robi to, czego potrzebujesz, możesz rozpocząć od szablonu i zmodyfikować zapytanie.

W obszarze roboczym usługi Log Analytics w witrynie Azure Portal w menu po lewej stronie w obszarze Ogólne wybierz pozycję Skoroszyty.

Jeśli nie znajdziesz istniejącego skoroszytu zawierającego potrzebne zapytanie, możesz wybrać kafelek Szablon domyślny i utworzyć zapytanie.

Screenshot that shows how to create a workbook from the gallery.

Jeśli chcesz poznać najbardziej typowe zdarzenie użytkownika w zeszłym tygodniu, wklej to zapytanie w edytorze zapytań:

AuditLogs
| where TimeGenerated >= ago(7d)
| summarize auditCount = count() by OperationName
| sort by auditCount desc

Uruchom zapytanie, aby sprawdzić wyniki. Jeśli masz żądane dane, wybierz pozycję Zakończono edycję, a następnie zapisz skoroszyt.

Screenshot that shows how to create a workbook.

Wprowadź opisową nazwę, taką jak Typowe zdarzenia użytkownika Ostatnie 7 dni, a następnie wybierz lub wprowadź subskrypcję, grupę zasobów i lokalizację, której chcesz użyć, a następnie zapisz skoroszyt.

Aby wyświetlić skoroszyt, w menu po lewej stronie w obszarze Ogólne wybierz pozycję Skoroszyty. Wyszukaj kafelek skoroszytu w obszarze Ostatnio zmodyfikowane skoroszyty.

Screenshot that shows how to find recently modified workbooks.

Sprawdź swoją wiedzę

1.

Jakie są dwa typy zapytań, które można zapisać, aby wyświetlić dzienniki firmy Microsoft Entra?

2.

Jakiego polecenia filtru zapytania użyjesz, aby pobrać n wierszy w określonej kolejności?