Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El esquema de normalización de sesión web se usa para describir una actividad de red IP. Por ejemplo, los servidores web, los servidores proxy web y las puertas de enlace de seguridad web notifican las actividades de red IP.
Para obtener más información sobre la normalización en Microsoft Sentinel, vea Normalización y el modelo de información de seguridad avanzada (ASIM).
Introducción al esquema
El esquema de normalización de sesión web representa cualquier sesión de red HTTP y es adecuado para proporcionar compatibilidad con tipos de origen comunes, incluidos:
- Servidores web
- Servidores proxy web
- Puertas de enlace de seguridad web
El esquema de sesión web de ASIM representa la actividad del protocolo HTTP y HTTPS. Dado que el esquema representa la actividad del protocolo, se rige por las RFC y las listas de parámetros asignadas oficialmente, a las que se hace referencia en este artículo cuando procede.
El esquema de sesión web no representa eventos de auditoría de dispositivos de origen. Por ejemplo, un evento que modifica una directiva de puerta de enlace de seguridad web no se puede representar mediante el esquema de sesión web.
Dado que las sesiones HTTP son sesiones de capa de aplicación que usan TCP/IP como la sesión de capa de red subyacente, el esquema de sesión web es un super conjunto del esquema de sesión de red de ASIM.
Los campos más importantes de un esquema de sesión web son:
- Dirección URL, que informa de la dirección URL que el cliente solicitó al servidor.
- SrcIpAddr (con el alias IpAddr), que representa la dirección IP desde la que se generó la solicitud.
- Campo EventResultDetails , que normalmente notifica el código de estado HTTP.
Los eventos de sesión web también pueden incluir información de usuario y proceso para el usuario y el proceso que inicia la solicitud.
Analizadores
Para obtener más información sobre los analizadores de ASIM, consulte la introducción a los analizadores de ASIM.
Unificar analizadores
Para usar analizadores que unifiquen todos los analizadores integrados de ASIM y asegúrese de que el análisis se ejecuta en todos los orígenes configurados, use el _Im_WebSession analizador.
Analizadores integrados y específicos del origen
Para obtener la lista de los analizadores de sesión web Microsoft Sentinel proporciona información general, consulte la lista de analizadores de ASIM.
Agregar sus propios analizadores normalizados
Al implementar analizadores personalizados para el modelo de información de sesión web, asigne un nombre a las funciones de KQL mediante la sintaxis siguiente:
-
vimWebSession<vendor><Product>para analizadores parametrizados -
ASimWebSession<vendor><Product>para analizadores normales
Filtrado de parámetros del analizador
Los im analizadores y vim* admiten parámetros de filtrado. Aunque estos analizadores son opcionales, pueden mejorar el rendimiento de las consultas.
Están disponibles los siguientes parámetros de filtrado:
| Nombre | Tipo | Description |
|---|---|---|
| starttime | datetime | Filtre solo las sesiones web que se iniciaron en o después de este momento. Este parámetro filtra en el TimeGenerated campo, que es el designador estándar para la hora del evento, independientemente de la asignación específica del analizador de los campos EventStartTime y EventEndTime. |
| endtime | datetime | Filtre solo las sesiones web que empezaron a ejecutarse en o antes de este momento. Este parámetro filtra en el TimeGenerated campo, que es el designador estándar para la hora del evento, independientemente de la asignación específica del analizador de los campos EventStartTime y EventEndTime. |
| srcipaddr_has_any_prefix | dinámico | Filtre solo las sesiones web para las que el prefijo de campo de dirección IP de origen se encuentra en uno de los valores enumerados. La lista de valores puede incluir direcciones IP y prefijos de dirección IP. Los prefijos deben terminar con , .por ejemplo: 10.0.. La longitud de la lista está limitada a 10 000 elementos. |
| ipaddr_has_any_prefix | dinámico | Filtre solo las sesiones de red para las que el campo de dirección IP de destino o el prefijo del campo de dirección IP de origen se encuentran en uno de los valores enumerados. Los prefijos deben terminar con , .por ejemplo: 10.0.. La longitud de la lista está limitada a 10 000 elementos.El campo ASimMatchingIpAddr se establece con uno de los valores SrcIpAddr, DstIpAddro Both para reflejar los campos o campos coincidentes. |
| url_has_any | dinámico | Filtre solo las sesiones web para las que el campo URL tiene cualquiera de los valores enumerados. El analizador puede omitir el esquema de la dirección URL pasada como parámetro, si el origen no lo notifica. Si se especifica y la sesión no es una sesión web, no se devolverá ningún resultado. La longitud de la lista está limitada a 10 000 elementos. |
| httpuseragent_has_any | dinámico | Filtre solo las sesiones web para las que el campo agente de usuario tiene cualquiera de los valores enumerados. Si se especifica y la sesión no es una sesión web, no se devolverá ningún resultado. La longitud de la lista está limitada a 10 000 elementos. |
| eventresultdetails_in | dinámico | Filtre solo las sesiones web para las que el código de estado HTTP, almacenado en el campo EventResultDetails , es cualquiera de los valores enumerados. |
| eventresult | string | Filtre solo las sesiones de red con un valor EventResult específico. |
Algunos parámetros pueden aceptar la lista de valores de tipo dynamic o un valor de cadena único. Para pasar una lista literal a parámetros que esperan un valor dinámico, use explícitamente un literal dinámico. Por ejemplo: dynamic(['192.168.','10.'])
Por ejemplo, para filtrar solo las sesiones web para una lista especificada de nombres de dominio, use:
let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_WebSession (url_has_any = torProxies)
Detalles del esquema
El modelo de información de sesión web se alinea con el esquema de entidad de red de OSSEM y el esquema de entidad HTTP de OSSEM.
Para cumplir con los procedimientos recomendados del sector, el esquema de sesión web usa los descriptores Src y Dst para identificar los dispositivos de origen y destino de la sesión, sin incluir el token Dvc en el nombre del campo.
Por ejemplo, el nombre de host y la dirección IP del dispositivo de origen se denominan SrcHostname y SrcIpAddr respectivamente, y no SrcDvcHostname ni SrcDvcIpAddr. El prefijo Dvc solo se usa para el dispositivo de informes o intermediario, según corresponda.
Los campos que describen el usuario y la aplicación asociados a los dispositivos de origen y destino también usan los descriptores Src y Dst .
Otros esquemas de ASIM suelen usar Destino en lugar de Dst.
Campos comunes de ASIM
Importante
Los campos comunes a todos los esquemas se describen en detalle en el artículo Campos comunes de ASIM .
Campos comunes con directrices específicas
En la lista siguiente se mencionan los campos que tienen directrices específicas para los eventos de sesión web:
| Campo | Clase | Tipo | Description |
|---|---|---|---|
| EventType | Obligatorio | Enumerado | Describe la operación notificada por el registro. Los valores permitidos son: - HTTPsession: indica una sesión de red que se usa para HTTP o HTTPS, normalmente notificada por un dispositivo intermediario, como un proxy o una puerta de enlace de seguridad web.- WebServerSession: denota una solicitud HTTP notificada por un servidor web. Este tipo de evento suele tener menos información relacionada con la red. La dirección URL notificada no debe incluir un esquema y un nombre de servidor, sino solo la ruta de acceso y los parámetros que forman parte de la dirección URL. - ApiRequest: denota una solicitud HTTP notificada asociada a una llamada API, notificada normalmente por un servidor de aplicaciones. Este tipo de evento suele tener menos información relacionada con la red. Cuando lo notifica el servidor de aplicaciones, la dirección URL notificada no debe incluir un esquema y un nombre de servidor, sino solo la ruta de acceso y los parámetros que forman parte de la dirección URL. |
| EventResult | Obligatorio | Enumerado | Describe el resultado del evento, normalizado a uno de los siguientes valores: - Success - Partial - Failure - NA (no aplicable) Para una sesión HTTP, Success se define como un código de estado inferior 400a , y Failure se define como un código de estado superior a 400. Para obtener una lista de códigos de estado HTTP, consulte W3 Org.El origen solo puede proporcionar un valor para el campo EventResultDetails , que se debe analizar para obtener el valor EventResult . |
| EventResultDetails | Recomendado | Enumerado | El código de estado HTTP tal como lo define The World Wide Web Consortium Nota: El valor se puede proporcionar en el registro de origen mediante términos diferentes, que deben normalizarse a estos valores. El valor original debe almacenarse en el campo EventOriginalResultDetails . |
| EventSchema | Obligatorio | Enumerado | El nombre del esquema documentado aquí es WebSession. |
| EventSchemaVersion | Obligatorio | SchemaVersion (String) | Versión del esquema. La versión del esquema documentada aquí es 0.2.7 |
| Campos Dvc | En el caso de los eventos de sesión web, los campos de dispositivo hacen referencia al sistema que notifica el evento sesión web. Normalmente, se trata de un dispositivo intermediario para HTTPSession eventos y del servidor web o de aplicación de destino para WebServerSession y ApiRequest eventos. |
Todos los campos comunes
Los campos que aparecen en la tabla siguiente son comunes a todos los esquemas de ASIM. Cualquier directriz especificada anteriormente invalida las directrices generales para el campo. Por ejemplo, un campo puede ser opcional en general, pero obligatorio para un esquema específico. Para obtener más información sobre cada campo, consulte el artículo Campos comunes de ASIM .
| Class | Fields |
|---|---|
| Obligatorio |
-
EventCount - EventStartTime - EventEndTime - EventType - EventResult - EventProduct - EventVendor - EventSchema - EventSchemaVersion - Dvc |
| Recomendado |
-
EventResultDetails - EventSeverity - EventUid - DvcIpAddr - DvcHostname - DvcDomain - DvcDomainType - DvcFQDN - DvcId - DvcIdType - DvcAction |
| Opcional |
-
EventMessage - EventSubType - EventOriginalUid - EventOriginalType - EventOriginalSubType - EventOriginalResultDetails - EventOriginalSeverity - EventProductVersion - EventReportUrl - EventOwner - DvcZone - DvcMacAddr - DvcOs - DvcOsVersion - DvcOriginalAction - DvcInterface - AdditionalFields - DvcDescription - DvcScopeId - DvcScope |
Campos de sesión de red
Las sesiones HTTP son sesiones de capa de aplicación que usan TCP/IP como la sesión de capa de red subyacente. El esquema de sesión web es un superconjunto de esquema de sesión de red de ASIM y todos los campos de esquema de red también se incluyen en el esquema de sesión web.
Los siguientes campos de esquema de sesión de red de ASIM tienen directrices específicas cuando se usan para un evento de sesión web:
- El alias User debe hacer referencia a SrcUsername y no a DstUsername.
- El campo EventOriginalResultDetails puede contener cualquier resultado notificado por el origen además del código de estado HTTP almacenado en EventResultDetails.
- En el caso de las sesiones web, el campo de destino principal es El campo url. DstDomain es opcional en lugar de recomendado. En concreto, si no está disponible, no es necesario extraerlo de la dirección URL del analizador.
- Los campos
NetworkRuleNameyNetworkRuleNumberse cambian deRuleNamenombre yRuleNumberrespectivamente.
Los eventos de sesión web suelen notificarlos los dispositivos intermedios que finalizan la conexión HTTP desde el cliente e inician una nueva conexión, que actúa como proxy, con el servidor. Para representar el dispositivo intermedio, use los campos de dispositivo intermedio del esquema de sesión de red de ASIM.
Campos de sesión HTTP
Los siguientes son campos adicionales que son específicos de las sesiones web:
| Campo | Clase | Tipo | Description |
|---|---|---|---|
| Dirección URL | Obligatorio | URL (String) | Dirección URL de la solicitud HTTP, incluidos los parámetros. Para HTTPSession los eventos, la dirección URL puede incluir el esquema y debe incluir el nombre del servidor. Para WebServerSession y para ApiRequest la dirección URL normalmente no incluiría el esquema y el servidor, que se pueden encontrar en los NetworkApplicationProtocol campos y DstFQDN respectivamente. Ejemplo: https://contoso.com/fo/?k=v&q=u#f |
| UrlCategory | Opcional | Cadena | La agrupación definida de una dirección URL o la parte de dominio de la dirección URL. Las puertas de enlace de seguridad web suelen proporcionar la categoría y se basa en el contenido del sitio al que apunta la dirección URL. Ejemplo: motores de búsqueda, adultos, noticias, publicidad y dominios estacionados. |
| UrlOriginal | Opcional | URL (String) | Valor original de la dirección URL, cuando el dispositivo de informes modificó la dirección URL y se proporcionan ambos valores. |
| HttpVersion | Opcional | Cadena | Versión de la solicitud HTTP. Ejemplo: 2.0 |
| HttpRequestMethod | Recomendado | Enumerado | El método HTTP. Los valores se definen en RFC 7231 y RFC 5789 e incluyen GET, , HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACEy PATCH.Ejemplo: GET |
| HttpStatusCode | Alias | Código de estado HTTP. Alias a EventResultDetails. | |
| HttpContentType | Opcional | Cadena | Encabezado de tipo de contenido respuesta HTTP. Nota: El campo HttpContentType puede incluir el formato de contenido y parámetros adicionales, como la codificación usada para obtener el formato real. Ejemplo: text/html; charset=ISO-8859-4 |
| HttpContentFormat | Opcional | Cadena | Parte de formato de contenido de HttpContentType Ejemplo: text/html |
| HttpReferrer | Opcional | Cadena | Encabezado de referencia HTTP. Nota: ASIM, en sincronización con OSSEM, usa la ortografía correcta para el referenciador y no la ortografía del encabezado HTTP original. Ejemplo: https://developer.mozilla.org/docs |
| HttpUserAgent | Opcional | Cadena | Encabezado del agente de usuario HTTP. Ejemplo: Mozilla/5.0 (Windows NT 10.0; WOW64)AppleWebKit/537.36 (KHTML, como Gecko)Chrome/83.0.4103.97 Safari/537.36 |
| UserAgent | Alias | Alias a HttpUserAgent | |
| HttpRequestXff | Opcional | Dirección IP | Encabezado HTTP X-Forwarded-For. Ejemplo: 120.12.41.1 |
| HttpRequestTime | Opcional | Entero | La cantidad de tiempo, en milisegundos, tardó en enviar la solicitud al servidor, si procede. Ejemplo: 700 |
| HttpResponseTime | Opcional | Entero | La cantidad de tiempo, en milisegundos, tardó en recibir una respuesta en el servidor, si procede. Ejemplo: 800 |
| HttpHost | Opcional | Cadena | Servidor web virtual al que tiene como destino la solicitud HTTP. Este valor se basa normalmente en el encabezado de host HTTP. |
| FileName | Opcional | Cadena | En el caso de las cargas HTTP, el nombre del archivo cargado. |
| FileMD5 | Opcional | MD5 | En el caso de las cargas HTTP, el hash MD5 del archivo cargado. Ejemplo: 75a599802f1fa166cdadb360960b1dd0 |
| FileSHA1 | Opcional | SHA1 | En el caso de las cargas HTTP, el hash SHA1 del archivo cargado. Ejemplo: d55c5a4df19b46db8c54c801c4665d3338acdab0 |
| FileSHA256 | Opcional | SHA256 | En el caso de las cargas HTTP, el hash SHA256 del archivo cargado. Ejemplo: e81bb824c4a09a811af17deae22f22dd2e1ec8cbb00b22629d2899f7c68da274 |
| FileSHA512 | Opcional | SHA512 | En el caso de las cargas HTTP, el hash SHA512 del archivo cargado. |
| Hash | Alias | Alias del campo Hash disponible. | |
| HashType | Condicional | Enumerado | Tipo del hash en el campo Hash . Entre los valores posibles se incluyen: MD5, SHA1, SHA256y SHA512. |
| FileSize | Opcional | Long | En el caso de las cargas HTTP, el tamaño en bytes del archivo cargado. |
| FileContentType | Opcional | Cadena | En el caso de las cargas HTTP, el tipo de contenido del archivo cargado. |
| HttpCookie | Opcional | Cadena | Contenido del encabezado de cookie HTTP enviado desde el cliente al servidor, que contiene pares nombre-valor de datos de sesión. Ejemplo: session_id=abc123; user_pref=dark_mode |
| HttpIsProxied | Opcional | Booleano | Indica si la solicitud HTTP se envió a través de un servidor proxy. Ejemplo: true |
| HttpRequestBodyBytes | Opcional | Long | Tamaño del cuerpo de la solicitud HTTP en bytes, sin incluir encabezados. Ejemplo: 1024 |
| HttpRequestCacheControl | Opcional | Cadena | El contenido del encabezado de solicitud Cache-Control HTTP, especificando las directivas de almacenamiento en caché del cliente. Ejemplo: no-cache |
| HttpRequestHeaderCount | Opcional | Entero | Número de encabezados HTTP incluidos en la solicitud. Ejemplo: 12 |
| HttpResponseBodyBytes | Opcional | Long | Tamaño del cuerpo de la respuesta HTTP en bytes, sin incluir encabezados. Ejemplo: 8192 |
| HttpResponseCacheControl | Opcional | Cadena | El contenido del encabezado de respuesta Cache-Control HTTP, especificando directivas de almacenamiento en caché del servidor. Ejemplo: max-age=3600, public |
| HttpResponseExpires | Opcional | Cadena | El contenido del encabezado de respuesta HTTP Expires, que indica cuándo expira el contenido de la respuesta. Ejemplo: Thu, 01 Dec 2024 16:00:00 GMT |
| HttpResponseHeaderCount | Opcional | Entero | Número de encabezados HTTP incluidos en la respuesta. Ejemplo: 15 |
Otros campos
Si uno de los puntos de conexión de la sesión web notifica el evento, puede incluir información sobre el proceso que inició o finalizó la sesión. En tales casos, el esquema de eventos de proceso de ASIM para normalizar esta información.
Actualizaciones de esquema
El esquema de sesión web se basa en el esquema de sesión de red. Por lo tanto, las actualizaciones del esquema de sesión de red también se aplican al esquema de sesión web.
A continuación se muestran los cambios en la versión 0.2.5 del esquema:
- Se agregó el campo
HttpHost.
A continuación se muestran los cambios en la versión 0.2.6 del esquema:
- El tipo de FileSize se cambió de Integer a Long.
A continuación se muestran los cambios en la versión 0.2.7 del esquema:
- Se agregaron los campos
HttpCookie,HttpIsProxied,HttpRequestBodyBytes,HttpRequestCacheControl,HttpRequestHeaderCount,HttpResponseBodyBytes,HttpResponseCacheControl,HttpResponseExpiresyHttpResponseHeaderCount.
Siguientes pasos
Para más información, vea:
- Vea el seminario web de ASIM o revise las diapositivas.
- Introducción al modelo de información de seguridad avanzada (ASIM)
- Esquemas del modelo de información de seguridad avanzada (ASIM)
- Analizadores del modelo de información de seguridad avanzada (ASIM)
- Contenido del modelo de información de seguridad avanzada (ASIM)