Hantera ASIM-parsare (Advanced Security Information Model) (offentlig förhandsversion)
ASIM-användare (Advanced Security Information Model) använder enande parsers i stället för tabellnamn i sina frågor, för att visa data i ett normaliserat format och hämta alla data som är relevanta för schemat i en enda fråga. Varje enande parser använder flera källspecifika parsare som hanterar varje käll specifika information.
Information om hur parsers passar i ASIM-arkitekturen finns i ASIM-arkitekturdiagrammet.
Du kan behöva hantera de källspecifika parsare som används av varje enande parser för att:
Lägg till en anpassad, källspecifik parser till en enande parser.
Ersätt en inbyggd, källspecifik parser som används av en enande parser med en anpassad, källspecifik parser. Ersätt inbyggda parsers när du vill:
Använd en annan version av den inbyggda parsern än den som används som standard i den enande parsern.
Förhindra automatiska uppdateringar genom att bevara den version av den källspecifika parsern som används av den enande parsern.
Använd en modifierad version av en inbyggd parser.
Konfigurera en källspecifik parser, till exempel för att definiera de källor som skickar information som är relevant för parsern.
Den här artikeln vägleder dig genom att hantera dina parsers, oavsett om du använder inbyggda, enhetliga ASIM-parsare eller arbetsytedistribuerade enande parsers.
Viktigt!
ASIM är för närvarande i förhandsversion. Tilläggsvillkoren för Azure Preview innehåller ytterligare juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet.
Förutsättningar
Procedurerna i den här artikeln förutsätter att alla källspecifika parsare redan har distribuerats till din Microsoft Sentinel-arbetsyta.
Mer information finns i Utveckla ASIM-parsare.
Hantera inbyggda enande parsers
Konfigurera din arbetsyta
Microsoft Sentinel-användare kan inte redigera inbyggda enande parsers. Använd i stället följande mekanismer för att ändra beteendet för inbyggda enande parsers:
För att stödja tillägg av källspecifika parsers använder ASIM enhetliga, anpassade parsers. De här anpassade parsarna är arbetsytedistribuerade och kan därför redigeras. Inbyggda, enande parsare hämtar automatiskt dessa anpassade parsers, om de finns.
Du kan distribuera inledande, tomma, enhetliga anpassade parsers till din Microsoft Sentinel-arbetsyta för alla scheman som stöds eller individuellt för specifika scheman. Mer information finns i Distribuera inledande ASIM-tomma anpassade enande parsers på Microsoft Sentinel GitHub-lagringsplatsen.
För att stödja exkludering av inbyggda källspecifika parsare använder ASIM en bevakningslista. Distribuera visningslistan till din Microsoft Sentinel-arbetsyta från Microsoft Sentinel GitHub-lagringsplatsen .
För att definiera källtyp för inbyggda och anpassade parsers använder ASIM en visningslista. Distribuera visningslistan till din Microsoft Sentinel-arbetsyta från Microsoft Sentinel GitHub-lagringsplatsen .
Lägga till en anpassad parser i en inbyggd enande parser
Om du vill lägga till en anpassad parser infogar du en rad i den anpassade enande parsern för att referera till den nya anpassade parsern.
Se till att lägga till både en anpassad parser för filtrering och en parameterlös anpassad parser. Mer information om hur du redigerar parsers finns i dokumentet Functions i Azure Monitor-loggfrågor.
Syntaxen för den rad som ska läggas till är olika för varje schema:
Schema | Parser | Rad att lägga till |
---|---|---|
DNS | Im_DnsCustom |
_parser_name_ (starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype) |
NetworkSession | Im_NetworkSessionCustom |
_parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, dstipaddr_has_any_prefix, dstportnumber, hostname_has_any, dvcaction, eventresult) |
WebSession | Im_WebSessionCustom |
_parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, url_has_any, httpuseragent_has_any, eventresultdetails_in, eventresult) |
När du lägger till ytterligare en parser till en enande anpassad parser som redan refererar till parsers, se till att du lägger till ett kommatecken i slutet av föregående rad.
Följande kod visar till exempel en anpassad enande parser när du added_parser
har lagt till :
union isfuzzy=true
existing_parser(starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype),
added_parser(starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)
Använda en modifierad version av en inbyggd parser
Så här ändrar du en befintlig, inbyggd källspecifik parser:
Skapa en anpassad parser baserat på den ursprungliga parsern och lägg till den i den inbyggda parsern.
Lägg till en post i visningslistan
ASim Disabled Parsers
.CallerContext
Definiera värdet somExclude<parser name>
, där<parser name>
är namnet på de enande parsare som du vill exkludera parsern från.SourceSpecificParser
Definiera värdetExclude<parser name>
, där<parser name>
är namnet på den parser som du vill exkludera, utan en versionsspecificerare.
Om du till exempel vill exkludera DNS-parsern för Azure Firewall lägger du till följande post i bevakningslistan:
CallerContext | SourceSpecificParser |
---|---|
Exclude_Im_Dns |
Exclude_Im_Dns_AzureFirewall |
Förhindra en automatisk uppdatering av en inbyggd parser
Använd följande process för att förhindra automatiska uppdateringar för inbyggda, källspecifika parsare:
Lägg till den inbyggda parserversion som du vill använda, till exempel
_Im_Dns_AzureFirewallV02
, i den anpassade enande parsern. Mer information finns i Ovan, Lägg till en anpassad parser till en inbyggd enande parser.Lägg till ett undantag för den inbyggda parsern. Om du till exempel helt vill välja bort automatiska uppdateringar och därför exkludera ett stort antal inbyggda parsers lägger du till:
- En post med
Any
somSourceSpecificParser
fält för att exkludera alla parsers förCallerContext
. - En post för
Any
i CallerContext och fältenSourceSpecificParser
för att exkludera alla inbyggda parsers.
Mer information finns i Använda en modifierad version av en inbyggd parser.
Hantera arbetsytedistribuerade enande parsers
Lägga till en anpassad parser till en arbetsytedistribuerad enande parser
Om du vill lägga till en anpassad parser infogar du en rad i -instruktionen union
i den arbetsytedistribuerade enande parsern som refererar till den nya anpassade parsern.
Se till att lägga till både en anpassad parser för filtrering och en parameterlös anpassad parser. Syntaxen för den rad som ska läggas till är olika för varje schema:
Schema | Parser | Rad att lägga till |
---|---|---|
Autentisering | ImAuthentication |
_parser_name_ (starttime, endtime, targetusername_has) |
DNS | ImDns |
_parser_name_ (starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype) |
Filhändelse | imFileEvent |
_parser_name_ |
Nätverkssession | imNetworkSession |
_parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, dstipaddr_has_any_prefix, dstportnumber, url_has_any, httpuseragent_has_any, hostname_has_any, dvcaction, eventresult) |
Processhändelse | - imProcess - imProcessCreate - imProcessTerminate |
_parser_name_ |
Registerhändelse | imRegistry |
_parser_name_ |
Webbsession | imWebSession |
_parser_name_ parser (starttime, endtime, srcipaddr_has_any, url_has_any, httpuseragent_has_any, eventresultdetails_in, eventresult) |
När du lägger till ytterligare en parser i en enande parser ska du lägga till ett kommatecken i slutet av föregående rad.
I följande exempel visas till exempel DNS-filtreringens enande parser när du har lagt till den anpassade added_parser
:
let Generic=(starttime:datetime=datetime(null), endtime:datetime=datetime(null) , srcipaddr:string='*' , domain_has_any:dynamic=dynamic([]) , responsecodename:string='*', response_has_ipv4:string='*' , response_has_any_prefix:dynamic=dynamic([]) , eventtype:string='lookup' ){
let DisabledParsers=materialize(_GetWatchlist('ASimDisabledParsers') | where SearchKey in ('Any', 'imDns') | extend SourceSpecificParser=column_ifexists('SourceSpecificParser','') | distinct SourceSpecificParser);
let imDnsBuiltInDisabled=toscalar('imDnsBuiltIn' in (DisabledParsers) or 'Any' in (DisabledParsers));
union isfuzzy=true
vimDnsEmpty
, vimDnsCiscoUmbrella ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype, (imDnsBuiltInDisabled or('vimDnsCiscoUmbrella' in (DisabledParsers) )))
, vimDnsInfobloxNIOS ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype, (imDnsBuiltInDisabled or('vimDnsInfobloxNIOS' in (DisabledParsers) )))
...
, vimDnsAzureFirewall ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype, (imDnsBuiltInDisabled or('vimDnsAzureFirewall' in (DisabledParsers) )))
, vimDnsMicrosoftNXlog ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype, (imDnsBuiltInDisabled or('vimDnsMicrosoftNXlog' in (DisabledParsers) ))),
added_parser ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)
};
Generic( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)
Använda en modifierad version av en arbetsytedistribuerad parser
Microsoft Sentinel-användare kan direkt ändra arbetsytedistribuerade parsers. Skapa en parser baserat på originalet, kommentera ut originalet och lägg sedan till den ändrade versionen i den arbetsytedistribuerade enande parsern.
Följande kod visar till exempel en DNS-filtreringsenande enande parser, efter att ha ersatt parsern med en modifierad vimDnsAzureFirewall
version:
let Generic=(starttime:datetime=datetime(null), endtime:datetime=datetime(null) , srcipaddr:string='*' , domain_has_any:dynamic=dynamic([]) , responsecodename:string='*', response_has_ipv4:string='*' , response_has_any_prefix:dynamic=dynamic([]) , eventtype:string='lookup' ){
let DisabledParsers=materialize(_GetWatchlist('ASimDisabledParsers') | where SearchKey in ('Any', 'imDns') | extend SourceSpecificParser=column_ifexists('SourceSpecificParser','') | distinct SourceSpecificParser);
let imDnsBuiltInDisabled=toscalar('imDnsBuiltIn' in (DisabledParsers) or 'Any' in (DisabledParsers));
union isfuzzy=true
vimDnsEmpty
, vimDnsCiscoUmbrella ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype, (imDnsBuiltInDisabled or('vimDnsCiscoUmbrella' in (DisabledParsers) )))
, vimDnsInfobloxNIOS ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype, (imDnsBuiltInDisabled or('vimDnsInfobloxNIOS' in (DisabledParsers) )))
...
// , vimDnsAzureFirewall ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype, (imDnsBuiltInDisabled or('vimDnsAzureFirewall' in (DisabledParsers) )))
, vimDnsMicrosoftNXlog ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype, (imDnsBuiltInDisabled or('vimDnsMicrosoftNXlog' in (DisabledParsers) ))),
modified_vimDnsAzureFirewall ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)
};
Generic( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)
Konfigurera de källor som är relevanta för en källspecifik parser
Vissa parsare kräver att du uppdaterar listan över källor som är relevanta för parsern. En parser som använder Syslog-data kanske till exempel inte kan avgöra vilka Syslog-händelser som är relevanta för parsern. En sådan parser kan använda Sources_by_SourceType
visningslistan för att avgöra vilka källor som skickar information som är relevant för parsern. För sådana parsar lägger du till en post för varje relevant källa i visningslistan:
- Ange fältet
SourceType
till det parser-specifika värde som anges i parserdokumentationen. - Ange fältet
Source
till identifieraren för den källa som används i händelserna. Du kan behöva fråga den ursprungliga tabellen, till exempel Syslog, för att fastställa rätt värde.
Om systemet inte har Sources_by_SourceType
visningslistan distribuerad distribuerar du visningslistan till din Microsoft Sentinel-arbetsyta från Microsoft Sentinel GitHub-lagringsplatsen .
Nästa steg
I den här artikeln beskrivs hur du hanterar ASIM-parsarna (Advanced Security Information Model).
Läs mer om ASIM-parsers:
- Översikt över ASIM-parsare
- Använda ASIM-parsers
- Utveckla anpassade ASIM-parsers
- Lista med ASIM-parsers
Läs mer om ASIM i allmänhet: