ASIM-parsers (Advanced Security Information Model) beheren (openbare preview)
ASIM-gebruikers (Advanced Security Information Model) gebruiken unifying 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 unifying parser maakt gebruik van meerdere bronspecifieke parsers die de specifieke details van elke bron verwerken.
Raadpleeg het diagram ASIM-architectuur om te begrijpen hoe parsers binnen de ASIM-architectuur passen.
Mogelijk moet u de bronspecifieke parsers beheren die door elke unifying-parser worden gebruikt om:
Voeg een aangepaste, bronspecifieke parser toe aan een samenvoegende parser.
Vervang een ingebouwde, bronspecifieke parser die wordt gebruikt door een unifying-parser door een aangepaste, bronspecifieke parser. Vervang ingebouwde parsers wanneer u het volgende wilt:
Gebruik een andere versie van de ingebouwde parser dan de versie die standaard wordt gebruikt in de unifying-parser.
Voorkom geautomatiseerde updates door de versie van de bronspecifieke parser te behouden die wordt gebruikt door de samensparingsparser.
Gebruik een aangepaste 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, of u nu gebruikmaakt van ingebouwde, unifying ASIM-parsers of door werkruimte geïmplementeerde unifying parsers.
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 unifying-parsers beheren
Uw werkruimte instellen
Microsoft Sentinel-gebruikers kunnen geen ingebouwde samensparingsparseer bewerken. Gebruik in plaats daarvan de volgende mechanismen om het gedrag van ingebouwde unifying parsers te wijzigen:
Ter ondersteuning van het toevoegen van bronspecifieke parsers maakt ASIM gebruik van unifying, aangepaste parsers. Deze aangepaste parsers worden in de werkruimte geïmplementeerd en kunnen daarom worden bewerkt. Ingebouwde, verenigende parsers nemen deze aangepaste parsers automatisch op, als ze bestaan.
U kunt initiële, lege, eenduidige aangepaste parsers implementeren in uw Microsoft Sentinel-werkruimte voor alle ondersteunde schema's of afzonderlijk voor specifieke schema's. Zie Initial ASIM empty custom unifying parsers implementeren in de GitHub-opslagplaats van Microsoft Sentinel voor meer informatie.
Ter ondersteuning van het uitsluiten van ingebouwde bronspecifieke parsers gebruikt ASIM een volglijst. Implementeer de volglijst in uw Microsoft Sentinel-werkruimte vanuit de GitHub-opslagplaats van Microsoft Sentinel.
Voor het definiëren van het brontype voor ingebouwde en aangepaste parsers gebruikt ASIM een volglijst. Implementeer de volglijst in uw Microsoft Sentinel-werkruimte vanuit de GitHub-opslagplaats van Microsoft Sentinel.
Een aangepaste parser toevoegen aan een ingebouwde unifying parser
Als u een aangepaste parser wilt toevoegen, voegt u een regel toe aan de aangepaste unifying-parser om te verwijzen naar de nieuwe, aangepaste parser.
Zorg ervoor dat u zowel een aangepaste filterparser als een aangepaste parser met parameters toevoegt. Raadpleeg het document Functies in Azure Monitor-logboekquery's voor meer informatie over het bewerken van parsers.
De syntaxis van de toe te voegen regel verschilt voor elk schema:
Schema | Parser | Toe te voegen regel |
---|---|---|
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.
De volgende code toont bijvoorbeeld een aangepaste unifying parser nadat u de added_parser
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 aangepaste 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>
, waarbij<parser name>
de naam is 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 een 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 die u wilt gebruiken, zoals
_Im_Dns_AzureFirewallV02
, toe aan de aangepaste unifying-parser. Zie hierboven Een aangepaste parser toevoegen aan een ingebouwde unifying-parser voor meer informatie.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
alsSourceSpecificParser
veld om alle parsers voor deCallerContext
uit te sluiten. - Een record voor
Any
in de CallerContext en deSourceSpecificParser
velden om alle ingebouwde parsers uit te sluiten.
Zie Een aangepaste versie van een ingebouwde parser gebruiken voor meer informatie.
Door werkruimte geïmplementeerde unifying parsers beheren
Een aangepaste parser toevoegen aan een door een werkruimte geïmplementeerde unifying-parser
Als u een aangepaste parser wilt toevoegen, voegt u een regel toe aan de union
instructie in de door de werkruimte geïmplementeerde unifying parser die verwijst naar de nieuwe aangepaste parser.
Zorg ervoor dat u zowel een aangepaste filterparser als een aangepaste parser met parameters toevoegt. De syntaxis van de toe te voegen regel verschilt voor elk schema:
Schema | Parser | Toe te voegen regel |
---|---|---|
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) |
Bestands gebeurtenis | 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) |
Gebeurtenis verwerken | - 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 unifying parser, moet u een komma toevoegen aan het einde van de vorige regel.
In het volgende voorbeeld ziet u bijvoorbeeld de unifying parser voor DNS-filtering nadat u de aangepaste added_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 aangepaste versie van een door een werkruimte geïmplementeerde parser gebruiken
Microsoft Sentinel-gebruikers kunnen door werkruimte geïmplementeerde parsers rechtstreeks wijzigen. Maak een parser op basis van het origineel, markeer het origineel als commentaar en voeg vervolgens de gewijzigde versie toe aan de door de werkruimte geïmplementeerde unifying parser.
De volgende code toont bijvoorbeeld een DNS-filtering unifying parser, 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 mogelijk 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 parseringen een record toe voor elke relevante bron aan de volglijst:
- Stel het
SourceType
veld in op de parserspecifieke waarde 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 de Sources_by_SourceType
volglijst niet op uw systeem is geïmplementeerd, implementeert u de volglijst in uw Microsoft Sentinel-werkruimte vanuit de GitHub-opslagplaats van Microsoft Sentinel.
Volgende stappen
In dit artikel wordt het beheren van de ASIM-parsers (Advanced Security Information Model) besproken.
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: