Agregace dat Služby Microsoft Sentinel pomocí souhrnných pravidel (Preview)
Pomocí souhrnných pravidel v Microsoft Sentinelu můžete agregovat velké sady dat na pozadí pro plynulejší operace zabezpečení napříč všemi úrovněmi protokolů. Souhrnná data se předkompilují ve vlastních tabulkách protokolů a poskytují rychlý výkon dotazů, včetně dotazů spouštěných na datech odvozených z úrovní protokolů s nízkými náklady. Souhrnná pravidla vám můžou pomoct optimalizovat data pro:
- Analýzy a sestavy, zejména nad velkými datovými sadami a časovými rozsahy, podle potřeby pro analýzu zabezpečení a incidentů, měsíčních nebo ročních obchodních sestav atd.
- Úspora nákladů na podrobné protokoly, které si můžete zachovat po dobu nejméně nebo po dobu, kdy potřebujete v levnější vrstvě protokolu, a odesílat souhrnná data jenom do tabulky Analytics pro analýzy a sestavy.
- Zabezpečení a ochrana osobních údajů, odebráním nebo obfuzením podrobností o ochraně osobních údajů v souhrnných sdíletelných datech a omezením přístupu k tabulkám s nezpracovanými daty.
Přístup k souhrnným výsledkům pravidel prostřednictvím dotazovací jazyk Kusto (KQL) napříč aktivitami detekce, vyšetřování, proaktivního vyhledávání a generování sestav. Výsledky souhrnných pravidel můžete použít pro delší období v historických šetřeních, proaktivním vyhledávání a dodržování předpisů.
Výsledky souhrnných pravidel se ukládají v samostatných tabulkách v rámci datového plánu Analytics a účtují se odpovídajícím způsobem. Další informace o datových plánech a nákladech na úložiště najdete v tématu Výběr tabulkového plánu na základě vzorců využití v pracovním prostoru služby Log Analytics.
Důležité
Souhrnná pravidla jsou aktuálně ve verzi PREVIEW. Další právní podmínky týkající se funkcí Azure, které jsou v beta verzi, preview nebo jinak ještě nejsou vydané v obecné dostupnosti, najdete v dodatečných podmínkách použití pro Microsoft Azure Preview.
Microsoft Sentinel je obecně dostupný na portálu Microsoft Defenderu na sjednocené platformě operací zabezpečení Microsoftu. Ve verzi Preview je Microsoft Sentinel k dispozici na portálu Defender bez licence XDR v programu Microsoft Defender nebo licence E5. Další informace najdete v tématu Microsoft Sentinel na portálu Microsoft Defender.
Požadavky
Vytvoření souhrnných pravidel v Microsoft Sentinelu:
Microsoft Sentinel musí být povolený alespoň v jednom pracovním prostoru a aktivně využívat protokoly.
Musíte mít přístup k Microsoft Sentinelu s oprávněními přispěvatele Microsoft Sentinelu. Další informace naleznete v části Role a oprávnění ve službě Microsoft Sentinel.
Pokud chcete vytvořit souhrnná pravidla na portálu Microsoft Defender, musíte nejprve připojit pracovní prostor k portálu Defender. Další informace najdete v tématu Připojení Služby Microsoft Sentinel k portálu Microsoft Defender.
Před vytvořením pravidla doporučujeme experimentovat s dotazem na souhrnné pravidlo na stránce Protokoly . Ověřte, že dotaz nedosahuje limitu dotazu nebo se blíží k němu, a zkontrolujte, jestli dotaz produkuje zamýšlené schéma a očekávané výsledky. Pokud se dotaz blíží limitům dotazů, zvažte použití menšího binSize
počtu zpracování dat na interval. Dotaz můžete také upravit tak, aby vracel méně záznamů nebo odebral pole s větším objemem.
Vytvoření souhrnného pravidla
Vytvořte nové souhrnné pravidlo pro agregaci konkrétní velké sady dat do dynamické tabulky. Nakonfigurujte frekvenci pravidel, abyste zjistili, jak často se agregovaná datová sada aktualizuje z nezpracovaných dat.
Na webu Azure Portal v navigační nabídce Služby Microsoft Sentinel v části Konfigurace vyberte Souhrnná pravidla (Preview). Na portálu Defender vyberte pravidla souhrnu konfigurace > Služby Microsoft Sentinel > (Preview). Příklad:
Vyberte + Vytvořit a zadejte následující podrobnosti:
Název. Zadejte smysluplný název pravidla.
Popis. Zadejte volitelný popis.
Cílová tabulka Definujte vlastní tabulku protokolů, ve které se data agregují:
Pokud vyberete Existující vlastní tabulku protokolů, vyberte tabulku, kterou chcete použít.
Pokud vyberete Možnost Nová vlastní tabulka protokolů, zadejte smysluplný název tabulky. Úplný název tabulky používá následující syntaxi:
<tableName>_CL
.
Doporučujeme povolit nastavení diagnostiky SummaryLogs ve vašem pracovním prostoru, abyste získali přehled o historických spuštěních a selháních. Pokud nastavení diagnostiky SummaryLogs není povolené, zobrazí se výzva, abyste je povolili v oblasti Nastavení diagnostiky.
Pokud jsou nastavení diagnostiky SummaryLogs už povolená, ale chcete nastavení upravit, vyberte Konfigurovat upřesňující nastavení diagnostiky. Až se vrátíte na stránku Průvodce souhrnem pravidla, nezapomeňte vybrat Aktualizovat a aktualizovat podrobnosti nastavení.
Důležité
Nastavení diagnostiky SummaryLogs má další náklady. Další informace najdete v tématu Nastavení diagnostiky ve službě Azure Monitor.
Vyberte Další: Nastavte souhrnnou logiku > , aby pokračovala.
Na stránce Nastavit souhrnnou logiku zadejte souhrnný dotaz. Pokud chcete například načíst obsah z Google Cloud Platform, můžete zadat:
GCPAuditLogs | where ServiceName == 'pubsub.googleapis.com' | summarize count() by Severity
Další informace najdete ve scénářích ukázkových souhrnných pravidel a dotazovací jazyk Kusto (KQL) ve službě Azure Monitor.
Výběrem náhledu výsledků zobrazíte příklad dat, která byste shromáždili s nakonfigurovaným dotazem.
V oblasti plánování dotazů definujte následující podrobnosti:
- Jak často se má pravidlo spouštět
- Určuje, jestli se má pravidlo spouštět s jakýmkoli zpožděním v minutách.
- Pokud chcete, aby pravidlo začalo běžet
Časy definované v plánování jsou založené na sloupci
timegenerated
ve vašich datech.Vyberte Další: Zkontrolovat a vytvořit>> uložit a dokončit souhrnné pravidlo.
Existující souhrnná pravidla jsou uvedená na stránce Souhrnná pravidla (Preview), kde můžete zkontrolovat stav pravidla. Pro každé pravidlo vyberte nabídku možností na konci řádku a proveďte některou z následujících akcí:
- Zobrazte aktuální data pravidla na stránce Protokoly , jako byste dotaz spustili okamžitě.
- Zobrazení historie spuštění pro vybrané pravidlo
- Zakažte nebo povolte pravidlo.
- Úprava konfigurace pravidla
Pokud chcete pravidlo odstranit, vyberte řádek pravidla a potom na panelu nástrojů v horní části stránky vyberte Odstranit .
Poznámka:
Azure Monitor také podporuje vytváření souhrnných pravidel prostřednictvím rozhraní API nebo šablony Azure Resource Monitoru (ARM). Další informace najdete v tématu Vytvoření nebo aktualizace souhrnného pravidla.
Ukázkové scénáře souhrnných pravidel
Tato část popisuje běžné scénáře vytváření souhrnných pravidel v Microsoft Sentinelu a naše doporučení pro konfiguraci jednotlivých pravidel. Další informace a příklady najdete v tématu Použití souhrnných pravidel s pomocnými protokoly (ukázkový proces) a zdroji protokolů pro příjem pomocných protokolů.
Rychlé vyhledání škodlivé IP adresy v síťovém provozu
Scénář: Jste lovcem hrozeb a jedním z cílů vašeho týmu je identifikace všech instancí, kdy škodlivá IP adresa interagovala v protokolech síťového provozu z aktivního incidentu za posledních 90 dnů.
Výzva: Microsoft Sentinel v současné době ingestuje několik terabajtů síťových protokolů denně. Potřebujete je rychle procházet, abyste našli shody pro škodlivou IP adresu.
Řešení: K provedení následujících postupů doporučujeme použít souhrnná pravidla:
Vytvořte souhrnnou datovou sadu pro každou IP adresu související s incidentem, včetně
SourceIP
,DestinationIP
MaliciousIP
, ,RemoteIP
, každý výpis důležitých atributů, napříkladIPType
,FirstTimeSeen
aLastTimeSeen
.Souhrnná datová sada umožňuje rychle vyhledat konkrétní IP adresu a zúžit časový rozsah, ve kterém se IP adresa nachází. Můžete to udělat i v případě, že k prohledáným událostem došlo před více než 90 dny, což přesahuje dobu uchování jejich pracovního prostoru.
V tomto příkladu nakonfigurujte souhrn tak, aby se spouštět každý den, aby dotaz přidal nové souhrnné záznamy každý den, dokud nevyprší platnost.
Vytvořte analytické pravidlo , které pro souhrnnou datovou sadu běží méně než dvě minuty a rychle přejde do konkrétního časového rozsahu, když škodlivá IP adresa interaguje se sítí společnosti.
Nezapomeňte nakonfigurovat intervaly spuštění až pět minut minimálně tak, aby vyhovovaly různým velikostem souhrnné datové části. Tím se zajistí, že nedojde ke ztrátě, i když dojde ke zpoždění příjmu událostí.
Příklad:
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
Spuštěním následného hledání nebo korelace s jinými daty dokončete scénář útoku.
Generování upozornění na shody analýzy hrozeb vůči síťovým datům
Generování výstrah na shody analýzy hrozeb proti hlučným, velkým objemům a síťovým datům s nízkou hodnotou zabezpečení
Scénář: Musíte vytvořit analytické pravidlo pro protokoly brány firewall tak, aby odpovídaly názvům domén v systému, který byl navštíven v seznamu názvů domén analýzy hrozeb.
Většina zdrojů dat jsou nezpracované protokoly, které jsou hlučné a mají velký objem, ale mají nižší hodnotu zabezpečení, včetně IP adres, provozu služby Azure Firewall, provozu Fortigate atd. Celkový objem je přibližně 1 TB za den.
Problém: Vytvoření samostatných pravidel vyžaduje více aplikací logiky a vyžaduje další režii a náklady na nastavení a údržbu.
Řešení: K provedení následujících postupů doporučujeme použít souhrnná pravidla:
Vytvoření souhrnného pravidla:
Rozšiřte dotaz tak, aby extrahovali pole klíčů, jako je zdrojová adresa, cílová adresa a cílový port z tabulky CommonSecurityLog_CL , což je CommonSecurityLog s pomocným plánem.
Proveďte vnitřní vyhledávání vůči aktivním indikátorům analýzy hrozeb, abyste identifikovali všechny shody s naší zdrojovou adresou. To vám umožní křížově odkazovat na data se známými hrozbami.
Důležité informace o projektu, včetně času vygenerovaného, typu aktivity a všech škodlivých zdrojových IP adres spolu s podrobnostmi o cíli. Nastavte frekvenci, kterou má dotaz spustit, a cílovou tabulku, například ŠkodlivýIPDetection . Výsledky v této tabulce jsou na analytické úrovni a účtují se odpovídajícím způsobem.
Vytvoření výstrahy:
Vytvoření analytického pravidla v Microsoft Sentinelu, které výstrahy na základě výsledků z tabulky MaliciousIPDetection Tento krok je zásadní pro proaktivní detekci hrozeb a reakci na incidenty.
Ukázkové souhrnné pravidlo:
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
Použití souhrnných pravidel s pomocnými protokoly (ukázkový proces)
Tento postup popisuje ukázkový proces použití souhrnných pravidel s pomocnými protokoly pomocí vlastního připojení vytvořeného prostřednictvím šablony ARM k ingestování dat CEF z Logstash.
Nastavení vlastního konektoru CEF z Logstash:
Nasaďte do pracovního prostoru Microsoft Sentinel následující šablonu ARM, která vytvoří vlastní tabulku s pravidly shromažďování dat (DCR) a koncovým bodem shromažďování dat (DCE):
Všimněte si následujících podrobností z výstupu šablony ARM:
tenant_id
data_collection_endpoint
dcr_immutable_id
dcr_stream_name
Vytvořte aplikaci Microsoft Entra a poznamenejte si ID klienta a tajný klíč aplikace. Další informace najdete v tématu Kurz: Odesílání dat do protokolů služby Azure Monitor pomocí rozhraní API pro příjem protokolů (Azure Portal).
Pomocí našeho ukázkového skriptu aktualizujte konfigurační soubor Logstash. Aktualizace nakonfigurují Logstash tak, aby odesílaly protokoly CEF do vlastní tabulky vytvořené šablonou ARM a transformují data JSON do formátu DCR. V tomto skriptu nezapomeňte nahradit zástupné hodnoty vlastními hodnotami pro vlastní tabulku a aplikaci Microsoft Entra, kterou jste vytvořili dříve.
Zkontrolujte, jestli data CEF proudí z Logstash podle očekávání. Například v Microsoft Sentinelu přejděte na stránku Protokoly a spusťte následující dotaz:
CefAux_CL | take 10
Vytvořte souhrnná pravidla, která agregují vaše data CEF. Příklad:
Vyhledávací incident problému (IoC) data: Vyhledávání konkrétních ioC spuštěním agregovaných souhrnných dotazů za účelem vyvolání jedinečných výskytů a následného dotazování pouze těchto výskytů pro rychlejší výsledky. Následující příklad ukazuje příklad, jak přenést jedinečný
Source Ip
informační kanál spolu s dalšími metadaty, které je pak možné použít pro vyhledávání 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
Dotazování souhrnného směrného plánu pro detekci anomálií Místo spouštění dotazů ve velkých historických obdobích, například 30 nebo 60 dnů, doporučujeme ingestovat data do vlastních protokolů a pak se dotazovat jenom na souhrnná data směrného plánu, jako jsou detekce anomálií časových řad. Příklad:
// 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