Naslaginformatie over het schema voor het normaliseren van websessies (Advanced Security Information Model)

Het schema voor normalisatie van websessies wordt gebruikt om een IP-netwerkactiviteit te beschrijven. IP-netwerkactiviteiten worden bijvoorbeeld gerapporteerd door webservers, webproxy's en webbeveiligingsgateways.

Zie Normalisatie en het Advanced Security Information Model (ASIM) voor meer informatie over normalisatie in Microsoft Sentinel.

Schemaoverzicht

Het schema voor normalisatie van websessies vertegenwoordigt elke HTTP-netwerksessie en is geschikt om ondersteuning te bieden voor algemene brontypen, waaronder:

  • Webservers
  • Webproxy's
  • Webbeveiligingsgateways

Het ASIM-websessieschema vertegenwoordigt HTTP- en HTTPS-protocolactiviteit. Omdat het schema protocolactiviteit vertegenwoordigt, wordt het beheerd door RFC's en officieel toegewezen parameterlijsten, waarnaar in dit artikel wordt verwezen indien van toepassing.

Het websessieschema vertegenwoordigt geen controlegebeurtenissen van bronapparaten. Een gebeurtenis die een webbeveiligingsgatewaybeleid wijzigt, kan bijvoorbeeld niet worden vertegenwoordigd door het websessieschema.

Omdat HTTP-sessies toepassingslaagsessies zijn die gebruikmaken van TCP/IP als de onderliggende netwerklaagsessie, is het schema van de websessie een superset van het ASIM-netwerksessieschema.

De belangrijkste velden in een websessieschema zijn:

  • URL, die de URL rapporteert die de client heeft aangevraagd bij de server.
  • De SrcIpAddr (alias naar IpAddr), die het IP-adres vertegenwoordigt van waaruit de aanvraag is gegenereerd.
  • Het veld EventResultDetails , waarin doorgaans de HTTP-statuscode wordt gerapporteerd.

Websessie-gebeurtenissen kunnen ook gebruikers- en procesgegevens bevatten voor de gebruiker en het proces dat de aanvraag initieert.

Parsers

Zie het overzicht van ASIM-parsers voor meer informatie over ASIM-parsers.

Parseerfuncties samenvoegen

Als u parsers wilt gebruiken waarmee alle out-of-the-box ASIM-parsers worden samengevoegd en ervoor wilt zorgen dat uw analyse wordt uitgevoerd in alle geconfigureerde bronnen, gebruikt u de _Im_WebSession parser.

Out-of-the-box, bronspecifieke parsers

Raadpleeg de lijst met ASIM-parsers voor de lijst met websessieparsesers die Microsoft Sentinel out-of-the-box biedt

Uw eigen genormaliseerde parsers toevoegen

Bij het implementeren van aangepaste parsers voor het websessiegegevensmodel, geeft u de KQL-functies een naam met behulp van de volgende syntaxis:

  • vimWebSession<vendor><Product> voor geparametriseerde parsers
  • ASimWebSession<vendor><Product> voor normale parsers

Parameters voor filteren van parser

De im parsers en vim* ondersteunen filterparameters. Hoewel deze parsers optioneel zijn, kunnen ze uw queryprestaties verbeteren.

De volgende filterparameters zijn beschikbaar:

Naam Type Beschrijving
Starttime Datetime Filter alleen websessies die op of na deze tijd zijn gestart . Deze parameter filtert op het TimeGenerated veld, dat de standaardindeling is voor de tijd van de gebeurtenis, ongeacht de parserspecifieke toewijzing van de velden EventStartTime en EventEndTime.
Eindtijd Datetime Filter alleen websessies die zijn gestart op of vóór deze tijd. Deze parameter filtert op het TimeGenerated veld, dat de standaardindeling is voor de tijd van de gebeurtenis, ongeacht de parserspecifieke toewijzing van de velden EventStartTime en EventEndTime.
srcipaddr_has_any_prefix Dynamische Filter alleen websessies waarvan het bron-IP-adresveldvoorvoegsel zich in een van de vermelde waarden bevindt. De lijst met waarden kan IP-adressen en IP-adresvoorvoegsels bevatten. Voorvoegsels moeten eindigen op een ., bijvoorbeeld: 10.0.. De lengte van de lijst is beperkt tot 10.000 items.
ipaddr_has_any_prefix Dynamische Filter alleen netwerksessies waarvoor het doel-IP-adresveld of het veldvoorvoegsel van het bron-IP-adres zich in een van de vermelde waarden bevindt. Voorvoegsels moeten eindigen op een ., bijvoorbeeld: 10.0.. De lengte van de lijst is beperkt tot 10.000 items.

Het veld ASimMatchingIpAddr wordt ingesteld met een van de waarden SrcIpAddr, DstIpAddrof Both om de overeenkomende velden of velden weer te geven.
url_has_any Dynamische Filter alleen websessies waarvoor het URL-veld een van de vermelde waarden bevat. De parser kan het schema van de URL negeren die als parameter wordt doorgegeven, als de bron dit niet rapporteert. Als dit is opgegeven en de sessie geen websessie is, wordt er geen resultaat geretourneerd. De lengte van de lijst is beperkt tot 10.000 items.
httpuseragent_has_any Dynamische Filter alleen websessies waarvoor het veld gebruikersagent een van de vermelde waarden bevat. Als dit is opgegeven en de sessie geen websessie is, wordt er geen resultaat geretourneerd. De lengte van de lijst is beperkt tot 10.000 items.
eventresultdetails_in Dynamische Filter alleen websessies waarvoor de HTTP-statuscode, opgeslagen in het veld EventResultDetails , een van de vermelde waarden is.
eventresult tekenreeks Filter alleen netwerksessies met een specifieke EventResult-waarde .

Sommige parameters kunnen zowel een lijst met waarden van het type dynamic als één tekenreekswaarde accepteren. Als u een letterlijke lijst wilt doorgeven aan parameters die een dynamische waarde verwachten, gebruikt u expliciet een dynamische letterlijke waarde. Bijvoorbeeld:dynamic(['192.168.','10.'])

Als u bijvoorbeeld alleen websessies wilt filteren op een opgegeven lijst met domeinnamen, gebruikt u:

let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_WebSession (url_has_any = torProxies)

Schemadetails

Het informatiemodel van de websessie is afgestemd op het entiteitsschema OSSEM Network en het OSSEM HTTP-entiteitsschema.

Om te voldoen aan de aanbevolen procedures in de branche, gebruikt het schema van de websessie de descriptors Src en Dst om de sessiebron- en doelapparaten te identificeren, zonder het token Dvc op te geven in de veldnaam.

De hostnaam en het IP-adres van het bronapparaat worden bijvoorbeeld respectievelijk SrcHostname en SrcIpAddr genoemd, en niet SrcDvcHostname en SrcDvcIpAddr. Het voorvoegsel Dvc wordt alleen gebruikt voor het rapportage- of intermediaire apparaat, indien van toepassing.

Velden die de gebruiker en toepassing beschrijven die zijn gekoppeld aan de bron- en doelapparaten, gebruiken ook de Src - en Dst-descriptors .

Andere ASIM-schema's gebruiken doorgaans Doel in plaats van Dst.

Algemene ASIM-velden

Belangrijk

Algemene velden voor alle schema's worden uitgebreid beschreven in het artikel Algemene velden van ASIM .

Algemene velden met specifieke richtlijnen

In de volgende lijst worden velden vermeld met specifieke richtlijnen voor websessie-gebeurtenissen:

Veld Klasse Type Beschrijving
EventType Verplicht Opgesomde Beschrijft de bewerking die door de record wordt gerapporteerd. Toegestane waarden zijn:
- HTTPsession: geeft een netwerksessie aan die wordt gebruikt voor HTTP of HTTPS, meestal gerapporteerd door een tussenliggend apparaat, zoals een proxy of een webbeveiligingsgateway.
- WebServerSession: Geeft een HTTP-aanvraag aan die is gerapporteerd door een webserver. Een dergelijke gebeurtenis bevat doorgaans minder netwerkgerelateerde informatie. De gerapporteerde URL mag geen schema en servernaam bevatten, maar alleen het pad en de parameters die deel uitmaken van de URL.
- ApiRequest: Geeft een HTTP-aanvraag aan die is gekoppeld aan een API-aanroep, meestal gerapporteerd door een toepassingsserver. Een dergelijke gebeurtenis bevat doorgaans minder netwerkgerelateerde informatie. Wanneer de gerapporteerde URL door de toepassingsserver wordt gerapporteerd, mag deze geen schema en een servernaam bevatten, maar alleen het pad en de parameters die deel uitmaken van de URL.
EventResult Verplicht Opgesomde Beschrijft het gebeurtenisresultaat, genormaliseerd naar een van de volgende waarden:
- Success
- Partial
- Failure
- NA (niet van toepassing)

Voor een HTTP-sessie Success wordt gedefinieerd als een statuscode die lager is dan 400en Failure wordt gedefinieerd als een statuscode die hoger is dan 400. Raadpleeg W3 Org voor een lijst met HTTP-statuscodes.

De bron biedt mogelijk alleen een waarde voor het veld EventResultDetails , die moet worden geanalyseerd om de waarde EventResult op te halen.
EventResultDetails Aanbevolen Opgesomde De HTTP-statuscode zoals gedefinieerd door The World Wide Web Consortium

Opmerking: De waarde kan worden opgegeven in de bronrecord met behulp van verschillende termen, die moeten worden genormaliseerd naar deze waarden. De oorspronkelijke waarde moet worden opgeslagen in het veld EventOriginalResultDetails .
EventSchema Verplicht Opgesomde De naam van het schema dat hier wordt beschreven, is WebSession.
EventSchemaVersion Verplicht SchemaVersion (tekenreeks) De versie van het schema. De versie van het schema dat hier wordt beschreven, is 0.2.7
Dvc-velden Voor websessie-gebeurtenissen verwijzen apparaatvelden naar het systeem dat de websessie-gebeurtenis rapporteert. Dit is meestal een tussenliggend apparaat voor HTTPSession gebeurtenissen en de doelweb- of toepassingsserver voor WebServerSession en ApiRequest gebeurtenissen.

Alle algemene velden

Velden die in de onderstaande tabel worden weergegeven, zijn gemeenschappelijk voor alle ASIM-schema's. Elke hierboven opgegeven richtlijn overschrijft de algemene richtlijnen voor het veld. Een veld kan bijvoorbeeld in het algemeen optioneel zijn, maar verplicht voor een specifiek schema. Raadpleeg het artikel Algemene velden van ASIM voor meer informatie over elk veld.

Klasse Velden
Verplicht - EventCount
- EventStartTime
- EventEndTime
- EventType
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- Dvc
Aanbevolen - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Optioneel - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- EventOwner
- DvcZone
- DvcMacAddr
- DvcO's
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- AdditionalFields
- DvcDescription
- DvcScopeId
- DvcScope

Velden voor netwerksessie

HTTP-sessies zijn toepassingslaagsessies die gebruikmaken van TCP/IP als de onderliggende netwerklaagsessie. Het websessieschema is een superset van het ASIM-netwerksessieschema en alle netwerkschemavelden zijn ook opgenomen in het schema van de websessie.

De volgende schemavelden voor ASIM-netwerksessie hebben specifieke richtlijnen wanneer deze worden gebruikt voor een websessie-gebeurtenis:

  • De alias Gebruiker moet verwijzen naar de SrcUsername en niet naar DstUsername.
  • Het veld EventOriginalResultDetails kan elk resultaat bevatten dat is gerapporteerd door de bron, naast de HTTP-statuscode die is opgeslagen in EventResultDetails.
  • Voor websessies is het primaire doelveld het URL-veld. Het DstDomain is optioneel in plaats van aanbevolen. Als deze niet beschikbaar is, hoeft u deze niet te extraheren uit de URL in de parser.
  • De velden NetworkRuleName en NetworkRuleNumber zijn respectievelijk hernoemd RuleName en RuleNumber .

Websessie-gebeurtenissen worden meestal gerapporteerd door tussenliggende apparaten die de HTTP-verbinding van de client beëindigen en een nieuwe verbinding, die fungeert als een proxy, met de server initiëren. Als u het tussenliggende apparaat wilt weergeven, gebruikt u het ASIM-netwerksessieschemaTussenliggende apparaatvelden

HTTP-sessievelden

Hier volgen aanvullende velden die specifiek zijn voor websessies:

Veld Klasse Type Beschrijving
Url Verplicht URL (tekenreeks) De URL van de HTTP-aanvraag, inclusief parameters. Voor HTTPSession gebeurtenissen kan de URL het schema bevatten en de servernaam bevatten. Voor WebServerSession en voor ApiRequest de URL bevatten doorgaans niet het schema en de server, die respectievelijk te vinden zijn in de NetworkApplicationProtocol velden en DstFQDN .

Voorbeeld: https://contoso.com/fo/?k=v&amp;q=u#f
UrlCategory Optioneel Tekenreeks De gedefinieerde groepering van een URL of het domeingedeelte van de URL. De categorie wordt meestal geleverd door webbeveiligingsgateways en is gebaseerd op de inhoud van de site waarnaar de URL verwijst.

Voorbeeld: zoekmachines, volwassenen, nieuws, advertenties en geparkeerde domeinen.
UrlOriginal Optioneel URL (tekenreeks) De oorspronkelijke waarde van de URL, wanneer de URL is gewijzigd door het rapportageapparaat en beide waarden worden opgegeven.
HttpVersion Optioneel Tekenreeks De http-aanvraagversie.

Voorbeeld: 2.0
HttpRequestMethod Aanbevolen Opgesomde De HTTP-methode. De waarden zijn zoals gedefinieerd in RFC 7231 en RFC 5789 en omvatten GET, HEAD, POST, PUT, , DELETE, CONNECT, OPTIONS, , TRACEen PATCH.

Voorbeeld: GET
HttpStatusCode Alias De HTTP-statuscode. Alias naar EventResultDetails.
HttpContentType Optioneel Tekenreeks De header van het inhoudstype HTTP-antwoord.

Opmerking: het veld HttpContentType kan zowel de inhoudsindeling als extra parameters bevatten, zoals de codering die wordt gebruikt om de werkelijke indeling op te halen.

Voorbeeld: text/html; charset=ISO-8859-4
HttpContentFormat Optioneel Tekenreeks Het inhoudsindelingsgedeelte van het HttpContentType

Voorbeeld: text/html
HttpReferrer Optioneel Tekenreeks De HTTP-verwijzingsheader.

Opmerking: ASIM, gesynchroniseerd met OSSEM, gebruikt de juiste spelling voor verwijzer en niet de oorspronkelijke HTTP-headerspelling.

Voorbeeld: https://developer.mozilla.org/docs
HttpUserAgent Optioneel Tekenreeks De header van de HTTP-gebruikersagent.

Voorbeeld:
Mozilla/5.0 (Windows NT 10.0; WOW64)
AppleWebKit/537.36 (KHTML, zoals Gecko)
Chrome/83.0.4103.97 Safari/537.36
UserAgent Alias Alias naar HttpUserAgent
HttpRequestXff Optioneel IP-adres De HTTP X-Forwarded-For-header.

Voorbeeld: 120.12.41.1
HttpRequestTime Optioneel Geheel getal De hoeveelheid tijd, in milliseconden, die nodig was om de aanvraag naar de server te verzenden, indien van toepassing.

Voorbeeld: 700
HttpResponseTime Optioneel Geheel getal De hoeveelheid tijd, in milliseconden, die nodig was om een antwoord op de server te ontvangen, indien van toepassing.

Voorbeeld: 800
HttpHost Optioneel Tekenreeks De virtuele webserver waarop de HTTP-aanvraag is gericht. Deze waarde is doorgaans gebaseerd op de HTTP-hostheader.
Bestandsnaam Optioneel Tekenreeks Voor HTTP-uploads de naam van het geüploade bestand.
FileMD5 Optioneel MD5 Voor HTTP-uploads de MD5-hash van het geüploade bestand.

Voorbeeld: 75a599802f1fa166cdadb360960b1dd0
FileSHA1 Optioneel SHA1 Voor HTTP-uploads de SHA1-hash van het geüploade bestand.

Voorbeeld:
d55c5a4df19b46db8c54
c801c4665d3338acdab0
BestandSHA256 Optioneel SHA256 Voor HTTP-uploads de SHA256-hash van het geüploade bestand.

Voorbeeld:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
BestandSHA512 Optioneel SHA512 Voor HTTP-uploads de SHA512-hash van het geüploade bestand.
Hash Alias Alias naar het beschikbare hashveld.
HashType Voorwaardelijke Opgesomde Het type hash in het veld Hash . Mogelijke waarden zijn: MD5, SHA1, SHA256en SHA512.
Bestandsgrootte Optioneel Lange Voor HTTP-uploads de grootte in bytes van het geüploade bestand.
FileContentType Optioneel Tekenreeks Voor HTTP-uploads het inhoudstype van het geüploade bestand.
HttpCookie Optioneel Tekenreeks De inhoud van de HTTP-cookieheader die van de client naar de server wordt verzonden, met naam-waardeparen van sessiegegevens.

Voorbeeld: session_id=abc123; user_pref=dark_mode
HttpIsProxied Optioneel Booleaanse waarde Geeft aan of de HTTP-aanvraag is verzonden via een proxyserver.

Voorbeeld: true
HttpRequestBodyBytes Optioneel Lange De grootte van de HTTP-aanvraagbody in bytes, exclusief headers.

Voorbeeld: 1024
HttpRequestCacheControl Optioneel Tekenreeks De inhoud van de HTTP-Cache-Control aanvraagheader, waarbij cache-instructies van de client worden opgegeven.

Voorbeeld: no-cache
HttpRequestHeaderCount Optioneel Geheel getal Het aantal HTTP-headers dat in de aanvraag is opgenomen.

Voorbeeld: 12
HttpResponseBodyBytes Optioneel Lange De grootte van de HTTP-antwoordtekst in bytes, exclusief headers.

Voorbeeld: 8192
HttpResponseCacheControl Optioneel Tekenreeks De inhoud van de HTTP-Cache-Control antwoordheader, waarbij cache-instructies van de server worden opgegeven.

Voorbeeld: max-age=3600, public
HttpResponseExpires Optioneel Tekenreeks De inhoud van de http verloopt antwoordheader, die aangeeft wanneer de antwoordinhoud verloopt.

Voorbeeld: Thu, 01 Dec 2024 16:00:00 GMT
HttpResponseHeaderCount Optioneel Geheel getal Het aantal HTTP-headers dat in het antwoord is opgenomen.

Voorbeeld: 15

Overige velden

Als de gebeurtenis wordt gerapporteerd door een van de eindpunten van de websessie, kan deze informatie bevatten over het proces waarmee de sessie is gestart of beëindigd. In dergelijke gevallen wordt deze informatie genormaliseerd door het ASIM Process Event-schema .

Schema-updates

Het websessieschema is afhankelijk van het netwerksessieschema. Daarom zijn updates van het netwerksessieschema ook van toepassing op het websessieschema.

Hier volgen de wijzigingen in versie 0.2.5 van het schema:

  • Het veld HttpHostis toegevoegd.

Hier volgen de wijzigingen in versie 0.2.6 van het schema:

  • Het type FileSize is gewijzigd van Geheel getal in Lang.

Hier volgen de wijzigingen in versie 0.2.7 van het schema:

  • De velden , , , , HttpRequestCacheControlHttpRequestHeaderCount, , HttpResponseBodyBytes, HttpResponseCacheControl, , HttpResponseExpiresen HttpResponseHeaderCount. HttpRequestBodyBytesHttpIsProxiedHttpCookie

Volgende stappen

Zie voor meer informatie: