Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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 Normalization and the Advanced Security Information Model (ASIM) voor meer informatie over normalisatie in Microsoft Sentinel.
Schemaoverzicht
Het normalisatieschema voor websessies vertegenwoordigt elke HTTP-netwerksessie en is geschikt voor ondersteuning voor algemene brontypen, waaronder:
- Webservers
- Webproxy's
- Webbeveiligingsgateways
Het ASIM-websessieschema vertegenwoordigt http- en HTTPS-protocolactiviteit. Aangezien 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 websessieschema een superset van het ASIM-netwerksessieschema.
De belangrijkste velden in een websessieschema zijn:
- URL, die de URL rapporteert die de client heeft aangevraagd op de server.
- SrcIpAddr (aliased to IpAddr), dat het IP-adres vertegenwoordigt van waaruit de aanvraag is gegenereerd.
- Het veld EventResultDetails , dat doorgaans de HTTP-statuscode rapporteert.
Websessie-gebeurtenissen kunnen ook gebruikers- en procesgegevens bevatten voor de gebruiker en het proces voor het initiëren van de aanvraag.
Parsers
Zie het overzicht van ASIM-parsers voor meer informatie over ASIM-parsers.
Parsers opheffen
Als u parsers wilt gebruiken die alle out-of-the-box parsers van ASIM samenvoegen en ervoor zorgen dat uw analyse wordt uitgevoerd op alle geconfigureerde bronnen, gebruikt u de _Im_WebSession filterparser of de _ASim_WebSession parameterloze parser.
U kunt ook werkruimte-geïmplementeerde ImWebSession parsers ASimWebSession gebruiken door ze te implementeren vanuit de GitHub-opslagplaats van Microsoft Sentinel. Zie ingebouwde ASIM-parsers en door de werkruimte geïmplementeerde parsers voor meer informatie.
Out-of-the-box, bronspecifieke parsers
Voor de lijst met websessieparsers biedt Microsoft Sentinel out-of-the-box raadpleegt u de lijst met ASIM-parsers
Uw eigen genormaliseerde parsers toevoegen
Bij het implementeren van aangepaste parsers voor het websessiegegevensmodel, noemt u uw KQL-functies met behulp van de volgende syntaxis:
-
vimWebSession<vendor><Product>voor geparametriseerde parsers -
ASimWebSession<vendor><Product>voor reguliere parsers
Parserparameters filteren
De im parsers vim* ondersteunen filterparameters. Hoewel deze parsers optioneel zijn, kunnen ze uw queryprestaties verbeteren.
De volgende filterparameters zijn beschikbaar:
| Name | Type | Description |
|---|---|---|
| begintijd | datetime | Filter alleen websessies die op of na deze tijd zijn gestart . |
| eindtijd | datetime | Filter alleen websessies die op of vóór deze tijd zijn gestart . |
| srcipaddr_has_any_prefix | dynamisch | Filter alleen websessies waarvoor het voorvoegsel van het bron-IP-adresveld 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 | dynamisch | Filter alleen netwerksessies waarvoor het doel-IP-adresveld of het voorvoegsel 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 | dynamisch | Filter alleen websessies waarvoor het URL-veld een van de vermelde waarden heeft. De parser kan het schema van de DOORgegeven URL negeren als parameter, als de bron het niet rapporteert. Indien 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 | dynamisch | Filter alleen websessies waarvoor het veld gebruikersagent een van de waarden bevat. Indien 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 | dynamisch | Filter alleen websessies waarvoor de HTTP-statuscode, die is opgeslagen in het veld EventResultDetails , een van de vermelde waarden is. |
| eventresult | tekenreeks | Filter alleen netwerksessies met een specifieke EventResult-waarde . |
Sommige parameters kunnen beide lijst met waarden van het type dynamic of éé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 voor een opgegeven lijst met domeinnamen, gebruikt u:
let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_WebSession (url_has_any = torProxies)
Schemadetails
Het websessieinformatiemodel is afgestemd op het OSSEM Network-entiteitsschema en het OSSEM HTTP-entiteitsschema.
Om te voldoen aan aanbevolen procedures voor de branche, gebruikt het websessieschema descriptors Src en Dst om de sessiebron- en doelapparaten te identificeren, zonder het token Dvc in de veldnaam op te geven.
De hostnaam en het IP-adres van het bronapparaat hebben dus respectievelijk de naam SrcHostname en SrcIpAddr , en niet SrcDvcHostname en SrcDvcIpAddr. Het voorvoegsel Dvc wordt alleen gebruikt voor het rapportage- of intermediaire apparaat, indien van toepassing.
In velden die de gebruiker en toepassing beschrijven die zijn gekoppeld aan de bron- en doelapparaten, worden ook de Src- en Dst-descriptors gebruikt.
Andere ASIM-schema's gebruiken doorgaans Target in plaats van Dst.
Algemene ASIM-velden
Belangrijk
Velden die voor alle schema's gelden, worden uitgebreid beschreven in het artikel Algemene ASIM-velden .
Algemene velden met specifieke richtlijnen
De volgende lijst vermeldt velden met specifieke richtlijnen voor websessie-gebeurtenissen:
| Veld | Klas | Type | Description |
|---|---|---|---|
| Soort gebeurtenis | Verplicht | Enumerated | Beschrijft de bewerking die door de record is 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 door een webserver is gerapporteerd. Een dergelijke gebeurtenis heeft 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 gerapporteerd aan een API-aanroep, meestal gerapporteerd door een toepassingsserver. Een dergelijke gebeurtenis heeft doorgaans minder netwerkgerelateerde informatie. Wanneer de door de toepassingsserver gerapporteerde URL geen schema en servernaam bevat, maar alleen het pad en de parameters die deel uitmaken van de URL. |
| EventResult | Verplicht | Enumerated | Beschrijft het resultaat van de gebeurtenis, genormaliseerd tot een van de volgende waarden: - Success - Partial - Failure - NA (niet van toepassing) Voor een HTTP-sessie Success wordt gedefinieerd als een statuscode lager dan 400en Failure wordt deze gedefinieerd als een statuscode die hoger is dan 400. Raadpleeg W3 Org voor een lijst met HTTP-statuscodes.De bron kan alleen een waarde voor het veld EventResultDetails opgeven, die moet worden geanalyseerd om de Waarde EventResult op te halen. |
| EvenementResultaatDetails | Aanbevolen | Enumerated | 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 voor deze waarden. De oorspronkelijke waarde moet worden opgeslagen in het veld EventOriginalResultDetails . |
| EventSchema | Verplicht | Enumerated | De naam van het schema dat hier wordt beschreven, is WebSession. |
| EventSchemaVersion | Verplicht | SchemaVersion (string) | 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 doorgaans 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 gebruikelijk voor alle ASIM-schema's. Elke hierboven opgegeven richtlijn overschrijft de algemene richtlijnen voor het veld. Een veld kan bijvoorbeeld optioneel zijn in het algemeen, maar verplicht voor een specifiek schema. Raadpleeg het artikel Algemene ASIM-velden voor meer informatie over elk veld.
| Klas | Velden |
|---|---|
| Verplicht |
-
Aantal gebeurtenissen - Starttijd van het evenement - EventEndTime - Soort gebeurtenis - Resultaat van evenement - Evenement Product - Verkoper van evenementen - EventSchema - EventSchemaVersion - DVC |
| Aanbevolen |
-
EvenementResultaatDetails - GebeurtenisErnst - Uiteindelijke gebeurtenis - DvcIpAddr - DvcHostnaam - DvcDomein - DvcDomainType - DvcFQDN - DvcId - DvcIdType - DvcAction |
| Optioneel |
-
Evenement Bericht - GebeurtenisSubType - EvenementOriginalUid - GebeurtenisOrigineelType - EventOriginalSubType - EventOrigineelResultaatDetails - GebeurtenisOrigineelErnst - EventProductVersie - GebeurtenisRapportUrl - Eigenaar van het evenement - DvcZone - DvcMacAddr - DvcOs - DvcOsVersion - DvcOriginalAction - Dvc-koppeling - Aanvullende velden - DvcBeschrijving - DvcScopeId - DvcScope |
Netwerksessievelden
HTTP-sessies zijn sessie in de toepassingslaag die TCP/IP gebruiken als de onderliggende netwerklaagsessie. Het websessieschema is een superset van het ASIM-netwerksessieschema en alle netwerkschemavelden zijn ook opgenomen in het websessieschema.
De volgende ASIM-netwerksessieschemavelden hebben specifieke richtlijnen wanneer deze worden gebruikt voor een websessie-gebeurtenis:
- De aliasgebruiker moet verwijzen naar de SrcUsername en niet naar DstUsername.
- Het veld EventOriginalResultDetails kan elk resultaat bevatten dat door de bron wordt gerapporteerd, 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 uit de URL in de parser te extraheren.
- De velden
NetworkRuleNameenNetworkRuleNumberworden hernoemdRuleNameenRuleNumberrespectievelijk.
Websessie-gebeurtenissen worden vaak gerapporteerd door tussenliggende apparaten die de HTTP-verbinding van de client beëindigen en een nieuwe verbinding initiëren, die als proxy fungeren, met de server. Als u het tussenliggende apparaat wilt weergeven, gebruikt u de velden van het ASIM-netwerksessieschemaIntermediair apparaat
HTTP-sessievelden
Hier volgen aanvullende velden die specifiek zijn voor websessies:
| Veld | Klas | Type | Description |
|---|---|---|---|
| URL | Verplicht | URL (String) | De URL van de HTTP-aanvraag, inclusief parameters. Voor HTTPSession gebeurtenissen kan de URL het schema bevatten en moet de servernaam bevatten. Voor WebServerSession en voor ApiRequest de URL zou doorgaans niet het schema en de server bevatten, die respectievelijk in de NetworkApplicationProtocol en DstFQDN velden te vinden zijn. Voorbeeld: https://contoso.com/fo/?k=v&q=u#f |
| UrlCategory | Optioneel | String | 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, reclame en geparkeerde domeinen. |
| UrlOriginal | Optioneel | URL (String) | De oorspronkelijke waarde van de URL, wanneer de URL is gewijzigd door het rapportageapparaat en beide waarden worden opgegeven. |
| HttpVersion | Optioneel | String | De HTTP-aanvraagversie. Voorbeeld: 2.0 |
| HttpRequestMethod | Aanbevolen | Enumerated | De HTTP-methode. De waarden zijn zoals gedefinieerd in RFC 7231 en RFC 5789, en omvatten GET, , HEAD, , POSTPUT, , DELETE, CONNECT, , OPTIONSen TRACE.PATCHVoorbeeld: GET |
| HttpStatusCode | Alias | De HTTP-statuscode. Alias naar EventResultDetails. | |
| HttpContentType | Optioneel | String | De header van het HTTP-antwoordinhoudstype. 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 | String | Het inhoudsopmaakgedeelte van het HttpContentType Voorbeeld: text/html |
| HttpReferrer | Optioneel | String | De HTTP-verwijzingsheader. Opmerking: ASIM, gesynchroniseerd met OSSEM, gebruikt de juiste spelling voor referrer en niet de oorspronkelijke HTTP-headerspelling. Voorbeeld: https://developer.mozilla.org/docs |
| HttpUserAgent | Optioneel | String | 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, kostte het om de aanvraag naar de server te verzenden, indien van toepassing. Voorbeeld: 700 |
| HttpResponseTime | Optioneel | Geheel getal | De hoeveelheid tijd, in milliseconden, duurde het om een antwoord op de server te ontvangen, indien van toepassing. Voorbeeld: 800 |
| HttpHost | Optioneel | String | De virtuele webserver waarop de HTTP-aanvraag is gericht. Deze waarde is doorgaans gebaseerd op de HTTP-hostheader. |
| Bestandsnaam | Optioneel | String | Voor HTTP-uploads, de naam van het geüploade bestand. |
| FileMD5 | Optioneel | MD5 | Voor HTTP-uploads is de MD5-hash van het geüploade bestand. Voorbeeld: 75a599802f1fa166cdadb360960b1dd0 |
| FileSHA1 | Optioneel | SHA1 | Voor HTTP-uploads is de SHA1-hash van het geüploade bestand. Voorbeeld: d55c5a4df19b46db8c54c801c4665d3338acdab0 |
| FileSHA256 | Optioneel | SHA256 | Voor HTTP-uploads is de SHA256-hash van het geüploade bestand. Voorbeeld: e81bb824c4a09a811af17deae22f22dd2e1ec8cbb00b22629d2899f7c68da274 |
| FileSHA512 | Optioneel | SHA512 | Voor HTTP-uploads is de SHA512-hash van het geüploade bestand. |
| Hekje | Alias | Alias naar het beschikbare Hash-veld. | |
| HashType | Conditional | Enumerated | Het type hash in het hash-veld . Mogelijke waarden zijn: MD5, SHA1, SHA256en SHA512. |
| FileSize | Optioneel | Lang | Voor HTTP-uploads is de grootte in bytes van het geüploade bestand. |
| FileContentType | Optioneel | String | Voor HTTP-uploads is het inhoudstype van het geüploade bestand. |
| HttpCookie | Optioneel | String | De inhoud van de HTTP-cookieheader die van de client naar de server wordt gestuurd, bevat naam-waarde-paren van sessiegegevens. Voorbeeld: session_id=abc123; user_pref=dark_mode |
| HttpIsProxyed | Optioneel | Booleaan | Geeft aan of het HTTP-verzoek via een proxyserver is verzonden. Voorbeeld: true |
| HttpRequestBodyBytes | Optioneel | Lang | De grootte van het HTTP-verzoeklichaam in bytes, exclusief headers. Voorbeeld: 1024 |
| HttpRequestCacheControl | Optioneel | String | De inhoud van de HTTP Cache-Control requestheader, waarin caching-instructies van de client worden gespecificeerd. Voorbeeld: no-cache |
| HttpRequestHeaderCount | Optioneel | Geheel getal | Het aantal HTTP-headers dat in het verzoek is opgenomen. Voorbeeld: 12 |
| HttpResponseBodyBytes | Optioneel | Lang | De grootte van het HTTP-responslichaam in bytes, exclusief headers. Voorbeeld: 8192 |
| HttpResponseCacheControl | Optioneel | String | De inhoud van de HTTP Cache-Control response header, waarin caching-instructies van de server worden gespecificeerd. Voorbeeld: max-age=3600, public |
| HttpResponseExpires | Optioneel | String | De inhoud van de HTTP Expires-antwoordheader, die aangeeft wanneer de responsinhoud 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 |
Andere velden
Als de gebeurtenis wordt gerapporteerd door een van de eindpunten van de websessie, kan deze informatie bevatten over het proces dat de sessie heeft gestart of beëindigd. In dergelijke gevallen is het ASIM-proces gebeurtenisschema om deze informatie te normaliseren.
Schema-updates
Het websessieschema is afhankelijk van het netwerksessieschema. Daarom zijn schema-updates voor netwerksessies 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 Integer in Long.
De volgende wijzigingen in versie 0.2.7 van het schema:
- De velden
HttpCookie, , ,HttpIsProxied,HttpRequestBodyBytes,HttpRequestCacheControl, ,HttpRequestHeaderCount,HttpResponseBodyBytes, enHttpResponseCacheControl.HttpResponseExpiresHttpResponseHeaderCount
Volgende stappen
Zie voor meer informatie: