Ćwiczenie — tworzenie podstawowych zapytań dziennika usługi Azure Monitor w celu wyodrębnienia informacji z danych dziennika

Ukończone

Zespół operacyjny nie ma obecnie wystarczającej ilości informacji o swoim zachowaniu systemu, aby skutecznie diagnozować i rozwiązywać problemy. Aby rozwiązać ten problem, zespół skonfigurował obszar roboczy usługi Azure Monitor przy użyciu firmowych usług platformy Azure. Uruchamia ona zapytania Kusto, aby uzyskać stan systemu i próbuje zidentyfikować przyczyny wszelkich problemów, które mogą wystąpić.

W szczególności zespół interesuje się możliwością monitorowania zdarzeń zabezpieczeń w celu sprawdzenia możliwych prób włamania do systemu. Osoba atakująca może podjąć próbę manipulowania aplikacjami uruchomionymi w systemie, więc zespół chce również zbierać dane aplikacji do dalszej analizy. Osoba atakująca może także spróbować zatrzymać komputery, które składają się na system, więc zespół chce przeanalizować, jak i kiedy maszyny są zatrzymywane i ponownie uruchamiane.

W tym ćwiczeniu przećwiczyć wykonywanie zapytań dzienników platformy Azure w projekcie pokazowym zawierającym przykładowe dane w tabelach, dziennikach i zapytaniach.

Tworzenie podstawowych zapytań dziennika usługi Azure Monitor w celu wyodrębnienia informacji z danych dziennika

Użyjmy okienka Dzienniki demonstracyjne platformy Azure, aby przećwiczyć pisanie zapytań. Obszar roboczy projektu demonstracyjnego jest wstępnie wypełniany przykładowymi danymi. Platforma Azure oferuje zoptymalizowane zapytanie podobne do języka SQL z opcjami wizualizacji danych w języku o nazwie KQL (język zapytań Kusto).

  1. Otwórz środowisko demonstracyjne Dzienniki. W lewym górnym rogu w obszarze Nowe zapytanie 1 znajdziesz pozycję Pokaz, który identyfikuje obszar roboczy lub zakres zapytania. Lewa strona tego okienka zawiera kilka kart: Tabele, Zapytania i Funkcje. Po prawej stronie jest przeznaczony do tworzenia lub edytowania zapytań.

  2. Na karcie Nowe zapytanie 1 wprowadź podstawowe zapytanie w pierwszym wierszu notatnika. To zapytanie pobiera szczegóły 10 najnowszych zdarzeń zabezpieczeń.

    SecurityEvent
        | take 10
    
  3. Na pasku poleceń wybierz pozycję Uruchom , aby wykonać zapytanie i wyświetlić wyniki. Aby uzyskać więcej informacji, możesz rozwinąć każdy wiersz w okienku wyników.

  4. Sortuj dane według czasu, dodając filtr do zapytania:

    SecurityEvent
        | top 10 by TimeGenerated
    
  5. Dodaj klauzulę filtru i zakres czasu. Uruchom to zapytanie, aby pobrać rekordy, które mają więcej niż 30 minut i mają poziom 10 lub więcej:

    SecurityEvent
        | where TimeGenerated < ago(30m)
        | where toint(Level) >= 10
    
  6. Uruchom następujące zapytanie, aby wyszukać AppEvents w tabeli rekordy Clicked Schedule Button zdarzenia wywoływanego w ciągu ostatnich 24 godzin:

    AppEvents 
        | where TimeGenerated > ago(24h)
        | where Name == "Clicked Schedule Button"
    
  7. Uruchom następujące zapytanie, aby wyświetlić liczbę różnych komputerów, które wygenerowały zdarzenia pulsu co tydzień w ciągu ostatnich trzech tygodni. Wyniki są wyświetlane jako wykres słupkowy:

    Heartbeat
        | where TimeGenerated >= startofweek(ago(21d))
        | summarize dcount(Computer) by endofweek(TimeGenerated) | render barchart kind=default
    

Wyodrębnianie informacji z danych dziennika dzienników platformy Azure przy użyciu wstępnie zdefiniowanych zapytań dzienników platformy Azure

Oprócz pisania zapytań od podstaw zespół operacyjny może również korzystać ze wstępnie zdefiniowanych zapytań w usłudze Azure Logs, które odpowiadają na typowe pytania dotyczące kondycji, dostępności, użycia i wydajności zasobów.

  1. Użyj parametru Zakres czasu na pasku poleceń, aby ustawić zakres niestandardowy. Wybierz miesiąc, rok i dzień z zakresu od stycznia do dzisiaj. Możesz ustawić i zastosować niestandardowy czas do dowolnego zapytania.

  2. Na pasku narzędzi wybierz pozycję Zapytania. Zostanie wyświetlone okienko Zapytania . W tym miejscu na liście rozwijanej w menu po lewej stronie możesz wyświetlić listę przykładowych zapytań pogrupowanych według kategorii, typu zapytania, typu zasobu, rozwiązania lub tematu.

  3. Wybierz pozycję Kategoria z listy rozwijanej, a następnie wybierz pozycję NARZĘDZIA IT & Management Tools.

  4. W polu wyszukiwania wprowadź unikatowe brakujące aktualizacje między komputerami. Wybierz zapytanie w okienku po lewej stronie, a następnie wybierz pozycję Uruchom. Okienko Dzienniki pojawia się ponownie, a zapytanie zwraca listę brakujących aktualizacji systemu Windows z maszyn wirtualnych wysyłających dzienniki do obszaru roboczego.

    Uwaga

    To samo zapytanie można również uruchomić w okienku Dzienniki . W okienku po lewej stronie wybierz kartę Zapytania , a następnie wybierz pozycję Kategoria na liście rozwijanej Grupuj według . Teraz przewiń listę w dół, rozwiń pozycję NARZĘDZIA IT & Management Tools i kliknij dwukrotnie pozycję Distinct missing updates cross computers (Unikatowe brakujące aktualizacje między komputerami). Kliknij przycisk Uruchom, aby uruchomić zapytanie. Po wybraniu wstępnie zdefiniowanego zapytania w okienku po lewej stronie kod zapytania jest dołączany do dowolnego zapytania, które istnieje w narzędziu scratchpad. Pamiętaj, aby wyczyścić podstawy przed otwarciem lub dodaniem nowego zapytania do uruchomienia.

  5. W okienku po lewej stronie wyczyść pole wyszukiwania. Wybierz pozycję Zapytania, a następnie wybierz pozycję Kategoria na liście rozwijanej Grupuj według . Rozwiń węzeł Azure Monitor i kliknij dwukrotnie pozycję Dostępność komputerów dzisiaj. Wybierz Uruchom. To zapytanie tworzy wykres szeregów czasowych z liczbą unikatowych adresów IP wysyłających dzienniki do obszaru roboczego co godzinę dla ostatniego dnia.

  6. Wybierz pozycję Temat na liście rozwijanej Grupuj według , przewiń w dół, aby rozwinąć pozycję Aplikacja funkcji, a następnie kliknij dwukrotnie pozycję Pokaż dzienniki aplikacji z poziomu aplikacji funkcji. Wybierz Uruchom. To zapytanie zwraca listę dzienników aplikacji posortowanych według czasu z wyświetlonymi najpierw najnowszymi dziennikami.

Zauważysz, że z zapytań Kusto użytych w tym miejscu łatwo jest kierować zapytanie do określonego przedziału czasu, poziomu zdarzeń lub typu dziennika zdarzeń. Zespół ds. zabezpieczeń może łatwo badać pulsy, aby określić, kiedy serwery są niedostępne, co może wskazywać na atak typu „odmowa usługi”. W przypadku wykrycia okresu niedostępności serwera zespół może wykonać zapytania o zdarzenia w dzienniku zabezpieczeń w okolicy tego czasu, aby zdiagnozować, czy atak spowodował zakłócenie. Ponadto wstępnie zdefiniowane zapytania mogą również oceniać dostępność maszyny wirtualnej, identyfikować brakujące aktualizacje systemu Windows i przeglądać dzienniki zapory, aby wyświetlić odrzucone przepływy sieciowe przeznaczone dla interesujących maszyn wirtualnych.