Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Tworzenie i udostępnianie zapytań zaawansowanego wyszukiwania zagrożeń w Microsoft Defender nie tylko rozszerza własne operacje zabezpieczeń, ale także przyczynia się do szerszej społeczności użytkowników usługi Defender. Ten przewodnik przeprowadzi Cię przez proces tworzenia nowych lub modyfikowania istniejących zapytań oraz publikowania ich w sekcji Zapytania społeczności w portalu Microsoft Defender.
Wykonanie kroków opisanych w tym artykule zapewnia, że zapytania są dostępne dla wszystkich klientów, co ułatwia innym osobom skuteczniejsze wykrywanie zagrożeń przy jednoczesnym promowaniu współpracy i uczenia współdzielonego w ekosystemie zabezpieczeń.
Wymagania wstępne
Konto usługi GitHub.
W procedurach w tym artykule użyto Visual Studio Code (VS Code) do tworzenia rozwidlenia, klonowania, tworzenia i synchronizowania zapytań do i z repozytorium GitHub usługi Azure Sentinel. Dla wszystkich tych zadań są dostępne różne narzędzia z różnymi instrukcjami.
Subskrypcja platformy Microsoft 365 obejmująca zaawansowane wyszukiwanie zagrożeń. Przykład:
- Microsoft Defender XDR
- Microsoft Sentinel
- Ochrona usługi Office 365 w usłudze Microsoft Defender plan 2
Krok 1. Tworzenie rozwidlenia repozytorium Usługi Azure Sentinel GitHub na koncie usługi GitHub
Ponieważ nie masz uprawnień administratora do repozytorium Usługi Azure Sentinel GitHub, musisz rozwidlić repozytorium, a jedynym dostępnym miejscem docelowym jest konto usługi GitHub.
Otwórz repozytorium GitHub usługi Azure Sentinel pod adresem https://github.com/Azure/Azure-Sentinel/.
Wybierz pozycję Rozwidlenie , aby utworzyć własną kopię repozytorium. Na stronie Tworzenie nowego rozwidlenia , która zostanie otwarta, przejrzyj następujące ustawienia domyślne:
- Właściciel: sprawdź, czy nazwa konta usługi GitHub jest wyświetlana.
- Nazwa repozytorium: sprawdź wartość Azure-Sentinel.
- Opis: Sprawdź tekst opisu.
- Skopiuj tylko gałąź główną: sprawdź, czy wybrano tę opcję.
Po zakończeniu pracy na stronie Tworzenie nowego rozwidlenia wybierz pozycję Utwórz nowy rozwidlenie.
Po pomyślnym utworzeniu rozwidlenia zostanie wyświetlony adres URL rozwidlenia repozytorium Azure-Sentinel na koncie usługi GitHub:
https://github.com/<YourGitHubAccountName>/Azure-Sentinel
. Na tej stronie wybierz pozycję Kod. Na lokalnej karcie listy rozwijanej, która zostanie otwarta, wybierz pozycjęKopiuj adres URL do schowka na karcie HTTPS sekcji Klonuj . Skopiowany adres URL to:
https://github.com/<YourGitHubAccountName>/Azure-Sentinel.git
.
Krok 2. Klonowanie repozytorium GitHub na komputer lokalny
Po rozwidleniu repozytorium Usługi Azure Sentinel GitHub do konta usługi GitHub należy utworzyć lokalny klon repozytorium na komputerze, aby można było z nich korzystać.
Otwórz program VS Code. Jeśli nie jesteś jeszcze w czystej sesji bez innych otwartych plików, wybierz pozycję Nowy plik>okna lub naciśnij CTRL+Shift+N.
Wybierz pozycję Kontrola źródła lub naciśnij CTRL+Shift+G
W wyświetlonym menu wysuwowym Kontrola źródła wybierz pozycję Sklonuj repozytorium.
W wyświetlonym oknie dialogowym wklej
https://github.com/<YourGitHubAccountName>/Azure-Sentinel.git
adres URL skopiowany w kroku 1.3 w polu, a następnie wybierz pozycję Klonuj z adresu URL wyświetlanego pod polem.W oknie dialogowym Wybieranie folderu do sklonowania
https://github.com/<YourGitHubAccountName>/Azure-Sentinel.git
do otwarcia znajdź lub utwórz lokalny folder nadrzędny (na przykładC:\GitHub
) dla sklonowanego rozwidlenia repozytorium, a następnie wybierz pozycję Wybierz jako miejsce docelowe repozytorium. Lokalny klon rozwidlonego repozytorium znajduje się w folderze<ParentFolder>\<RepositoryName>
(na przykładC:\GitHub\Azure-Sentinel
).Poczekaj kilka minut na ukończenie klonowania repozytorium Azure-Sentinel.
Po zakończeniu klonowania zostanie otwarte okno dialogowe Czy chcesz otworzyć repozytorium klonowania? Wybierz pozycję Otwórz , aby otworzyć sklonowane repozytorium w programie
C:\GitHub\Azure-Sentinel
VS Code (na przykład folder i jego zawartość).Jeśli struktura folderów została niedawno utworzona na dysku lokalnym, może zostać wyświetlony komunikat Czy ufasz autorom plików w tym folderze?, który odnosi się do folderu
Azure-Sentinel
(ufasz im).Aby zaufać wszelkim przyszłym repozytoriom, które są klonowane w folderze nadrzędnym (na przykład
C:\GitHub
), wybierz pozycję Ufaj autorom wszystkich plików w folderze<ParentFolderName>
nadrzędnym .Aby kontynuować, wybierz pozycję Tak, ufam autorom.
Krok 3. Tworzenie gałęzi roboczej w sklonowanym repozytorium na komputerze lokalnym
Po wybraniu pozycji Tak ufam autorom program VS Code zostanie otwarty w widoku Eksploratora z wybranym folderem Azure-Sentinel
. Wszystkie pliki i foldery można wyświetlić z repozytorium nadrzędnego w usłudze GitHub.
Domyślnie gałąź główna (główna) jest aktywna po otwarciu sklonowanego rozwidlenia repozytorium. Nie wprowadzaj aktualizacji w gałęzi głównej . Zamiast tego utwórz gałąź roboczą w lokalnie sklonowanej, rozwidlonej kopii repozytorium, z która będzie działać.
W programie VS Code wybierz nazwę aktywnej gałęzi w lewym dolnym rogu (co jest prawdopodobnie wzorcem).
W wyświetlonym oknie dialogowym wybierz pozycję
Utwórz nową gałąź z..., a następnie wybierz pozycję master (inne dostępne gałęzie również pojawią się na liście).
W oknie dialogowym Podaj nową nazwę gałęzi , które zostanie otwarte, wprowadź odpowiednią nazwę dla gałęzi (na przykład ), a następnie naciśnij Enter,
new-mdo-queries
aby potwierdzić.
Aktywna gałąź zmienia się z głównej na nowo utworzoną gałąź.
Aby oddzielić pracę od różnych zapytań, możesz utworzyć wiele gałęzi roboczych o różnych nazwach, powtarzając poprzednie kroki opisane w tej sekcji.
Przejdź do następnej sekcji, aby rozpocząć tworzenie lub modyfikowanie zapytań.
Krok 4. Tworzenie zapytań zaawansowanego wyszukiwania zagrożeń w gałęzi roboczej w sklonowanym repozytorium na komputerze lokalnym
Po otwarciu programu VS Code w celu utworzenia lub zaktualizowania zapytań zawsze sprawdź, czy żądana gałąź robocza to aktywna gałąź (nie główna):
Jeśli tak nie jest, wybierz nazwę aktywnej gałęzi w lewym dolnym rogu, a następnie wybierz gałąź roboczą z sekcji gałęzi .
Teraz możesz tworzyć zapytania wyszukiwania zagrożeń w gałęzi roboczej. Na przykład następujące zapytanie język zapytań Kusto (KQL) jest podstawowym raportem adresatów, którzy otrzymują najwięcej wiadomości wyłudzających informacje.
EmailEvents | where ThreatTypes has "Phish" and EmailDirection == "Inbound" | summarize count() by RecipientEmailAddress | sort by count_ | top 15 by count_
Przetestuj zapytanie na stronie Zaawansowane wyszukiwanie zagrożeń w portalu usługi Defender pod adresem https://security.microsoft.com/v2/advanced-hunting , aby upewnić się, że zapytanie nie zawiera błędów i zwraca dane zgodnie z oczekiwaniami.
W widoku Eksploratora programu VS Code przejdź do jednego z następujących folderów nadrzędnych na podstawie użycia i dostępności zapytania w portalu usługi Defender:
-
\Azure-Sentinel\Hunting Queries\Microsoft 365 Defender\Email Queries
: dostępne w sekcji Zapytania społeczności na karcie Zapytania na stronie Zaawansowane wyszukiwanie zagrożeń w portalu usługi Defender pod adresem https://security.microsoft.com/v2/advanced-hunting. -
\Azure-Sentinel\Solutions\Microsoft Defender XDR\Hunting Queries\Email Queries
: Dostępne jako zapytania Sentinel (rozwiązanie Microsoft Defender XDR).
W większości przypadków należy ostatecznie utworzyć plik zapytania w obu lokalizacjach, aby można było użyć zapytania w obu scenariuszach.
-
W programie VS Code utwórz nowy plik yaml w odpowiednim podfoldecie tych lokalizacji. Istnieje wiele podfolderów do wyboru. W naszym przykładzie nazwa logiczna i lokalizacja naszego nowego pliku zapytania znajduje się
Top users receiving phish.yaml
Phish
w podfoldecie.Więcej informacji na temat wymagań i struktury pliku yaml można znaleźć w przewodniku po stylu zapytań w witrynie typu wiki repozytorium Azure-Sentinel.
Użyj polecenia cmdlet New-Guid w Windows PowerShell, aby utworzyć unikatowy identyfikator GUID dla właściwości identyfikatora pliku zapytania (na przykład 36f68d74-3e45-44d8-9915-0d35b7567bcf).
Gotowy
Top users receiving phish.yaml
plik wygląda mniej więcej tak:id: 36f68d74-3e45-44d8-9915-0d35b7567bcf name: Friendly name describing the query description: | A short description of what the query does. description-detailed: | A much longer description of the intention of the query within Defender for Office 365. requiredDataConnectors: - connectorId: MicrosoftThreatProtection dataTypes: - EmailEvents tactics: - InitialAccess relevantTechniques: - T1566 query: | EmailEvents | where ThreatTypes has "Phish" and EmailDirection == "Inbound" | summarize count() by RecipientEmailAddress | sort by count_ | top 15 by count_ version: l.0.0
Po zakończeniu i zapisaniu pliku zapytania w jednej lokalizacji skopiuj plik do innej lokalizacji, aby można było użyć zapytania zarówno w obszarze Zaawansowane wyszukiwanie zagrożeń, jak i Microsoft Sentinel.
Krok 5. Synchronizowanie zmian z komputera lokalnego do rozwidlenia na koncie usługi GitHub
Po dodaniu plików zapytań yaml w sklonowanym repozytorium na komputerze lokalnym należy zsynchronizować te aktualizacje z kopią rozwidloną repozytorium usługi Azure Sentinel na koncie usługi GitHub.
W programie VS Code wybierz widok Kontrola źródła .
W otwieranym oknie dialogowym sekcja Zmiany zawiera listę wszystkich plików zmodyfikowanych w bieżącej gałęzi:
Jeśli klikniesz nazwę pliku, zostanie otwarty zmodyfikowany plik z wyróżnionym zmodyfikowanym tekstem. Przed kontynuowaniem możesz przejrzeć zmiany dotyczące problemów lub błędów.
W polu Komunikat wprowadź krótki opis zmian. Użyj zwięzłego języka. Na przykład dodano zapytanie, aby wyświetlić listę najlepszych adresatów języka Phish. Po zakończeniu wybierz pozycję Zatwierdź.
Jeśli synchronizujesz gałąź roboczą i jej aktualizacje z rozwidleniem na koncie usługi GitHub po raz pierwszy, zostanie wyświetlona opcja Publikuj gałąź , którą należy wybrać.
W przyszłości po zsynchronizowaniu zmian lokalnych w gałęzi roboczej z rozwidleniem na koncie usługi GitHub zostanie wyświetlona funkcja Synchronizuj zmiany .
Krok 6. Tworzenie żądania ściągnięcia z rozwidlenia na koncie usługi GitHub do publicznego repozytorium usługi Azure Sentinel
Po zsynchronizowaniu aktualizacji z rozwidleniem kopii repozytorium na koncie usługi GitHub utworzysz żądanie ściągnięcia, aby scalić te zmiany z powrotem do publicznego repozytorium usługi Azure Sentinel GitHub.
Porada
Jeśli żądanie ściągnięcia nie zostało scalone, możesz powtórzyć kroki 4 i Krok 5 , aby zaktualizować pliki źródłowe w rozwidleniach kopii repozytorium, co modyfikuje aktywne żądanie ściągnięcia.
Przejdź do linku
https://github.com/<YourGitHubAccountName>/Azure-Sentinel
z kroku 1.W razie potrzeby odśwież stronę, aby wyświetlić powiadomienie, że gałąź robocza zsynchronizowana w poprzednim kroku ma ostatnie zmiany. Wybierz pozycję Porównaj żądanie ściągnięcia &. Gałąź ma ostatnio wprowadzone zmiany.
Postępuj zgodnie ze wskazówkami podanymi w opisie i odpowiednio odpowiedz.
Jeśli musisz wprowadzić dalsze zmiany, możesz wybrać pozycję Utwórz robocze żądanie ściągnięcia , aby wskazać, że żądanie ściągnięcia nie jest gotowe do przejrzenia i zatwierdzenia. Jednak zazwyczaj możesz wybrać pozycję Utwórz żądanie ściągnięcia , aby kontynuować.
Osoba z uprawnieniami do scalania żądania ściągnięcia przejrzy Zmiany. Recenzent może zażądać dodatkowych zmian zgodnych ze standardami repozytorium. Możesz użyć kroków 4 i 5 , aby wprowadzić żądane zmiany na komputerze lokalnym i zsynchronizować je z rozwidleniem, aby zostały uwzględnione w żądaniu ściągnięcia.
Zobacz też
- Azure Sentinel Community — przewodnik Wprowadzenie.
- Struktura szablonów zapytań — wskazówki.