ASIM-parsers (Advanced Security Information Model) beheren (openbare preview)
ASIM-gebruikers (Advanced Security Information Model) gebruiken parsers in plaats van tabelnamen in hun query's om gegevens in een genormaliseerde indeling weer te geven en alle gegevens op te halen die relevant zijn voor het schema in één query. Elke samenvoegingsparser maakt gebruik van meerdere bronspecifieke parsers die de specifieke details van elke bron verwerken.
Als u wilt weten hoe parsers binnen de ASIM-architectuur passen, raadpleegt u het ASIM-architectuurdiagram.
Mogelijk moet u de bronspecifieke parsers beheren die door elke parser worden gebruikt om:
Voeg een aangepaste, bronspecifieke parser toe aan een samenvoegende parser.
Vervang een ingebouwde, bronspecifieke parser die wordt gebruikt door een samenvoegingsparser met een aangepaste, bronspecifieke parser. Vervang ingebouwde parsers wanneer u het volgende wilt doen:
Gebruik een andere versie van de ingebouwde parser dan de versie die standaard in de parser wordt gebruikt.
Voorkom geautomatiseerde updates door de versie van de bronspecifieke parser te behouden die door de parser wordt gebruikt.
Gebruik een gewijzigde versie van een ingebouwde parser.
Configureer een bronspecifieke parser, bijvoorbeeld om de bronnen te definiëren die informatie verzenden die relevant is voor de parser.
In dit artikel wordt u begeleid bij het beheren van uw parsers, ongeacht of u ingebouwde ASIM-parsers of door een werkruimte geïmplementeerde parsers gebruikt.
Belangrijk
ASIM is momenteel beschikbaar als PREVIEW-versie. De Aanvullende voorwaarden voor Azure-previews omvatten aanvullende juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta of preview zijn of die anders nog niet algemeen beschikbaar zijn.
Vereisten
In de procedures in dit artikel wordt ervan uitgegaan dat alle bronspecifieke parsers al zijn geïmplementeerd in uw Microsoft Sentinel-werkruimte.
Zie ASIM-parsers ontwikkelen voor meer informatie.
Ingebouwde parsers beheren
Uw werkruimte instellen
Microsoft Sentinel-gebruikers kunnen ingebouwde parsers niet bewerken. Gebruik in plaats daarvan de volgende mechanismen om het gedrag van ingebouwde parsers te wijzigen:
ASIM biedt ondersteuning voor het toevoegen van bronspecifieke parsers. ASIM maakt gebruik van samenvoegende, aangepaste parsers. Deze aangepaste parsers worden door de werkruimte geïmplementeerd en kunnen daarom worden bewerkt. Ingebouwde parsers worden automatisch opgehaald door ingebouwde parsers, indien aanwezig, deze aangepaste parsers op te halen.
U kunt initiële, lege, aangepaste parsers implementeren in uw Microsoft Sentinel-werkruimte voor alle ondersteunde schema's of afzonderlijk voor specifieke schema's. Zie Initial ASIM lege aangepaste parsers implementeren in de GitHub-opslagplaats van Microsoft Sentinel voor meer informatie.
ASIM maakt gebruik van een volglijst ter ondersteuning van ingebouwde bronspecifieke parsers. Implementeer de volglijst in uw Microsoft Sentinel-werkruimte vanuit de GitHub-opslagplaats van Microsoft Sentinel.
ASIM gebruikt een volglijst om het brontype voor ingebouwde en aangepaste parsers te definiëren. Implementeer de volglijst in uw Microsoft Sentinel-werkruimte vanuit de GitHub-opslagplaats van Microsoft Sentinel.
Een aangepaste parser toevoegen aan een ingebouwde parser
Als u een aangepaste parser wilt toevoegen, voegt u een lijn toe aan de aangepaste parser om te verwijzen naar de nieuwe, aangepaste parser.
Zorg ervoor dat u zowel een aangepaste filterparser als een aangepaste parameterloze aangepaste parser toevoegt. Raadpleeg de documentfuncties in Azure Monitor-logboekquery's voor meer informatie over het bewerken van parsers.
De syntaxis van de regel die moet worden toegevoegd, verschilt voor elk schema:
Schema | Parser | Regel om toe te voegen |
---|---|---|
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) |
Wanneer u een extra parser toevoegt aan een samenvoegende aangepaste parser die al verwijst naar parsers, moet u een komma toevoegen aan het einde van de vorige regel.
In de volgende code wordt bijvoorbeeld een aangepaste parser weergegeven nadat u het added_parser
volgende hebt toegevoegd:
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)
Een gewijzigde versie van een ingebouwde parser gebruiken
Een bestaande, ingebouwde bronspecifieke parser wijzigen:
Maak een aangepaste parser op basis van de oorspronkelijke parser en voeg deze toe aan de ingebouwde parser.
Voeg een record toe aan de
ASim Disabled Parsers
volglijst.Definieer de
CallerContext
waarde alsExclude<parser name>
, waar<parser name>
is de naam van de samenvoegende parsers waarvan u de parser wilt uitsluiten.Definieer de
SourceSpecificParser
waardeExclude<parser name>
, waarbij<parser name>
de naam is van de parser die u wilt uitsluiten, zonder versieaanduiding.
Als u bijvoorbeeld de Azure Firewall DNS-parser wilt uitsluiten, voegt u de volgende record toe aan de volglijst:
CallerContext | SourceSpecificParser |
---|---|
Exclude_Im_Dns |
Exclude_Im_Dns_AzureFirewall |
Een automatische update van een ingebouwde parser voorkomen
Gebruik het volgende proces om automatische updates voor ingebouwde, bronspecifieke parsers te voorkomen:
Voeg de ingebouwde parserversie toe die u wilt gebruiken, zoals
_Im_Dns_AzureFirewallV02
, aan de aangepaste parser. Zie hierboven voor meer informatie een aangepaste parser toevoegen aan een ingebouwde parser.Voeg een uitzondering toe voor de ingebouwde parser. Als u zich bijvoorbeeld volledig wilt afmelden voor automatische updates en daarom een groot aantal ingebouwde parsers wilt uitsluiten, voegt u het volgende toe:
- Een record met
Any
als veldSourceSpecificParser
om alle parsers voor hetCallerContext
veld uit te sluiten. - Een record voor
Any
in CallerContext en deSourceSpecificParser
velden om alle ingebouwde parsers uit te sluiten.
Zie Een gewijzigde versie van een ingebouwde parser gebruiken voor meer informatie.
Door de werkruimte geïmplementeerde parsers beheren
Een aangepaste parser toevoegen aan een door een werkruimte geïmplementeerde parser
Als u een aangepaste parser wilt toevoegen, voegt u een regel toe aan de union
instructie in de door de werkruimte geïmplementeerde parser die verwijst naar de nieuwe aangepaste parser.
Zorg ervoor dat u zowel een aangepaste filterparser als een aangepaste parameterloze aangepaste parser toevoegt. De syntaxis van de regel die moet worden toegevoegd, verschilt voor elk schema:
Schema | Parser | Regel om toe te voegen |
---|---|---|
Verificatie | 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) |
Bestandsevenement | imFileEvent |
_parser_name_ |
Netwerksessie | 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) |
Proces-gebeurtenis | - imProcess - imProcessCreate - imProcessTerminate |
_parser_name_ |
Register-gebeurtenis | imRegistry |
_parser_name_ |
Websessie | imWebSession |
_parser_name_ parser (starttime, endtime, srcipaddr_has_any, url_has_any, httpuseragent_has_any, eventresultdetails_in, eventresult) |
Wanneer u een extra parser toevoegt aan een samenvoegende parser, moet u een komma toevoegen aan het einde van de vorige regel.
In het volgende voorbeeld ziet u bijvoorbeeld de parser voor DNS-filtering, nadat u de aangepaste added_parser
parser hebt toegevoegd:
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)
Een gewijzigde versie van een door een werkruimte geïmplementeerde parser gebruiken
Microsoft Sentinel-gebruikers kunnen door de werkruimte geïmplementeerde parsers rechtstreeks wijzigen. Maak een parser op basis van het origineel, maak commentaar bij het origineel en voeg vervolgens de gewijzigde versie toe aan de door de werkruimte geïmplementeerde parser.
De volgende code toont bijvoorbeeld een DNS-filtering die parser samendeelt, waarbij de vimDnsAzureFirewall
parser is vervangen door een gewijzigde versie:
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)
De bronnen configureren die relevant zijn voor een bronspecifieke parser
Voor sommige parsers moet u de lijst met bronnen bijwerken die relevant zijn voor de parser. Een parser die syslog-gegevens gebruikt, kan bijvoorbeeld niet bepalen welke Syslog-gebeurtenissen relevant zijn voor de parser. Een dergelijke parser kan de Sources_by_SourceType
volglijst gebruiken om te bepalen welke bronnen informatie verzenden die relevant is voor de parser. Voeg voor dergelijke parsies een record toe voor elke relevante bron aan de volglijst:
- Stel het
SourceType
veld in op de specifieke waarde van de parser die is opgegeven in de parserdocumentatie. - Stel het
Source
veld in op de id van de bron die in de gebeurtenissen wordt gebruikt. Mogelijk moet u een query uitvoeren op de oorspronkelijke tabel, zoals Syslog, om de juiste waarde te bepalen.
Als het systeem de Sources_by_SourceType
volglijst niet heeft geïmplementeerd, implementeert u de volglijst in uw Microsoft Sentinel-werkruimte vanuit de GitHub-opslagplaats van Microsoft Sentinel.
Volgende stappen
In dit artikel wordt beschreven hoe u de ASIM-parsers (Advanced Security Information Model) beheert.
Meer informatie over ASIM-parsers:
- Overzicht van ASIM-parsers
- ASIM-parsers gebruiken
- Aangepaste ASIM-parsers ontwikkelen
- De ASIM-parserlijst
Meer informatie over de ASIM in het algemeen: