Informations de référence sur le schéma de normalisation de session web ASIM (Advanced Security Information Model) (préversion publique)

Le schéma de normalisation de la session web permet de décrire l’activité d’un réseau IP. Par exemple, les activités de réseau IP sont signalées par des serveurs web, des proxys web et des passerelles de sécurité web.

Pour plus d’informations sur la normalisation dans Microsoft Sentinel, consultez Normalisation et modèle ASIM (Advanced Security Information Model).

Important

Le schéma de normalisation Réseau est actuellement en PRÉVERSION. Cette fonctionnalité est fournie sans contrat de niveau de service et n’est pas recommandée pour des charges de travail de production.

Les Conditions d’utilisation supplémentaires des préversions Microsoft Azure incluent des conditions légales supplémentaires qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou pas encore disponibles dans la version en disponibilité générale.

Vue d’ensemble du schéma

Le schéma de normalisation de la session web représente les sessions réseau HTTP et est adapté pour prendre en charge les types de sources courants, notamment :

  • Serveurs Web
  • Proxys web
  • Passerelles de sécurité Web

Le schéma de la session web ASIM représente l’activité des protocoles HTTP et HTTPS. Étant donné que le schéma représente une activité de protocole, il est régi par des RFC et des listes de paramètres officiellement attribués, qui sont référencés dans cet article, le cas échéant.

Le schéma de la session web ne représente pas les événements d’audit des appareils sources. Par exemple, un événement modifiant une stratégie de passerelle de sécurité web ne peut pas être représenté par le schéma de la session web.

Étant donné que les sessions HTTP sont des sessions de la couche Application qui utilisent TCP/IP comme session de couche réseau sous-jacente, le schéma de session web est un super ensemble du schéma de session réseau ASIM.

Les champs suivants sont les plus importants dans un schéma de session web :

  • Url, qui indique l’URL que le client a demandée auprès du serveur.
  • SrcIpAddr (avec IpAddr comme alias), qui représente l’adresse IP à partir de laquelle la requête a été générée.
  • Champ EventResultDetails, qui indique généralement le code d’état HTTP.

Les événements de session web peuvent également inclure des informations sur les utilisateurs et processus pour l’utilisateur et le processus à l’origine de la demande.

Analyseurs

Pour plus d’informations sur les analyseurs ASIM, consultez Vue d’ensemble des analyseurs ASIM.

Analyseurs d’unification

Pour utiliser des analyseurs qui unifient tous les analyseurs prêts à l’emploi ASIM et garantissent l’exécution de votre analyse sur toutes les sources configurées, utilisez l’analyseur de filtrage _Im_WebSession ou l’analyseur sans paramètre _ASim_WebSession.

Vous pouvez également utiliser les analyseurs ImWebSession et ASimWebSession déployés par l’espace de travail en les déployant à partir du référentiel GitHub Microsoft Sentinel. Pour plus d’informations, consultez Analyseurs ASIM intégrés et analyseurs déployés par l’espace de travail.

Analyseurs prêts à l’emploi et spécifiques à la source

Pour obtenir la liste des analyseurs de session web, Microsoft Sentinel fournit une référence prête à l’emploi à la liste des analyseurs ASIM.

Ajouter vos propres analyseurs normalisés

Quand vous implémentez des analyseurs personnalisés pour le modèle d’informations sur les sessions web, nommez vos fonctions KQL avec la syntaxe suivante :

  • vimWebSession<vendor><Product> pour les analyseurs paramétrés
  • ASimWebSession<vendor><Product> pour les analyseurs standard

Paramètres de filtrage des analyseurs

Les analyseurs im et vim* prennent en charge les paramètres de filtrage. Bien que ces analyseurs soient facultatifs, ils peuvent améliorer les performances de vos requêtes.

Les paramètres de filtrage suivants sont disponibles :

Nom Type Description
starttime DATETIME Filtrer uniquement les sessions web ayant démarré à cette heure ou après.
endtime DATETIME Filtrer uniquement les sessions web dont l’exécution a démarré à cette heure ou avant.
srcipaddr_has_any_prefix dynamique Filtrer uniquement les sessions web pour lesquelles le préfixe du champ d’adresse IP source correspond à l’une des valeurs indiquées. La liste des valeurs peut inclure des adresses IP et des préfixes d’adresse IP. Les préfixes doivent se terminer par . (par exemple : 10.0.). La longueur de la liste est limitée à 10 000 éléments.
ipaddr_has_any_prefix dynamique Filtrer uniquement les sessions réseau pour lesquelles le préfixe du champ d’adresse IP de destination ou du champ d’adresse IP source correspond à l’une des valeurs indiquées. Les préfixes doivent se terminer par . (par exemple : 10.0.). La longueur de la liste est limitée à 10 000 éléments.

Le champ ASimMatchingIpAddr est défini avec l’une des valeurs SrcIpAddr, DstIpAddr ou Both pour refléter les champs correspondants.
url_has_any dynamique Filtrer uniquement les sessions web pour lesquelles le champ d’URL a l’une des valeurs indiquées. L’analyseur peut ignorer le schéma de l’URL passée en tant que paramètre, si la source ne le signale pas. Si elle est spécifiée et que la session n’est pas une session web, aucun résultat n’est retourné. La longueur de la liste est limitée à 10 000 éléments.
httpuseragent_has_any dynamique Filtrer uniquement les sessions web pour lesquelles le champ d’agent utilisateur a l’une des valeurs indiquées. Si elle est spécifiée et que la session n’est pas une session web, aucun résultat n’est retourné. La longueur de la liste est limitée à 10 000 éléments.
eventresultdetails_in dynamique Filtrer uniquement les sessions web pour lesquelles le code d’état HTTP, stocké dans le champ EventResultDetails, correspond à l’une des valeurs indiquées.
eventresult string Filtrer uniquement les sessions réseau avec une valeur EventResult spécifique.

Certains paramètres peuvent accepter aussi bien une liste de valeurs de type dynamic ou une valeur de chaîne unique. Pour transmettre une liste de littéraux aux paramètres qui attendent une valeur dynamique, utilisez explicitement un littéral dynamique. Par exemple : dynamic(['192.168.','10.'])

Par exemple, pour filtrer uniquement les sessions web pour une liste spécifiée de noms de domaine, utilisez :

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

Détails du schéma

Le modèle d’informations sur les sessions web est aligné avec le schéma d’entité réseau OSSEM et le schéma d’entité HTTP OSSEM.

Pour se conformer aux meilleures pratiques du secteur, le schéma de session web utilise les descripteurs Src et Dst pour identifier les appareils source et de destination de la session, sans inclure le jeton Dvc dans le nom de champ.

Par exemple, le nom d’hôte de l’appareil source et l’adresse IP sont nommés respectivement SrcHostname et SrcIpAddr, et nonHostnameDVC de SRC et de srcDVCIpAddr. Le préfixe Dvc est utilisé uniquement pour le périphérique de création de rapports ou intermédiaire, le cas échéant.

Les champs qui décrivent l’utilisateur et l’application associés aux appareils source et de destination utilisent également les descripteurs Src et Dst .

D’autres schémas ASIM utilisent généralement Target au lieu de l'heure d’été.

Champs ASIM communs

Important

Les champs communs à tous les schémas sont décrits en détail dans l’article Champs communs ASIM.

Champs communs avec des instructions spécifiques

La liste suivante mentionne uniquement les champs qui ont des instructions spécifiques pour des événements de session web :

Champ Classe Type Description
EventType Obligatoire Énuméré Décrit l’opération signalée par l’enregistrement. Les valeurs autorisées sont les suivantes :
- HTTPsession : désigne une session réseau utilisée pour HTTP ou HTTPS, généralement signalée par un appareil intermédiaire, comme un proxy ou une passerelle de sécurité web.
- WebServerSession : désigne une requête HTTP signalée par un serveur web. En général, ce type d’événement contient moins d’informations liées au réseau. L’URL signalée ne doit inclure ni schéma ni nom de serveur, mais uniquement le chemin et les paramètres de l’URL.
- ApiRequest : désigne une requête HTTP signalée qui est associée à un appel d’API ; elle est généralement signalée par un serveur d’applications. En général, ce type d’événement contient moins d’informations liées au réseau. Quand elle est signalée par le serveur d’applications, l’URL signalée ne doit inclure ni schéma ni nom de serveur, mais uniquement le chemin et les paramètres de l’URL.
EventResult Obligatoire Énuméré Décrit le résultat de l’événement, normalisé à l’une des valeurs prises en charge suivantes :
- Success
- Partial
- Failure
- NA (non applicable)

Pour une session HTTP, Success est défini en tant que code d’état inférieur à 400 , et Failure est défini en tant que code d’état supérieur à 400 . Pour obtenir la liste des codes d’état HTTP, reportez-vous à W3 Org.

La source peut fournir uniquement une valeur pour le champ EventResultDetails, qui doit être analysé pour obtenir la valeur EventResult.
EventResultDetails Recommandé String Code d’état HTTP.

Remarque : La valeur peut être fournie dans l’enregistrement source avec des termes différents, qui doivent être normalisés avec ces valeurs. La valeur d’origine doit être stockée dans le champ EventOriginalResultDetails.
EventSchema Obligatoire Chaîne La version du schéma documenté ici est WebSession.
EventSchemaVersion Obligatoire Chaîne Version du schéma. La version du schéma documenté ici est 0.2.6
Champs Dvc Pour les événements de session web, les champs d’appareil font référence au système qui signale l’événement de session web. Il s’agit généralement d’un appareil intermédiaire pour les événements HTTPSession, et du serveur web ou d’applications de destination pour les événements WebServerSession et ApiRequest.

Tous les champs communs

Les champs qui apparaissent dans le tableau ci-dessous sont communs à tous les schémas ASIM. Toute instruction spécifiée ci-dessus remplace les instructions générales pour le champ. Par exemple, un champ peut être facultatif en général, mais obligatoire pour un schéma spécifique. Pour plus d’informations sur chaque champ, reportez-vous à l’article Champs communs ASIM.

Classe Fields
Obligatoire - EventCount
- EventStartTime
- EventEndTime
- EventType
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- Dvc
Recommandé - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Facultatif - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- EventOwner
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- AdditionalFields
- DvcDescription
- DvcScopeId
- DvcScope

Champs de session réseau

Les sessions HTTP sont des sessions de la couche Application qui utilisent TCP/IP comme session de couche réseau sous-jacente. Le schéma de session web est un super ensemble du schéma de session réseau ASIM et tous les champs de schéma réseau sont également inclus dans le schéma de la session web.

Les champs du schéma de session réseau ASIM suivants ont des instructions spécifiques lorsqu’ils sont utilisés pour un événement de session web :

  • L’utilisateur de l’alias doit faire référence à SrcUsername et non à DstUsername.
  • Le champ EventOriginalResultDetails peut contenir tous les résultats signalés par la source, en plus du code d’état HTTP stocké dans EventResultDetails.
  • Pour les sessions web, le champ de destination principale est le champ d’URL. DstDomain est facultatif plutôt que recommandé. Plus précisément, s’il n’est pas disponible, il n’est pas nécessaire de l’extraire de l’URL dans l’analyseur.
  • Les champs NetworkRuleName et NetworkRuleNumber sont renommés RuleName et RuleNumber respectivement.

Les événements de session web sont généralement signalés par des appareils intermédiaires qui terminent la connexion HTTP du client et lancent une nouvelle connexion, agissant comme un proxy, avec le serveur. Pour représenter l’appareil intermédiaire, utilisez les champs d’appareil intermédiaire du schéma de session réseau ASIM

Champs de session HTTP

Voici des champs supplémentaires spécifiques aux sessions web :

Champ Classe Type Description
Url Obligatoire String URL de la requête HTTP, paramètres inclus. Pour les événements HTTPSession, l’URL peut contenir le schéma et doit inclure le nom du serveur. Pour WebServerSession et ApiRequest, l’URL n’inclut généralement pas le schéma ni le serveur, des éléments qui se trouvent dans les champs NetworkApplicationProtocol et DstFQDN respectivement.

Exemple : https://contoso.com/fo/?k=v&amp;q=u#f
UrlCategory Facultatif String Regroupement défini d’une URL ou de la partie domaine de l’URL. La catégorie est généralement fournie par les passerelles de sécurité Web et est basée sur le contenu du site vers lequel pointe l’URL.

Exemple : moteurs de recherche, adultes, Actualités, publicité et domaines parqués.
UrlOriginal Facultatif String Valeur d’origine de l’URL, lorsque l’URL a été modifiée par le périphérique de création de rapports et que les deux valeurs sont fournies.
HttpVersion Facultatif String Version de la requête HTTP.

Exemple : 2.0
HttpRequestMethod Recommandé Énuméré Méthode HTTP. Les valeurs sont définies dans RFC 7231 et RFC 5789, et incluent GET , HEAD , POST , PUT , DELETE , CONNECT , OPTIONS , TRACE et PATCH .

Exemple : GET
HttpStatusCode Alias Code d’état HTTP. Alias deEventResultDetails.
HttpContentType Facultatif String En-tête de type de contenu de la réponse HTTP.

Remarque : Le champ HttpContentType peut inclure à la fois le format de contenu et des paramètres supplémentaires, tels que l’encodage utilisé pour obtenir le format réel.

Exemple : text/html; charset=ISO-8859-4
HttpContentFormat Facultatif String Partie du format de contenu de HttpContentType

Exemple : text/html
HttpReferrer Facultatif String En-tête de référent HTTP.

Remarque: Asim, synchronisé avec OSSEM, utilise l’orthographe correcte pour referreret non l’en-tête HTTP d’origine.

Exemple : https://developer.mozilla.org/docs
HttpUserAgent Facultatif String En-tête de l’agent utilisateur HTTP.

Exemple :
Mozilla/5.0(Windows NT 10,0 ; WOW64)
AppleWebKit/537.36(KHTML, comme Gecko)
Chrome/83.0.4103.97 Safari/537.36
UserAgent Alias Alias de HttpUserAgent
HttpRequestXff Facultatif Adresse IP En-tête HTTP X-Forwarded-For.

Exemple : 120.12.41.1
HttpRequestTime Facultatif Integer Durée, en millisecondes, de l’envoi de la demande au serveur, le cas échéant.

Exemple : 700
HttpResponseTime Facultatif Integer Durée, en millisecondes, nécessaire à la réception d’une réponse sur le serveur, le cas échéant.

Exemple : 800
HttpHost Facultatif String Serveur web virtuel ciblé par la requête HTTP. Cette valeur est généralement basée sur l’en-tête de l’hôte HTTP.
FileName Facultatif String Pour les chargements HTTP, nom du fichier téléchargé.
FileMD5 Facultatif MD5 Pour les chargements HTTP, hachage MD5 du fichier chargé.

Exemple : 75a599802f1fa166cdadb360960b1dd0
FileSHA1 Facultatif SHA1 Pour les chargements HTTP, hachage SHA1 du fichier chargé.

Exemple :
d55c5a4df19b46db8c54
c801c4665d3338acdab0
FileSHA256 Facultatif SHA256 Pour les chargements HTTP, hachage SHA256 du fichier chargé.

Exemple :
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
FileSHA512 Facultatif SHA512 Pour les chargements HTTP, hachage SHA512 du fichier chargé.
Hash Alias Alias du champ Hachage disponible.
FileHashType Facultatif Énuméré Type du hachage dans le champ Hachage. Les valeurs MD5, SHA1, SHA256 etSHA512 sont possibles.
FileSize Facultatif Long Pour les chargements HTTP, taille en octets du fichier téléchargé.
FileContentType Facultatif String Pour les chargements HTTP, type de contenu du fichier téléchargé.

Autres champs

Si l’événement est signalé par l’un des points de terminaison de la session web, il peut inclure des informations sur le processus qui a initié ou a mis fin à la session. Dans ce cas, le schéma d’événement du processus ASIM permet de normaliser ces informations.

Mises à jour du schéma

Le schéma de la session web s’appuie sur le schéma de la session réseau. Par conséquent, les mises à jour du schéma de la session réseau s’appliquent également au schéma de la session web.

Voici les modifications apportées à la version 0.2.5 du schéma :

  • Ajout du champ HttpHost.

Voici les modifications apportées à la version 0.2.6 du schéma :

  • Le type de FileSize a été changé de Integer à Long.

Étapes suivantes

Pour plus d'informations, consultez les pages suivantes :