Agregowanie danych usługi Microsoft Sentinel przy użyciu reguł podsumowania (wersja zapoznawcza)
Reguły podsumowania w usłudze Microsoft Sentinel umożliwiają agregowanie dużych zestawów danych w tle w celu zapewnienia bezproblemowego środowiska operacji zabezpieczeń we wszystkich warstwach dzienników. Dane podsumowania są wstępnie skompilowane w niestandardowych tabelach dzienników i zapewniają szybką wydajność zapytań, w tym zapytania uruchamiane na danych pochodzących z warstw dziennika o niskich kosztach. Reguły podsumowania mogą pomóc w optymalizacji danych pod kątem:
- Analiza i raporty, szczególnie w przypadku dużych zestawów danych i zakresów czasu, zgodnie z wymaganiami analizy zabezpieczeń i zdarzeń, raportów biznesowych z miesiąca do miesiąca lub rocznego itd.
- Oszczędności kosztów w pełnych dziennikach, które można zachować tak długo, jak tylko potrzebujesz w tańszej warstwie dziennika, i wysyłać jako podsumowane dane tylko do tabeli Analiza na potrzeby analizy i raportów.
- Bezpieczeństwo i prywatność danych, usuwając lub zaciemniając szczegóły prywatności w podsumowanych udostępnionych danych i ograniczając dostęp do tabel z nieprzetworzonymi danymi.
Uzyskiwanie dostępu do wyników reguły podsumowania za pośrednictwem język zapytań Kusto (KQL) między działaniami wykrywania, badania, wyszukiwania zagrożeń i raportowania. Użyj wyników reguły podsumowania dla dłuższych okresów w badaniach historycznych, wyszukiwaniu zagrożeń i działaniach zgodności.
Wyniki reguły podsumowania są przechowywane w oddzielnych tabelach w ramach planu danych analizy i odpowiednio naliczane opłaty. Aby uzyskać więcej informacji na temat planów danych i kosztów magazynowania, zobacz Wybieranie planu tabeli na podstawie wzorców użycia w obszarze roboczym usługi Log Analytics
Ważne
Reguły podsumowania są obecnie dostępne w wersji zapoznawczej. Zobacz Dodatkowe warunki użytkowania dla wersji zapoznawczych platformy Microsoft Azure, aby uzyskać dodatkowe postanowienia prawne dotyczące funkcji platformy Azure, które są dostępne w wersji beta, wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej.
Usługa Microsoft Sentinel jest ogólnie dostępna na ujednoliconej platformie operacji zabezpieczeń firmy Microsoft w portalu usługi Microsoft Defender. W wersji zapoznawczej usługa Microsoft Sentinel jest dostępna w portalu usługi Defender bez usługi Microsoft Defender XDR lub licencji E5. Aby uzyskać więcej informacji, zobacz Microsoft Sentinel w portalu usługi Microsoft Defender.
Wymagania wstępne
Aby utworzyć reguły podsumowania w usłudze Microsoft Sentinel:
Usługa Microsoft Sentinel musi być włączona w co najmniej jednym obszarze roboczym i aktywnie korzystać z dzienników.
Aby uzyskać dostęp do usługi Microsoft Sentinel, musisz mieć uprawnienia współautora usługi Microsoft Sentinel. Aby uzyskać więcej informacji, zobacz artykuł Role i uprawnienia w usłudze Microsoft Sentinel.
Aby utworzyć reguły podsumowania w portalu usługi Microsoft Defender, musisz najpierw dołączyć obszar roboczy do portalu usługi Defender. Aby uzyskać więcej informacji, zobacz Łączenie usługi Microsoft Sentinel z portalem usługi Microsoft Defender.
Zalecamy eksperymentowanie z zapytaniem reguły podsumowania na stronie Dzienniki przed utworzeniem reguły. Sprawdź, czy zapytanie nie osiągnie lub nie zbliża się do limitu zapytania, i sprawdź, czy zapytanie generuje zamierzony schemat i oczekiwane wyniki. Jeśli zapytanie znajduje się blisko limitów zapytań, rozważ użycie mniejszej binSize
ilości danych na pojemnik. Możesz również zmodyfikować zapytanie, aby zwrócić mniej rekordów lub usunąć pola z większą liczbą woluminów.
Tworzenie reguły podsumowania
Utwórz nową regułę podsumowania, aby zagregować określony duży zestaw danych do tabeli dynamicznej. Skonfiguruj częstotliwość reguł, aby określić częstotliwość aktualizowania zagregowanego zestawu danych na podstawie danych pierwotnych.
W witrynie Azure Portal z menu nawigacji usługi Microsoft Sentinel w obszarze Konfiguracja wybierz pozycję Reguły podsumowania (wersja zapoznawcza). W portalu usługi Defender wybierz pozycję Reguły podsumowania konfiguracji > usługi Microsoft Sentinel > (wersja zapoznawcza). Na przykład:
Wybierz pozycję + Utwórz i wprowadź następujące szczegóły:
Name. Wprowadź zrozumiałą nazwę reguły.
Opis. Wprowadź opcjonalny opis.
Tabela docelowa. Zdefiniuj niestandardową tabelę dziennika, w której dane są agregowane:
Jeśli wybierzesz pozycję Istniejąca niestandardowa tabela dzienników, wybierz tabelę, której chcesz użyć.
Jeśli wybierzesz pozycję Nowa niestandardowa tabela dzienników, wprowadź zrozumiałą nazwę tabeli. Pełna nazwa tabeli używa następującej składni:
<tableName>_CL
.
Zalecamy włączenie ustawień diagnostycznych SummaryLogs w obszarze roboczym w celu uzyskania widoczności historycznych przebiegów i niepowodzeń. Jeśli ustawienia diagnostyczne SummaryLogs nie są włączone, zostanie wyświetlony monit o ich włączenie w obszarze Ustawienia diagnostyczne.
Jeśli ustawienia diagnostyczne SummaryLogs są już włączone, ale chcesz zmodyfikować ustawienia, wybierz pozycję Konfiguruj zaawansowane ustawienia diagnostyczne. Po powrocie do strony Kreatora reguł podsumowania upewnij się, że wybierz pozycję Odśwież , aby odświeżyć szczegóły ustawienia.
Ważne
Ustawienia diagnostyczne SummaryLogs mają dodatkowe koszty. Aby uzyskać więcej informacji, zobacz Ustawienia diagnostyczne w usłudze Azure Monitor.
Wybierz pozycję Dalej: ustaw logikę podsumowania > , aby kontynuować.
Na stronie Ustawianie logiki podsumowania wprowadź zapytanie podsumowania. Na przykład aby ściągnąć zawartość z platformy Google Cloud Platform, możesz wprowadzić następujące elementy:
GCPAuditLogs | where ServiceName == 'pubsub.googleapis.com' | summarize count() by Severity
Aby uzyskać więcej informacji, zobacz Przykładowe scenariusze reguł podsumowania i język zapytań Kusto (KQL) w usłudze Azure Monitor.
Wybierz pozycję Podgląd wyników , aby wyświetlić przykład zebranych danych przy użyciu skonfigurowanego zapytania.
W obszarze Planowanie zapytań zdefiniuj następujące szczegóły:
- Jak często chcesz uruchomić regułę
- Niezależnie od tego, czy reguła ma być uruchamiana z jakimkolwiek opóźnieniem, w minutach
- Gdy chcesz, aby reguła zaczęła działać
Czasy zdefiniowane w harmonogramie są oparte na
timegenerated
kolumnie w danychWybierz pozycję Dalej: Przejrzyj i utwórz polecenie Zapisz, aby ukończyć>> regułę podsumowania.
Istniejące reguły podsumowania są wyświetlane na stronie Reguły podsumowania (wersja zapoznawcza), na której można przejrzeć stan reguły. Dla każdej reguły wybierz menu opcji na końcu wiersza, aby wykonać dowolną z następujących akcji:
- Wyświetl bieżące dane reguły na stronie Dzienniki , tak jakby zapytanie było uruchamiane natychmiast
- Wyświetlanie historii uruchamiania wybranej reguły
- Wyłącz lub włącz regułę.
- Edytowanie konfiguracji reguły
Aby usunąć regułę, wybierz wiersz reguły, a następnie wybierz pozycję Usuń na pasku narzędzi w górnej części strony.
Uwaga
Usługa Azure Monitor obsługuje również tworzenie reguł podsumowania za pośrednictwem interfejsu API lub szablonu usługi Azure Resource Monitor (ARM). Aby uzyskać więcej informacji, zobacz Tworzenie lub aktualizowanie reguły podsumowania.
Przykładowe scenariusze reguły podsumowania
W tej sekcji opisano typowe scenariusze tworzenia reguł podsumowania w usłudze Microsoft Sentinel oraz nasze zalecenia dotyczące konfigurowania poszczególnych reguł. Aby uzyskać więcej informacji i przykłady, zobacz Używanie reguł podsumowania z dziennikami pomocniczymi (przykładowy proces) i Źródła dzienników do użycia do pozyskiwania dzienników pomocniczych.
Szybkie znajdowanie złośliwego adresu IP w ruchu sieciowym
Scenariusz: Jesteś łowcą zagrożeń, a jednym z celów zespołu jest zidentyfikowanie wszystkich wystąpień złośliwego adresu IP w dziennikach ruchu sieciowego z aktywnego zdarzenia w ciągu ostatnich 90 dni.
Wyzwanie: Usługa Microsoft Sentinel obecnie pozyskiwa wiele terabajtów dzienników sieci dziennie. Musisz szybko przejść przez nie, aby znaleźć dopasowania złośliwego adresu IP.
Rozwiązanie: Zalecamy używanie reguł podsumowania w celu wykonania następujących czynności:
Utwórz zestaw danych podsumowania dla każdego adresu IP powiązanego ze zdarzeniem, w tym
SourceIP
,DestinationIP
,MaliciousIP
,RemoteIP
, z których każda zawiera listę ważnych atrybutów, takich jakIPType
,FirstTimeSeen
iLastTimeSeen
.Zestaw danych podsumowania umożliwia szybkie wyszukiwanie określonego adresu IP i zawężenie zakresu czasu, w którym znajduje się adres IP. Można to zrobić nawet wtedy, gdy przeszukane zdarzenia miały miejsce ponad 90 dni temu, co wykracza poza okres przechowywania obszaru roboczego.
W tym przykładzie skonfiguruj podsumowanie do uruchamiania codziennie, tak aby zapytanie dodaje nowe rekordy podsumowania każdego dnia do momentu wygaśnięcia.
Utwórz regułę analizy uruchamianą przez mniej niż dwie minuty względem zestawu danych podsumowania, szybko przechodząc do szczegółów określonego zakresu czasu, gdy złośliwy adres IP wchodził w interakcję z siecią firmową.
Upewnij się, że skonfigurować interwały uruchamiania wynoszące co najmniej do pięciu minut, aby uwzględnić różne rozmiary ładunków podsumowania. Gwarantuje to, że nie ma utraty nawet wtedy, gdy wystąpi opóźnienie pozyskiwania zdarzeń.
Na przykład:
let csl_columnmatch=(column_name: string) { summarized_CommonSecurityLog | where isnotempty(column_name) | extend Date = format_datetime(TimeGenerated, "yyyy-MM-dd"), IPaddress = column_ifexists(column_name, ""), FieldName = column_name | extend IPType = iff(ipv4_is_private(IPaddress) == true, "Private", "Public") | where isnotempty(IPaddress) | project Date, TimeGenerated, IPaddress, FieldName, IPType, DeviceVendor | summarize count(), FirstTimeSeen = min(TimeGenerated), LastTimeSeen = min(TimeGenerated) by Date, IPaddress, FieldName, IPType, DeviceVendor }; union csl_columnmatch("SourceIP") , csl_columnmatch("DestinationIP") , csl_columnmatch("MaliciousIP") , csl_columnmatch("RemoteIP") // Further summarization can be done per IPaddress to remove duplicates per day on larger timeframe for the first run | summarize make_set(FieldName), make_set(DeviceVendor) by IPType, IPaddress
Uruchom kolejne wyszukiwanie lub korelację z innymi danymi , aby ukończyć historię ataku.
Generowanie alertów dotyczących dopasowań analizy zagrożeń względem danych sieciowych
Generuj alerty dotyczące zgodności analizy zagrożeń z hałaśliwymi, dużymi ilościami i danymi sieciowymi o niskiej wartości zabezpieczeń.
Scenariusz: należy utworzyć regułę analizy dzienników zapory, aby pasowały do nazw domen w systemie, które zostały odwiedzone na liście nazw domen analizy zagrożeń.
Większość źródeł danych to nieprzetworzone dzienniki, które są hałaśliwe i mają dużą ilość, ale mają niższą wartość zabezpieczeń, w tym adresy IP, ruch usługi Azure Firewall, ruch fortigate itd. Całkowita ilość wynosi około 1 TB dziennie.
Wyzwanie: Tworzenie oddzielnych reguł wymaga wielu aplikacji logiki, co wymaga dodatkowej konfiguracji i kosztów związanych z konserwacją.
Rozwiązanie: Zalecamy używanie reguł podsumowania w celu wykonania następujących czynności:
Utwórz regułę podsumowania:
Rozszerz zapytanie, aby wyodrębnić pola kluczy, takie jak adres źródłowy, adres docelowy i port docelowy z tabeli CommonSecurityLog_CL , czyli CommonSecurityLog z planem pomocniczym.
Wykonaj wewnętrzne wyszukiwanie względem aktywnych wskaźników analizy zagrożeń, aby zidentyfikować wszelkie dopasowania z naszym adresem źródłowym. Dzięki temu można odwoływać się do danych ze znanymi zagrożeniami.
Projektuj istotne informacje, w tym czas wygenerowany, typ działania i wszelkie złośliwe adresy IP źródła wraz ze szczegółami miejsca docelowego. Ustaw częstotliwość uruchamiania zapytania oraz tabelę docelową, taką jak MaliciousIPDetection . Wyniki w tej tabeli znajdują się w warstwie analitycznej i są naliczane odpowiednio opłaty.
Utwórz alert:
Tworzenie reguły analizy w usłudze Microsoft Sentinel, która wysyła alerty na podstawie wyników z tabeli MaliciousIPDetection . Ten krok ma kluczowe znaczenie dla proaktywnego wykrywania zagrożeń i reagowania na zdarzenia.
Przykładowa reguła podsumowania:
CommonSecurityLog_CL
| extend sourceAddress = tostring(parse_json(Message).sourceAddress), destinationAddress = tostring(parse_json(Message).destinationAddress), destinationPort = tostring(parse_json(Message).destinationPort)
| lookup kind=inner (ThreatIntelligenceIndicator | where Active == true ) on $left.sourceAddress == $right.NetworkIP
| project TimeGenerated, Activity, Message, DeviceVendor, DeviceProduct, sourceMaliciousIP =sourceAddress, destinationAddress, destinationPort
Używanie reguł podsumowania z dziennikami pomocniczymi (przykładowy proces)
Ta procedura opisuje przykładowy proces używania reguł podsumowania z dziennikami pomocniczymi przy użyciu niestandardowego połączenia utworzonego za pośrednictwem szablonu usługi ARM w celu pozyskiwania danych CEF z usługi Logstash.
Skonfiguruj niestandardowy łącznik CEF z usługi Logstash:
Wdróż następujący szablon usługi ARM w obszarze roboczym usługi Microsoft Sentinel, aby utworzyć niestandardową tabelę z regułami zbierania danych (DCR) i punktem końcowym zbierania danych (DCE):
Zwróć uwagę na następujące szczegóły z danych wyjściowych szablonu usługi ARM:
tenant_id
data_collection_endpoint
dcr_immutable_id
dcr_stream_name
Utwórz aplikację Microsoft Entra i zanotuj identyfikator klienta i wpis tajny aplikacji. Aby uzyskać więcej informacji, zobacz Samouczek: wysyłanie danych do dzienników usługi Azure Monitor przy użyciu interfejsu API pozyskiwania dzienników (Azure Portal).
Użyj naszego przykładowego skryptu , aby zaktualizować plik konfiguracji usługi Logstash. Aktualizacje konfigurują usługę Logstash w celu wysyłania dzienników CEF do tabeli niestandardowej utworzonej przez szablon usługi ARM, przekształcając dane JSON do formatu DCR. W tym skrypcie pamiętaj, aby zastąpić wartości symboli zastępczych własnymi wartościami dla utworzonej wcześniej tabeli niestandardowej i aplikacji Microsoft Entra.
Sprawdź, czy dane CEF przepływają z usługi Logstash zgodnie z oczekiwaniami. Na przykład w usłudze Microsoft Sentinel przejdź do strony Dzienniki i uruchom następujące zapytanie:
CefAux_CL | take 10
Utwórz reguły podsumowania, które agregują dane CEF. Na przykład:
Wyszukiwanie danych dotyczących problemu (IoC): wyszukiwanie określonych IoC przez uruchomienie zagregowanych zapytań podsumowujących w celu wprowadzenia unikatowych wystąpień, a następnie wykonywanie zapytań tylko o te wystąpienia w celu uzyskania szybszych wyników. W poniższym przykładzie pokazano przykładowy sposób dodawania unikatowego
Source Ip
źródła danych wraz z innymi metadanymi, których następnie można używać względem odnośników IoC:// Daily Network traffic trend Per Destination IP along with Data transfer stats // Frequency - Daily - Maintain 30 day or 60 Day History. Custom_CommonSecurityLog | extend Day = format_datetime(TimeGenerated, "yyyy-MM-dd") | summarize Count= count(), DistinctSourceIps = dcount(SourceIP), NoofByesTransferred = sum(SentBytes), NoofBytesReceived = sum(ReceivedBytes) by Day,DestinationIp, DeviceVendor
Wykonaj zapytanie dotyczące podsumowania punktu odniesienia wykrywania anomalii. Zamiast uruchamiać zapytania dotyczące dużych okresów historycznych, takich jak 30 lub 60 dni, zalecamy pozyskiwanie danych do dzienników niestandardowych, a następnie wykonywanie zapytań tylko o dane punktu odniesienia podsumowania, takie jak w przypadku wykrywania anomalii szeregów czasowych. Na przykład:
// Time series data for Firewall traffic logs let starttime = 14d; let endtime = 1d; let timeframe = 1h; let TimeSeriesData = Custom_CommonSecurityLog | where TimeGenerated between (startofday(ago(starttime))..startofday(ago(endtime))) | where isnotempty(DestinationIP) and isnotempty(SourceIP) | where ipv4_is_private(DestinationIP) == false | project TimeGenerated, SentBytes, DeviceVendor | make-series TotalBytesSent=sum(SentBytes) on TimeGenerated from startofday(ago(starttime)) to startofday(ago(endtime)) step timeframe by DeviceVendor