Delen via


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_parservolgende 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:

  1. Maak een aangepaste parser op basis van de oorspronkelijke parser en voeg deze toe aan de ingebouwde parser.

  2. Voeg een record toe aan de ASim Disabled Parsers volglijst.

  3. Definieer de CallerContext waarde als Exclude<parser name>, waar <parser name> is de naam van de samenvoegende parsers waarvan u de parser wilt uitsluiten.

  4. Definieer de SourceSpecificParser waarde Exclude<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:

  1. 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.

  2. 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 veld SourceSpecificParser om alle parsers voor het CallerContextveld uit te sluiten.
  • Een record voor Any in CallerContext en de SourceSpecificParser 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_parserparser 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:

Meer informatie over de ASIM in het algemeen: