Ir al contenido

Geolocalización

Tres detecciones dependen de la ubicación: viaje imposible, nueva geografía y la vista de mapa. Cómo se deriva el país merece documentarse, porque la fuente evidente es la equivocada.

El campo GeoLocation de Purview no es un país

Sección titulada «El campo GeoLocation de Purview no es un país»

Para SharePoint y OneDrive, AuditData.GeoLocation lleva la región multi-geo del centro de datosEUR, NAM, APC—, no el país en el que estaba el usuario. Para Exchange, inicios de sesión de Azure AD y Teams no aparece en absoluto.

Medido sobre una exportación real de 178.653 eventos: el campo estaba presente en 50.143 eventos (28%) y todos los valores eran EUR. Leído ingenuamente como código de país, EUR se trunca a EU, que no es un país ISO-3166-1, así que todos los eventos se descartarían — y el viaje imposible, que compara países consecutivos, nunca podría dispararse.

Por eso Corelog usa GeoLocation solo cuando contiene realmente un código de país de dos letras, y lo ignora en caso contrario.

El país se resuelve desde ClientIP, ClientIPAddress o ActorIpAddress —el que traiga el registro— contra una base de datos IP-a-país incluida en la aplicación. En esa misma exportación, los campos de IP cubren el 94,8% de los eventos y la resolución de país funciona en el 91,0%.

ActorIpAddress importa especialmente: es el campo que usan los registros de inicio de sesión de Azure AD, que es justo donde la ubicación es más relevante.

El espacio de direcciones privado y reservado (RFC 1918, loopback, link-local) no resuelve a nada. El NAT corporativo te dice dónde está la pasarela, no dónde está la persona.

Datos: DB-IP IP to Country Lite, bajo licencia CC-BY-4.0IP Geolocation by DB-IP.

Este es el matiz que más importa al leer un hallazgo relacionado con viajes.

La mayoría de eventos de M365 llevan una IP, pero esa IP a menudo pertenece a infraestructura de Microsoft actuando en nombre del usuario y no a su propio cliente: sincronización de buzón en segundo plano, indexado, notificaciones móviles, eDiscovery, llamadas entre servicios. MailItemsAccessed por sí solo era el 41% de la exportación de referencia y aparecía desde 94 países distintos.

Tratar eso como ubicaciones de usuario hace que cada buzón parezca teletransportarse entre centros de datos. Medido sobre los 161.811 eventos con país resuelto de esa exportación:

Regla de evidencia Pares marcados Usuarios
Todo evento con IP 47.739 997 de 1.698
Excluyendo MailItemsAccessed 18.896 348
Excluyendo también Exchange en segundo plano 16.359 307
Solo inicios de sesión interactivos 992 67

Por eso viaje imposible y nueva geografía solo cuentan la autenticación interactiva como prueba de dónde estuvo una persona:

UserLoggedIn
UserLoginFailed
SignInEvent
PasswordLogonInitialAuthUsingPassword
TeamsSessionStarted
EmailAuthOTPAuthenticationSucceeded

Un inicio de sesión es el único tipo de evento que significa «esta persona presentó credenciales desde esta dirección a esta hora». Todo lo demás puede ser —y habitualmente es— un servicio actuando por ella.

Es una lista de operaciones y no un filtro por RecordType, para que aguante entre workloads y tenants, y para que el criterio siga siendo algo que un analista puede enunciar con claridad cuando le pidan justificar un hallazgo.