Referencia del esquema de normalización de sesión web del Modelo de información de seguridad avanzada (ASIM): versión preliminar pública
El esquema de normalización de sesión web se usa para describir la actividad de una red IP. Por ejemplo, los servidores web, los servidores web y las puertas de enlace de seguridad web notifican las actividades de red IP.
Para más información sobre la normalización en Microsoft Sentinel, consulte Normalización y Modelo avanzado de información de seguridad (ASIM).
Importante
El esquema de normalización de red está actualmente en VERSIÓN PRELIMINAR. Esta característica se ofrece sin contrato de nivel de servicio y no se recomienda para cargas de trabajo de producción.
En la página Términos de uso complementarios para las Versiones preliminares de Microsoft Azure se incluyen términos legales adicionales que se aplican a las características de Azure que se encuentran en versión beta, versión preliminar o que todavía no se han publicado para su disponibilidad general.
Información general del esquema
El esquema de normalización de sesión web representa cualquier sesión de red HTTP y es específicamente adecuado para proporcionar compatibilidad con tipos de origen comunes, entre ellos:
- Servidores web
- Proxies web
- Puertas de enlace de seguridad web
El esquema de sesión web de ASIM representa la actividad de los protocolos HTTP y HTTPS. Puesto que el esquema representa la actividad del protocolo, se rige por RFC y listas de parámetros asignados oficialmente, a las que se hace referencia en este artículo cuando corresponda.
El esquema de sesión web no representa eventos de auditoría de dispositivos de origen. Por ejemplo, el esquema de sesión web no puede representar un evento que modifique una directiva de puerta de enlace de seguridad web.
Dado que las sesiones HTTP son sesiones de nivel de aplicación que usan TCP/IP como sesión de capa de red subyacente, el esquema de sesión web es un superconjunto del esquema de sesión web de ASIM.
Los campos más importantes de un esquema de sesión web son:
- 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 informa del código de estado HTTP.
Los eventos de sesión web también pueden incluir la información del usuario y proceso para el usuario y el proceso que inicia la solicitud.
Analizadores
Para más información sobre los analizadores de ASIM,consulte la introducción a los analizadores de ASIM.
Unificación de analizadores
Para usar analizadores que unifiquen todos los analizadores predeterminados de ASIM y asegurarse de que el análisis se ejecuta en todos los orígenes configurados, use el analizador de filtrado _Im_WebSession
o el analizador sin parámetros _ASim_WebSession
.
También puede usar los analizadores ImWebSession
y ASimWebSession
implementados en el área de trabajo mediante su implementación desde el repositorio de Microsoft Sentinel en GitHub. Para más información, vea Analizadores de ASIM integrados y analizadores implementados por el área de trabajo.
Analizadores integrados específicos del origen
Para obtener la lista de analizadores de sesiones web que proporciona Microsoft Sentinel, consulte la lista de analizadores de ASIM
Adición de sus propios analizadores normalizados
Al implementar analizadores personalizados para el modelo de información de sesión web, asigne un nombre a las funciones KQL con la sintaxis siguiente:
vimWebSession<vendor><Product>
para analizadores parametrizadosASimWebSession<vendor><Product>
para analizadores regulares
Filtrado de parámetros del analizador
Los analizadores im
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 | Escribir | Descripción |
---|---|---|
starttime | datetime | Filtre solo las sesiones web que se iniciaron en este momento, o después. |
endtime | datetime | Filtre solo las sesiones web que empezaron a ejecutarse en este momento o antes. |
srcipaddr_has_any_prefix | dinámico | Filtre solo las sesiones web para las que el prefijo del campo de dirección IP de origen es uno de los valores enumerados. La lista de valores puede incluir direcciones IP y prefijos de dirección IP. Los prefijos deben terminar por . , por ejemplo: 10.0. . La longitud de la lista se limita a 10 000 elementos. |
ipaddr_has_any_prefix | dinámico | Filtre solo las sesiones de red cuyo prefijo del campo de dirección IP de destino o del campo de dirección IP de origen se encuentre en uno de los valores enumerados. Los prefijos deben terminar por . , por ejemplo: 10.0. . La longitud de la lista se limita a 10 000 elementos.El campo ASimMatchingIpAddr se establece con uno de los valores SrcIpAddr , DstIpAddr o Both para reflejar los campos o campos coincidentes. |
url_has_any | dinámico | Filtre solo las sesiones web para las que el campo URL tenga 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 se limita a 10 000 elementos. |
httpuseragent_has_any | dinámico | Filtre solo las sesiones web para las que el campo del agente de usuario tenga 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 se limita 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, sea cualquiera de los valores enumerados. |
eventresult | string | Filtre solo las sesiones de red con un valor de EventResult específico. |
Algunos parámetros pueden aceptar la lista de valores de tipo dynamic
o un único valor de cadena. 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 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 está alineado con el esquema de entidades de red de OSSEM y el esquema de entidades HTTP de OSSEM.
Para cumplir 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 sesión, sin incluir el token Dvc en el nombre del campo.
Así, por ejemplo, el nombre de host y la dirección IP del dispositivo de origen se denominan SrcHostname y SrcIpAddr, respectivamente, y no SrcDvcHostname y SrcDvcIpAddr. El prefijo Dvc solo se usa para el dispositivo intermediario o de informes, 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 Target en lugar de Dst.
Campos comunes de ASIM
Importante
Los campos comunes a todos los esquemas se describen detalladamente en el artículo Campos comunes de ASIM.
Campos comunes con directrices específicas
La lista siguiente solo enumera los campos que tienen directrices específicas para los eventos de sesión web.
Campo | Clase | Tipo | Descripción |
---|---|---|---|
EventType | Mandatory | Enumerated | Describe la operación notificada por el registro. Los valores permitidos son: - HTTPsession : Indica una sesión de red usada para HTTP o HTTPS, normalmente informada por un dispositivo intermediario, como un proxy o una pasarela de seguridad web.- WebServerSession : Indica una solicitud HTTP notificada por un servidor web. Un evento de este tipo suele tener menos información relacionada con la red. La URL comunicada no debe incluir un esquema y un nombre de servidor, sino solo la ruta de acceso y la parte de parámetros de la URL. - ApiRequest : Indica una solicitud HTTP notificada asociada a una llamada API, normalmente notificada por un servidor de aplicaciones. Un evento de este tipo suele tener menos información relacionada con la red. Cuando la notifica el servidor de aplicaciones, la URL notificada no debe incluir un esquema y un nombre de servidor, sino solo la ruta de acceso y la parte de parámetros de la URL. |
EventResult | Mandatory | Enumerated | Describe el resultado del evento, normalizado por uno de los siguientes valores: - Success - Partial - Failure - NA (no aplicable) En una sesión HTTP, Success se define como un código de estado inferior a 400 y Failure se define como un código de estado mayor que 400 . Para ver 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 | String | El código de estado HTTP. Nota: El valor se puede proporcionar en el registro de origen usando términos diferentes, que se deben normalizar con estos valores. El valor original debe almacenarse en el campo EventOriginalResultDetails. |
EventSchema | Mandatory | String | El nombre del esquema que se documenta aquí es WebSession . |
EventSchemaVersion | Mandatory | String | Versión del esquema. La versión del esquema que se documenta aquí el la versión 0.2.6 . |
Campos dvc | En el caso de los eventos de sesión web, los campos del dispositivo hacen referencia al sistema que informa del evento de sesión web. Se trata normalmente de un dispositivo intermediario para los eventos HTTPSession , y del servidor web o de aplicaciones de destino para los eventos WebServerSession y ApiRequest . |
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 podría ser opcional en general, pero obligatorio para un esquema específico. Para obtener más información sobre cada campo, consulte el siguiente artículo sobre los campos comunes de ASIM.
Clase | Fields |
---|---|
Mandatory | - EventCount - EventStartTime - EventEndTime - EventType - EventResult - EventProduct - EventVendor - EventSchema - EventSchemaVersion - Dvc |
Recomendado | - EventResultDetails - EventSeverity - EventUid - DvcIpAddr - DvcHostname - DvcDomain - DvcDomainType - DvcFQDN - DvcId - DvcIdType - DvcAction |
Opcionales | - 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 sesión de capa de red subyacente. El esquema de sesión web es un superconjunto del esquema de sesión web de ASIM y todos los campos de esquema de red también se incluyen en el esquema de sesión web.
El siguiente esquema de sesión de red de ASIM tiene instrucciones específicas cuando se usa 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 extraerla de la dirección URL del analizador.
- Los campos
NetworkRuleName
yNetworkRuleNumber
pasan a llamarseRuleName
yRuleNumber
respectivamente.
Normalmente, los dispositivos intermedios notifican eventos de sesión web 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 intermediario 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 HTTP:
Campo | Clase | Tipo | Descripción |
---|---|---|---|
Url | Mandatory | String | La URL de la solicitud HTTP, incluidos los parámetros. En el caso de los eventos de HTTPSession , la dirección URL puede incluir el esquema y debe incluir el nombre del servidor. Para WebServerSession y para ApiRequest , la URL no suele incluir el esquema y el servidor, que se encuentran en los campos NetworkApplicationProtocol y DstFQDN respectivamente. Ejemplo: https://contoso.com/fo/?k=v&q=u#f |
UrlCategory | Opcional | String | Agrupación definida de una dirección URL o la parte de dominio de esta. Normalmente, las puertas de enlace de seguridad web proporcionan la categoría, que se basa en el contenido del sitio al que apunta la dirección URL. Ejemplo: motores de búsqueda, sitios para adultos, noticias, publicidad y dominios aparcados. |
UrlOriginal | Opcional | String | Valor original de la dirección URL, cuando el dispositivo de informes ha modificado la dirección URL; se proporcionan ambos valores. |
HttpVersion | Opcional | String | La versión de la solicitud HTTP. Ejemplo: 2.0 |
HttpRequestMethod | Recomendado | Enumerated | Método HTTP. Los valores se definen en RFC 7231 y RFC 5789, e incluyen GET , HEAD , POST , PUT , DELETE , CONNECT , OPTIONS , TRACE y PATCH .Ejemplo: GET |
HttpStatusCode | Alias | El código de estado HTTP. Alias de EventResultDetails. | |
HttpContentType | Opcional | String | Encabezado de tipo de contenido de 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 | String | Parte del formato de contenido de HttpContentType Ejemplo: text/html |
HttpReferrer | Opcional | String | Encabezado de referencia HTTP. Nota: ASIM, en sincronización con OSSEM, usa la ortografía correcta para el origen de referencia, y no la original del encabezado HTTP. Ejemplo: https://developer.mozilla.org/docs |
HttpUserAgent | Opcional | String | 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 de HttpUserAgent | |
HttpRequestXff | Opcionales | Dirección IP | Encabezado HTTP X-Forwarded-For. Ejemplo: 120.12.41.1 |
HttpRequestTime | Opcional | Entero | Cantidad de tiempo, en milisegundos, que se tardó en enviar la solicitud al servidor, si procede. Ejemplo: 700 |
HttpResponseTime | Opcional | Entero | Cantidad de tiempo, en milisegundos, que se tardó en recibir una respuesta en el servidor, si procede. Ejemplo: 800 |
HttpHost | Opcional | String | Servidor web virtual al que se ha dirigido la solicitud HTTP. Este valor se suele basar en el encabezado host HTTP. |
FileName | Opcional | String | En el caso de las cargas HTTP, el nombre del archivo cargado. |
FileMD5 | Opcionales | MD5 | Para cargas HTTP, el hash MD5 del archivo cargado. Ejemplo: 75a599802f1fa166cdadb360960b1dd0 |
FileSHA1 | Opcionales | SHA1 | Para cargas HTTP, el hash SHA1 del archivo cargado. Ejemplo: d55c5a4df19b46db8c54 c801c4665d3338acdab0 |
FileSHA256 | Opcionales | SHA256 | Para cargas HTTP, el hash SHA256 del archivo cargado. Ejemplo: e81bb824c4a09a811af17deae22f22dd 2e1ec8cbb00b22629d2899f7c68da274 |
FileSHA512 | Opcionales | SHA512 | Para cargas HTTP, el hash SHA512 del archivo cargado. |
Hash | Alias | Alias para el campo Hash disponible. | |
FileHashType | Opcionales | Enumerated | Tipo del hash en el campo Hash. Los valores posibles incluyen MD5 , SHA1 , SHA256 y SHA512 . |
FileSize | Opcional | long | Con cargas HTTP, el tamaño en bytes del archivo cargado. |
FileContentType | Opcional | String | Con cargas HTTP, el tipo de contenido del archivo cargado. |
Otros campos
Si uno de los puntos de conexión de la sesión web notifica el evento, puede que se incluya 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 del 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 ha agregado el campo
HttpHost
.
A continuación se muestran los cambios en la versión 0.2.6 del esquema:
- Se ha cambiado el tipo de FileSize de Integer a Long.
Pasos siguientes
Para más información, consulte:
- El seminario web de ASIM o las diapositivas
- Introducción al Modelo avanzado de información de seguridad (ASIM)
- Esquemas del Modelo avanzado de información de seguridad (ASIM)
- Analizadores del Modelo avanzado de información de seguridad (ASIM)
- Contenido del Modelo avanzado de información de seguridad (ASIM)