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 modelo de información DNS se usa para describir los eventos notificados por un servidor DNS o un sistema de seguridad DNS, y lo usa Microsoft Sentinel para habilitar el análisis independiente del origen.
Para obtener más información, vea Normalización y el modelo de información de seguridad avanzada (ASIM).
Introducción al esquema
El esquema DNS de ASIM representa la actividad del protocolo DNS. Tanto los servidores DNS como los dispositivos que envían solicitudes DNS a una actividad DNS de registro de servidor DNS. La actividad de protocolo DNS incluye consultas DNS, actualizaciones del servidor DNS y transferencias masivas de datos dns. 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 DNS no representa eventos de auditoría del servidor DNS.
La actividad más importante notificada por los servidores DNS es una consulta DNS, para la que el EventType campo está establecido en Query.
Los campos más importantes de un evento DNS son:
DnsQuery, que informa del nombre de dominio para el que se emitió la consulta.
SrcIpAddr (con el alias IpAddr), que representa la dirección IP desde la que se generó la solicitud. Los servidores DNS suelen proporcionar el campo SrcIpAddr, pero los clientes DNS a veces no proporcionan este campo y solo proporcionan el campo SrcHostname .
EventResultDetails, que indica si la solicitud se realizó correctamente y, si no, por qué.
Cuando está disponible, DnsResponseName, que contiene la respuesta proporcionada por el servidor a la consulta. ASIM no requiere analizar la respuesta y su formato varía entre orígenes.
Para usar este campo en contenido independiente del origen, busque el contenido con los
hasoperadores ocontains.
Los eventos DNS recopilados en el dispositivo cliente también pueden incluir información de usuario y proceso .
Directrices para recopilar eventos DNS
DNS es un protocolo único en el que puede cruzar un gran número de equipos. Además, dado que DNS usa UDP, las solicitudes y respuestas se desa acoplan y no están directamente relacionadas entre sí.
En la imagen siguiente se muestra un flujo de solicitud DNS simplificado, incluidos cuatro segmentos. Una solicitud real puede ser más compleja, con más segmentos implicados.
Dado que los segmentos de solicitud y respuesta no están conectados directamente entre sí en el flujo de solicitudes DNS, el registro completo puede dar lugar a una duplicación significativa.
El segmento más valioso que se va a registrar es la respuesta al cliente. La respuesta proporciona las consultas de nombre de dominio, el resultado de la búsqueda y la dirección IP del cliente. Aunque muchos sistemas DNS solo registran este segmento, hay valor en el registro de las otras partes. Por ejemplo, un ataque de envenenamiento de caché DNS a menudo aprovecha las respuestas falsas de un servidor ascendente.
Si el origen de datos admite el registro DNS completo y ha elegido registrar varios segmentos, ajuste las consultas para evitar la duplicación de datos en Microsoft Sentinel.
Por ejemplo, puede modificar la consulta con la siguiente normalización:
_Im_Dns | where SrcIpAddr != "127.0.0.1" and EventSubType == "response"
Analizadores
Para obtener más información sobre los analizadores de ASIM, consulte la introducción a los analizadores de ASIM.
Analizadores integrados
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 _Im_Dns , use el analizador de unificación como nombre de tabla en la consulta.
Para obtener la lista de los analizadores dns Microsoft Sentinel proporciona la lista integrada, consulte la lista de analizadores de ASIM.
Agregar sus propios analizadores normalizados
Al implementar analizadores personalizados para el modelo de información dns, asigne a las funciones de KQL el nombre con el formato vimDns<vendor><Product>. Consulte el artículo Administración de analizadores de ASIM para obtener información sobre cómo agregar los analizadores personalizados al analizador de unificación de DNS.
Filtrado de parámetros del analizador
Los analizadores dns admiten parámetros de filtrado. Aunque estos parámetros 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 consultas DNS que se ejecutaron 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 consultas DNS que terminaron de 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 | string | Filtre solo las consultas DNS de esta dirección IP de origen. |
| domain_has_any | dynamic/string | Filtre solo las consultas DNS en las domain que (o query) tenga cualquiera de los nombres de dominio enumerados, incluidos como parte del dominio de eventos. La longitud de la lista está limitada a 10 000 elementos. |
| responsecodename | string | Filtre solo las consultas DNS para las que el nombre del código de respuesta coincida con el valor proporcionado. Por ejemplo: NXDOMAIN |
| response_has_ipv4 | string | Filtre solo las consultas DNS en las que el campo de respuesta incluya la dirección IP o el prefijo de dirección IP proporcionados. Use este parámetro cuando desee filtrar por una sola dirección IP o prefijo. Los resultados no se devuelven para los orígenes que no proporcionan una respuesta. |
| response_has_any_prefix | dinámico | Filtre solo las consultas DNS en las que el campo de respuesta incluya cualquiera de las direcciones IP o prefijos de dirección IP enumerados. Los prefijos deben terminar con , .por ejemplo: 10.0.. Use este parámetro cuando desee filtrar por una lista de direcciones IP o prefijos. Los resultados no se devuelven para los orígenes que no proporcionan una respuesta. La longitud de la lista está limitada a 10 000 elementos. |
| eventtype | string | Filtre solo las consultas DNS del tipo especificado. Si no se especifica ningún valor, solo se devuelven las consultas de búsqueda. |
Por ejemplo, para filtrar solo las consultas DNS del último día que no pudieron resolver el nombre de dominio, use:
_Im_Dns (responsecodename = 'NXDOMAIN', starttime = ago(1d), endtime=now())
Para filtrar solo las consultas DNS para una lista especificada de nombres de dominio, use:
let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_Dns (domain_has_any = torProxies)
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.'])
Contenido normalizado
Para obtener una lista completa de las reglas de análisis que usan eventos DNS normalizados, consulte Contenido de seguridad de consultas DNS.
Detalles del esquema
El modelo de información dns está alineado con el esquema de entidad DNS de OSSEM.
Para obtener más información, consulte la referencia de parámetros DNS de la Autoridad de números asignados por Internet (IANA).
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 eventos DNS:
| Field | Class | Tipo | Descripción |
|---|---|---|---|
| EventType | Obligatorio | Enumerado | Indica la operación notificada por el registro. En el caso de los registros DNS, este valor sería el código operativo DNS. Ejemplo: Query |
| EventSubType | Opcional | Enumerado |
request o response. En la mayoría de los orígenes, solo se registran las respuestas y, por lo tanto, el valor suele ser respuesta. |
| EventResultDetails | Obligatorio | Enumerado | En el caso de los eventos DNS, este campo proporciona el código de respuesta DNS. Notas: - IANA no define el caso de los valores, por lo que el análisis debe normalizar el caso. - Si el origen proporciona solo un código de respuesta numérico y no un nombre de código de respuesta, el analizador debe incluir una tabla de búsqueda para enriquecerse con este valor. - Si este registro representa una solicitud y no una respuesta, establezca en NA. Ejemplo: NXDOMAIN |
| EventSchemaVersion | Obligatorio | SchemaVersion (String) | La versión del esquema documentada aquí es 0.1.7. |
| EventSchema | Obligatorio | Enumerado | El nombre del esquema documentado aquí es Dns. |
| Campos Dvc | - | - | En el caso de los eventos DNS, los campos de dispositivo hacen referencia al sistema que notifica el evento DNS. |
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 del sistema de origen
| Campo | Clase | Tipo | Description |
|---|---|---|---|
| Src | Alias | Cadena | Identificador único del dispositivo de origen. Este campo puede asignar un alias a los campos SrcDvcId, SrcHostname o SrcIpAddr . Ejemplo: 192.168.12.1 |
| SrcIpAddr | Recomendado | Dirección IP | Dirección IP del cliente que envió la solicitud DNS. En el caso de una solicitud DNS recursiva, este valor normalmente sería el dispositivo de informes y, en la mayoría de los casos, se establece 127.0.0.1en . Ejemplo: 192.168.12.1 |
| SrcPortNumber | Opcional | Entero | Puerto de origen de la consulta DNS. Ejemplo: 54312 |
| IpAddr | Alias | Alias para SrcIpAddr | |
| SrcGeoCountry | Opcional | País | País o región asociado a la dirección IP de origen. Ejemplo: USA |
| SrcGeoRegion | Opcional | Región | Región asociada a la dirección IP de origen. Ejemplo: Vermont |
| SrcGeoCity | Opcional | Ciudad | Ciudad asociada a la dirección IP de origen. Ejemplo: Burlington |
| SrcGeoLatitude | Opcional | Latitude | Latitud de la coordenada geográfica asociada a la dirección IP de origen. Ejemplo: 44.475833 |
| SrcGeoLongitude | Opcional | Longitude | Longitud de la coordenada geográfica asociada a la dirección IP de origen. Ejemplo: 73.211944 |
| SrcRiskLevel | Opcional | Entero | Nivel de riesgo asociado al origen. El valor debe ajustarse a un intervalo de 0 a , con 0 para benignos y 100 para 100un riesgo alto.Ejemplo: 90 |
| SrcOriginalRiskLevel | Opcional | Cadena | El nivel de riesgo asociado al origen, tal y como informa el dispositivo de informes. Ejemplo: Suspicious |
| SrcHostname | Recomendado | Nombre de host (cadena) | Nombre de host del dispositivo de origen, excepto la información de dominio. Ejemplo: DESKTOP-1282V4D |
| Nombre de host | Alias | Alias a SrcHostname | |
| SrcDomain | Recomendado | Dominio (cadena) | Dominio del dispositivo de origen. Ejemplo: Contoso |
| SrcDomainType | Condicional | Enumerado | Tipo de SrcDomain, si se conoce. Los valores posibles son: - Windows(por ejemplo, ) contoso- FQDN(por ejemplo, ) microsoft.comObligatorio si se usa SrcDomain . |
| SrcFQDN | Opcional | FQDN (cadena) | Nombre de host del dispositivo de origen, incluida la información de dominio cuando está disponible. Nota: Este campo admite el formato FQDN tradicional y el formato domain\hostname de Windows. El campo SrcDomainType refleja el formato usado. Ejemplo: Contoso\DESKTOP-1282V4D |
| SrcDvcId | Opcional | Cadena | Identificador del dispositivo de origen tal como se indica en el registro. Por ejemplo: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
| SrcDvcScopeId | Opcional | Cadena | Identificador del ámbito de la plataforma en la nube al que pertenece el dispositivo. SrcDvcScopeId se asigna a un identificador de suscripción en Azure y a un identificador de cuenta en AWS. |
| SrcDvcScope | Opcional | Cadena | Ámbito de la plataforma en la nube al que pertenece el dispositivo. SrcDvcScope se asigna a un identificador de suscripción en Azure y a un identificador de cuenta en AWS. |
| SrcDvcIdType | Condicional | Enumerado | Tipo de SrcDvcId, si se conoce. Los valores posibles son: - AzureResourceId- MDEidSi hay varios identificadores disponibles, use el primero de la lista y almacene los demás en SrcDvcAzureResourceId y SrcDvcMDEid, respectivamente. Nota: Este campo es necesario si se usa SrcDvcId . |
| SrcDeviceType | Opcional | Enumerado | Tipo del dispositivo de origen. Los valores posibles son: - Computer- Mobile Device- IOT Device- Other |
| SrcDescription | Opcional | Cadena | Texto descriptivo asociado al dispositivo. Por ejemplo: Primary Domain Controller. |
Campos de usuario de origen
| Campo | Clase | Tipo | Description |
|---|---|---|---|
| SrcUserId | Opcional | Cadena | Representación única, alfanumérica y legible de la máquina del usuario de origen. Para obtener más información y campos alternativos para identificadores adicionales, consulte La entidad User. Ejemplo: S-1-12-1-4141952679-1282074057-627758481-2916039507 |
| SrcUserScope | Opcional | Cadena | Ámbito, como Microsoft Entra inquilino, en el que se definen SrcUserId y SrcUsername. o más información y lista de valores permitidos, vea UserScope en el artículo Información general del esquema. |
| SrcUserScopeId | Opcional | Cadena | Identificador de ámbito, como Microsoft Entra id. de directorio, en el que se definen SrcUserId y SrcUsername. Para obtener más información y una lista de los valores permitidos, vea UserScopeId en el artículo Información general del esquema. |
| SrcUserIdType | Condicional | UserIdType | Tipo del identificador almacenado en el campo SrcUserId . Para obtener más información y una lista de los valores permitidos, vea UserIdType en el artículo Información general del esquema. |
| SrcUsername | Opcional | Nombre de usuario (cadena) | El nombre de usuario de origen, incluida la información de dominio cuando está disponible. Para obtener más información, vea La entidad User. Ejemplo: AlbertE |
| SrcUsernameType | Condicional | UsernameType | Especifica el tipo del nombre de usuario almacenado en el campo SrcUsername . Para obtener más información y una lista de los valores permitidos, vea UsernameType en el artículo Información general del esquema. Ejemplo: Windows |
| Usuario | Alias | Alias a SrcUsername | |
| SrcUserType | Opcional | UserType | Tipo del usuario de origen. Para obtener más información y una lista de los valores permitidos, vea UserType en el artículo Información general del esquema. Por ejemplo: Guest |
| SrcUserSessionId | Opcional | Cadena | Identificador único de la sesión de inicio de sesión del actor. Ejemplo: 102pTUgC3p8RIqHvzxLCHnFlg |
| SrcOriginalUserType | Opcional | Cadena | El tipo de usuario de origen original, si lo proporciona el origen. |
Campos de proceso de origen
| Campo | Clase | Tipo | Description |
|---|---|---|---|
| SrcProcessName | Opcional | Cadena | Nombre de archivo del proceso que inició la solicitud DNS. Normalmente, este nombre se considera el nombre del proceso. Ejemplo: C:\Windows\explorer.exe |
| Proceso | Alias | Alias de SrcProcessName Ejemplo: C:\Windows\System32\rundll32.exe |
|
| SrcProcessId | Opcional | Cadena | Identificador de proceso (PID) del proceso que inició la solicitud DNS. Ejemplo: 48610176 Nota: El tipo se define como cadena para admitir sistemas variables, pero en Windows y Linux este valor debe ser numérico. Si usa una máquina Windows o Linux y usa otro tipo, asegúrese de convertir los valores. Por ejemplo, si usó un valor hexadecimal, conviértalo en un valor decimal. |
| SrcProcessGuid | Opcional | GUID (string) | Identificador único (GUID) generado del proceso que inició la solicitud DNS. Ejemplo: EF3BD0BD-2B74-60C5-AF5C-010000001E00 |
Campos del sistema de destino
| Campo | Clase | Tipo | Description |
|---|---|---|---|
| Dst | Alias | Cadena | Identificador único del servidor que recibió la solicitud DNS. Este campo puede aliasar los campos DstDvcId, DstHostname o DstIpAddr . Ejemplo: 192.168.12.1 |
| DstIpAddr | Opcional | Dirección IP | Dirección IP del servidor que recibió la solicitud DNS. Para una solicitud DNS normal, este valor normalmente sería el dispositivo de informes y, en la mayoría de los casos, se establece 127.0.0.1en .Ejemplo: 127.0.0.1 |
| DstGeoCountry | Opcional | País | País o región asociado a la dirección IP de destino. Para obtener más información, vea Tipos lógicos. Ejemplo: USA |
| DstGeoRegion | Opcional | Región | Región o estado asociado a la dirección IP de destino. Para obtener más información, vea Tipos lógicos. Ejemplo: Vermont |
| DstGeoCity | Opcional | Ciudad | Ciudad asociada a la dirección IP de destino. Para obtener más información, vea Tipos lógicos. Ejemplo: Burlington |
| DstGeoLatitude | Opcional | Latitude | Latitud de la coordenada geográfica asociada a la dirección IP de destino. Para obtener más información, vea Tipos lógicos. Ejemplo: 44.475833 |
| DstGeoLongitude | Opcional | Longitude | Longitud de la coordenada geográfica asociada a la dirección IP de destino. Para obtener más información, vea Tipos lógicos. Ejemplo: 73.211944 |
| DstRiskLevel | Opcional | Entero | Nivel de riesgo asociado al destino. El valor debe ajustarse a un intervalo de 0 a 100, que 0 es benigno y 100 es un riesgo alto. Ejemplo: 90 |
| DstOriginalRiskLevel | Opcional | Cadena | El nivel de riesgo asociado al destino, tal y como informa el dispositivo de informes. Ejemplo: Malicious |
| DstPortNumber | Opcional | Entero | Número de puerto de destino. Ejemplo: 53 |
| DstHostname | Opcional | Nombre de host (cadena) | Nombre de host del dispositivo de destino, excepto la información de dominio. Si no hay ningún nombre de dispositivo disponible, almacene la dirección IP correspondiente en este campo. Ejemplo: DESKTOP-1282V4DNota: Este valor es obligatorio si se especifica DstIpAddr . |
| DstDomain | Opcional | Dominio (cadena) | Dominio del dispositivo de destino. Ejemplo: Contoso |
| DstDomainType | Condicional | Enumerado | Tipo de DstDomain, si se conoce. Los valores posibles son: - Windows (contoso\mypc)- FQDN (learn.microsoft.com)Obligatorio si se usa DstDomain . |
| DstFQDN | Opcional | FQDN (cadena) | Nombre de host del dispositivo de destino, incluida la información de dominio cuando está disponible. Ejemplo: Contoso\DESKTOP-1282V4D Nota: Este campo admite el formato FQDN tradicional y el formato domain\hostname de Windows. DstDomainType refleja el formato usado. |
| DstDvcId | Opcional | Cadena | Identificador del dispositivo de destino tal como se indica en el registro. Ejemplo: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
| DstDvcScopeId | Opcional | Cadena | Identificador del ámbito de la plataforma en la nube al que pertenece el dispositivo. DstDvcScopeId se asigna a un identificador de suscripción en Azure y a un identificador de cuenta en AWS. |
| DstDvcScope | Opcional | Cadena | Ámbito de la plataforma en la nube al que pertenece el dispositivo. DstDvcScope se asigna a un identificador de suscripción en Azure y a un identificador de cuenta en AWS. |
| DstDvcIdType | Condicional | Enumerado | Tipo de DstDvcId, si se conoce. Los valores posibles son: - AzureResourceId- MDEidIfSi hay varios identificadores disponibles, use el primero de la lista anterior y almacene los demás en los campos DstDvcAzureResourceId o DstDvcMDEid , respectivamente. Obligatorio si se usa DstDeviceId . |
| DstDeviceType | Opcional | Enumerado | Tipo del dispositivo de destino. Los valores posibles son: - Computer- Mobile Device- IOT Device- Other |
| DstDescription | Opcional | Cadena | Texto descriptivo asociado al dispositivo. Por ejemplo: Primary Domain Controller. |
Campos específicos de DNS
| Campo | Clase | Tipo | Description |
|---|---|---|---|
| DnsQuery | Obligatorio | Cadena | Dominio que la solicitud intenta resolver. Notas: - Algunos orígenes envían consultas FQDN válidas en un formato diferente. Por ejemplo, en el propio protocolo DNS, la consulta incluye un punto (.) al final, que se debe quitar. - Aunque el protocolo DNS limita el tipo de valor de este campo a un FQDN, la mayoría de los servidores DNS permiten cualquier valor y, por tanto, este campo no se limita únicamente a los valores FQDN. En particular, los ataques de tunelización dns pueden usar valores FQDN no válidos en el campo de consulta. - Aunque el protocolo DNS permite varias consultas en una sola solicitud, este escenario es poco frecuente, si se encuentra en absoluto. Si la solicitud tiene varias consultas, almacene la primera en este campo y, a continuación, y, opcionalmente, mantenga el resto en el campo AdditionalFields . Ejemplo: www.malicious.com |
| Dominio | Alias | Alias a DnsQuery. | |
| DnsQueryType | Opcional | Entero | Códigos de tipo de registro de recursos DNS. Ejemplo: 28 |
| DnsQueryTypeName | Recomendado | Enumerado | Nombres de tipo de registro de recursos DNS . Notas: - IANA no define el caso de los valores, por lo que el análisis debe normalizar el caso según sea necesario. - El valor ANY es compatible con el código de respuesta 255.- El valor TYPExxxx es compatible con los códigos de respuesta no asignados, donde xxxx es el valor numérico del código de respuesta, tal y como informa el servidor DNS BIND.-Si el origen proporciona solo un código de tipo de consulta numérico y no un nombre de tipo de consulta, el analizador debe incluir una tabla de búsqueda para enriquecerse con este valor. Ejemplo: AAAA |
| DnsResponseName | Opcional | Cadena | Contenido de la respuesta, como se incluye en el registro. Los datos de respuesta DNS son incoherentes entre los dispositivos de informes, son complejos de analizar y tienen menos valor para el análisis independiente del origen. Por lo tanto, el modelo de información no requiere análisis y normalización, y Microsoft Sentinel usa una función auxiliar para proporcionar información de respuesta. Para obtener más información, consulte Control de la respuesta DNS. |
| DnsResponseCodeName | Alias | Alias a EventResultDetails | |
| DnsResponseCode | Opcional | Entero | Código de respuesta numérica dns. Ejemplo: 3 |
| TransactionIdHex | Recomendado | Hexadecimal (string) | El identificador único de consulta DNS asignado por el cliente DNS, en formato hexadecimal. Tenga en cuenta que este valor forma parte del protocolo DNS y es diferente de DnsSessionId, el identificador de sesión de la capa de red, normalmente asignado por el dispositivo de informes. |
| NetworkProtocol | Opcional | Enumerado | Protocolo de transporte utilizado por el evento de resolución de red. El valor puede ser UDP o TCP y normalmente se establece en UDP para DNS. Ejemplo: UDP |
| NetworkProtocolVersion | Opcional | Enumerado | La versión de NetworkProtocol. Al usarlo para distinguir entre la versión de IP, use los valores IPv4 y IPv6. |
| DnsQueryClass | Opcional | Entero | Identificador de clase DNS. En la práctica, solo se usa la clase IN (id. 1) y, por tanto, este campo es menos valioso. |
| DnsQueryClassName | Recomendado | DnsQueryClassName (String) | Nombre de la clase DNS. En la práctica, solo se usa la clase IN (id. 1) y, por tanto, este campo es menos valioso. Ejemplo: IN |
| DnsFlags | Opcional | Cadena | Campo flags, tal como lo proporciona el dispositivo de informes. Si se proporciona información de marca en varios campos, concatenelos con coma como separador. Dado que las marcas DNS son complejas de analizar y no son utilizadas con menos frecuencia por el análisis, el análisis y la normalización no son necesarios. Microsoft Sentinel puede usar una función auxiliar para proporcionar información de marcas. Para obtener más información, consulte Control de la respuesta DNS. Ejemplo: ["DR"] |
| DnsNetworkDuration | Opcional | Entero | Cantidad de tiempo, en milisegundos, para la finalización de la solicitud DNS. Ejemplo: 1500 |
| Duración | Alias | Alias a DnsNetworkDuration | |
| DnsFlagsAuthenticated | Opcional | Booleano | La marca DNS AD , que está relacionada con DNSSEC, indica en una respuesta que el servidor ha comprobado todos los datos incluidos en las secciones de respuesta y autoridad de la respuesta según las directivas de ese servidor. Para obtener más información, vea RFC 3655 Sección 6.1 para obtener más información. |
| DnsFlagsAuthoritative | Opcional | Booleano | La marca DNS AA indica si la respuesta del servidor era autoritativa |
| DnsFlagsCheckingDisabled | Opcional | Booleano | La marca DNS CD , que está relacionada con DNSSEC, indica en una consulta que los datos no comprobados son aceptables para el sistema que envía la consulta. Para obtener más información, vea RFC 3655 Sección 6.1 para obtener más información. |
| DnsFlagsRecursionAvailable | Opcional | Booleano | La marca DNS RA indica en una respuesta que ese servidor admite consultas recursivas. |
| DnsFlagsRecursionDesired | Opcional | Booleano | La marca DNS RD indica en una solicitud que ese cliente desea que el servidor use consultas recursivas. |
| DnsFlagsTruncated | Opcional | Booleano | La marca DNS TC indica que una respuesta se truncaba a medida que superaba el tamaño máximo de respuesta. |
| DnsFlagsZ | Opcional | Booleano | La marca DNS Z es una marca DNS en desuso, que podrían notificar los sistemas DNS anteriores. |
| DnsSessionId | Opcional | string | Identificador de sesión DNS notificado por el dispositivo de informes. Este valor es diferente de TransactionIdHex, el identificador único de consulta DNS asignado por el cliente DNS. Ejemplo: EB4BFA28-2EAD-4EF7-BC8A-51DF4FDF5B55 |
| SessionId | Alias | Alias a DnsSessionId | |
| DnsResponseIpCountry | Opcional | País | País o región asociado a una de las direcciones IP de la respuesta DNS. Para obtener más información, vea Tipos lógicos. Ejemplo: USA |
| DnsResponseIpRegion | Opcional | Región | Región o estado asociado a una de las direcciones IP de la respuesta DNS. Para obtener más información, vea Tipos lógicos. Ejemplo: Vermont |
| DnsResponseIpCity | Opcional | Ciudad | Ciudad asociada a una de las direcciones IP de la respuesta DNS. Para obtener más información, vea Tipos lógicos. Ejemplo: Burlington |
| DnsResponseIpLatitude | Opcional | Latitude | Latitud de la coordenada geográfica asociada a una de las direcciones IP de la respuesta DNS. Para obtener más información, vea Tipos lógicos. Ejemplo: 44.475833 |
| DnsResponseIpLongitude | Opcional | Longitude | Longitud de la coordenada geográfica asociada a una de las direcciones IP de la respuesta DNS. Para obtener más información, vea Tipos lógicos. Ejemplo: 73.211944 |
Campos de inspección
Los campos siguientes se usan para representar una inspección, que realizó un dispositivo de seguridad DNS. Los campos relacionados con amenazas representan una única amenaza asociada a la dirección de origen, la dirección de destino, una de las direcciones IP de la respuesta o el dominio de consulta DNS. Si se identificó más de una amenaza como amenaza, la información sobre otras direcciones IP se puede almacenar en el campo AdditionalFields.
| Campo | Clase | Tipo | Description |
|---|---|---|---|
| UrlCategory | Opcional | Cadena | Un origen de eventos DNS también puede buscar la categoría de los dominios solicitados. El campo se denomina UrlCategory para alinearse con el esquema de red Microsoft Sentinel. DomainCategory se agrega como un alias que se ajusta a DNS. Ejemplo: Educational \\ Phishing |
| DomainCategory | Alias | Alias a UrlCategory. | |
| RuleName | Opcional | Cadena | Nombre o identificador de la regla que identificó la amenaza. Ejemplo: AnyAnyDrop |
| RuleNumber | Opcional | Entero | Número de la regla que identificó la amenaza. Ejemplo: 23 |
| Rule | Alias | Cadena | El valor de RuleName o el valor de RuleNumber. Si se usa el valor de RuleNumber , el tipo debe convertirse en cadena. |
| RuleNumber | Opcional | Entero | Número de la regla asociada a la alerta. Por ejemplo, 123456 |
| RuleName | Opcional | string | Nombre o identificador de la regla asociada a la alerta. Por ejemplo, Server PSEXEC Execution via Remote Access |
| ThreatId | Opcional | Cadena | Identificador de la amenaza o malware identificado en la sesión de red. Ejemplo: Tr.124 |
| ThreatCategory | Opcional | Cadena | Si un origen de eventos DNS también proporciona seguridad DNS, también puede evaluar el evento DNS. Por ejemplo, puede buscar la dirección IP o el dominio en una base de datos de inteligencia sobre amenazas y asignar el dominio o la dirección IP con una categoría de amenaza. |
| ThreatIpAddr | Opcional | Dirección IP | Dirección IP para la que se identificó una amenaza. El campo ThreatField contiene el nombre del campo ThreatIpAddr que representa. Si se identifica una amenaza en el campo Dominio , este campo debe estar vacío. |
| ThreatField | Condicional | Enumerado | Campo para el que se identificó una amenaza. El valor es SrcIpAddr, DstIpAddr, Domaino DnsResponseName. |
| ThreatName | Opcional | Cadena | Nombre de la amenaza identificada, tal y como informa el dispositivo de informes. |
| ThreatConfidence | Opcional | ConfidenceLevel (integer) | El nivel de confianza de la amenaza identificada, normalizada a un valor entre 0 y 100. |
| ThreatOriginalConfidence | Opcional | Cadena | El nivel de confianza original de la amenaza identificada, según lo notificado por el dispositivo de informes. |
| ThreatRiskLevel | Opcional | RiskLevel (integer) | El nivel de riesgo asociado a la amenaza identificada, normalizada a un valor entre 0 y 100. |
| ThreatOriginalRiskLevel | Opcional | Cadena | El nivel de riesgo original asociado a la amenaza identificada, según lo notificado por el dispositivo de informes. |
| ThreatIsActive | Opcional | Booleano | True si la amenaza identificada se considera una amenaza activa. |
| ThreatFirstReportedTime | Opcional | datetime | La primera vez que la dirección IP o el dominio se identificaron como una amenaza. |
| ThreatLastReportedTime | Opcional | datetime | La última vez que la dirección IP o el dominio se identificaron como una amenaza. |
Campos y alias en desuso
Los campos siguientes son alias que se mantienen para la compatibilidad con versiones anteriores. Se quitaron del esquema el 31 de diciembre de 2021.
-
Query(alias aDnsQuery) -
QueryType(alias aDnsQueryType) -
QueryTypeName(alias aDnsQueryTypeName) -
ResponseName(alias aDnsResponseName) -
ResponseCodeName(alias aDnsResponseCodeName) -
ResponseCode(alias aDnsResponseCode) -
QueryClass(alias aDnsQueryClass) -
QueryClassName(alias aDnsQueryClassName) -
Flags(alias aDnsFlags) SrcUserDomain
Actualizaciones de esquema
Los cambios en la versión 0.1.2 del esquema son:
- Se agregó el campo
EventSchema. - Se ha agregado un campo de marca dedicado, que aumenta el campo Flags combinado:
DnsFlagsAuthoritative,DnsFlagsCheckingDisabled,DnsFlagsRecursionAvailable,DnsFlagsRecursionDesired,DnsFlagsTruncatedyDnsFlagsZ.
Los cambios en la versión 0.1.3 del esquema son:
- El esquema ahora documenta
Src*explícitamente los campos ,Dst*Process*yUser*. - Se agregaron más
Dvc*campos para que coincidan con la definición de campos comunes más reciente. - Se han agregado
Srcalias yDstcomo a un identificador inicial para los sistemas de origen y destino. - Se le agregó un alias opcional
DnsNetworkDurationyDuration, . - Se han agregado campos opcionales ubicación geográfica y nivel de riesgo.
Los cambios en la versión 0.1.4 del esquema son:
- Se agregaron los campos
ThreatIpAddropcionales ,ThreatField,ThreatName,ThreatConfidence,ThreatOriginalConfidence,ThreatOriginalRiskLevel,ThreatIsActive,ThreatFirstReportedTimeyThreatLastReportedTime.
Los cambios en la versión 0.1.5 del esquema son:
- Se agregaron los campos
SrcUserScope,SrcUserSessionId,SrcDvcScopeId,SrcDvcScope,DstDvcScopeId,DstDvcScope,DvcScopeIdyDvcScope.
Los cambios en la versión 0.1.6 del esquema son:
- Se agregaron los campos
DnsResponseIpCountry,DnsResponseIpRegion,DnsResponseIpCity,DnsResponseIpLatitudeyDnsResponseIpLongitude.
Los cambios en la versión 0.1.7 del esquema son:
- Se agregaron los campos
SrcDescription,SrcOriginalRiskLevel,DstDescription,DstOriginalRiskLevel,SrcUserScopeId,NetworkProtocolVersion,Rule,RuleName,RuleNumberyThreatId.
Discrepancias específicas del origen
El objetivo de normalizar es asegurarse de que todos los orígenes proporcionan telemetría coherente. No se puede normalizar un origen que no proporciona la telemetría necesaria, como los campos de esquema obligatorios. Sin embargo, los orígenes que normalmente proporcionan toda la telemetría necesaria, incluso si hay algunas discrepancias, se pueden normalizar. Las discrepancias pueden afectar a la integridad de los resultados de la consulta.
En la tabla siguiente se enumeran las discrepancias conocidas:
| Origen | Discrepancias |
|---|---|
| Servidor DNS de Microsoft recopilado mediante el conector DNS y el Agente de Log Analytics | El conector no proporciona el campo DnsQuery obligatorio para el identificador de evento original 264 (respuesta a una actualización dinámica). Los datos están disponibles en el origen, pero el conector no los reenvía. |
| Corelight Zeek | Corelight Zeek puede no proporcionar el campo DnsQuery obligatorio. Hemos observado este comportamiento en determinados casos en los que el nombre del código de respuesta DNS es NXDOMAIN. |
Control de la respuesta DNS
En la mayoría de los casos, los eventos DNS registrados no incluyen información de respuesta, que puede ser grande y detallada. Si el registro incluye más información de respuesta, guárdela en el campo ResponseName tal y como aparece en el registro.
También puede proporcionar una función KQL adicional denominada _imDNS<vendor>Response_, que toma la respuesta no analizada como entrada y devuelve el valor dinámico con la siguiente estructura:
[
{
"part": "answer"
"query": "yahoo.com."
"TTL": 1782
"Class": "IN"
"Type": "A"
"Response": "74.6.231.21"
}
{
"part": "authority"
"query": "yahoo.com."
"TTL": 113066
"Class": "IN"
"Type": "NS"
"Response": "ns5.yahoo.com"
}
...
]
Los campos de cada diccionario del valor dinámico corresponden a los campos de cada respuesta DNS. La part entrada debe incluir answer, authorityo additional para reflejar la parte de la respuesta a la que pertenece el diccionario.
Sugerencia
Para garantizar un rendimiento óptimo, llame a la imDNS<vendor>Response función solo cuando sea necesario y solo después de un filtrado inicial para garantizar un mejor rendimiento.
Control de marcas DNS
El análisis y la normalización no son necesarios para los datos de marca. En su lugar, almacene los datos de marca proporcionados por el dispositivo de informes en el campo Marcas . Si la determinación del valor de las marcas individuales es directa, también puede usar los campos de marcas dedicadas.
También puede proporcionar una función KQL adicional denominada _imDNS<vendor>Flags_, que toma la respuesta no analizada o campos de marca dedicados, como entrada y devuelve una lista dinámica, con valores booleanos que representan cada marca en el orden siguiente:
- Autenticado (AD)
- Autoritativo (AA)
- Comprobación de deshabilitado (CD)
- Recursividad disponible (RA)
- Recursividad deseada (RD)
- Truncado (TC)
- Z
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)