En el dinámico ecosistema de la colaboración moderna, Microsoft 365 se ha convertido en una herramienta indispensable para millones de organizaciones. Permite la interacción fluida no solo entre empleados internos, sino también con socios, clientes y colaboradores externos. Sin embargo, esta flexibilidad trae consigo un desafío crucial: la gestión de las identidades. Dentro de este universo de usuarios, un tipo particular de cuenta que a menudo pasa desapercibido, pero que encierra riesgos significativos, son las cuentas #EXT# sin licencia.
Estas identidades externas, que se manifiestan en su nombre de usuario (UPN) con el sufijo `#EXT#`, son un vestigio de colaboraciones pasadas o de invitaciones olvidadas. La presencia de un número elevado de estas cuentas no solo genera desorden en su directorio, sino que también puede convertirse en una seria vulnerabilidad de seguridad y un obstáculo para una gestión de miembros eficaz. Este artículo exhaustivo le guiará a través del proceso de identificación, deshabilitación y eliminación de estas cuentas, mejorando la seguridad, el cumplimiento y la eficiencia operativa de su entorno Microsoft 365.
¿Qué son las Cuentas #EXT# en Microsoft 365? 🤔
Las cuentas `#EXT#` son, en esencia, usuarios invitados o externos que han sido añadidos a su organización de Microsoft 365 para colaborar en proyectos, compartir documentos o participar en equipos de Teams. Cuando invita a alguien de fuera de su organización, como un socio o un consultor, su identidad se registra en su directorio de Azure Active Directory (ahora conocido como Microsoft Entra ID) con el formato `nombredeusuario_dominioexterno#EXT#@sudominio.onmicrosoft.com`. Este sufijo `#EXT#` es el indicador visual de que la cuenta proviene de una fuente externa.
El propósito original de estas cuentas es facilitar la colaboración segura y controlada. Permiten que individuos externos accedan a recursos específicos de su organización sin necesidad de crearles una cuenta interna completa. Sin embargo, el problema surge cuando estas colaboraciones terminan, y las cuentas persisten, a menudo sin supervisión ni un propósito válido.
El Riesgo Oculto de las Cuentas #EXT# sin Licencia 🔒
Cuando hablamos de cuentas #EXT# sin licencia, nos referimos principalmente a aquellos usuarios invitados que ya no tienen una razón legítima para acceder a sus recursos, independientemente de si se les ha asignado una licencia de pago o no (los invitados rara vez necesitan licencias de Microsoft 365 para el acceso básico). El verdadero peligro no es la falta de una licencia, sino la falta de un *propósito* activo y gestionado. Su existencia inactiva plantea múltiples preocupaciones:
- Vulnerabilidad de Seguridad: Una cuenta externa olvidada podría ser un objetivo para ataques de compromiso de identidad. Si las credenciales de un antiguo colaborador son comprometidas, el atacante podría explotar esa cuenta para acceder a sus datos, escalar privilegios o lanzar ataques internos. Cada cuenta inactiva es una puerta potencial que se deja abierta.
- Riesgos de Cumplimiento: Regulaciones como GDPR, HIPAA o ISO 27001 exigen un control estricto sobre quién tiene acceso a la información confidencial. Tener usuarios externos no gestionados dificulta demostrar el cumplimiento y puede llevar a sanciones si se produce una violación de datos.
- Desorden y Complejidad en la Gestión: Un directorio abarrotado de cuentas obsoletas dificulta la auditoría, la identificación de usuarios activos y la aplicación coherente de políticas de seguridad. Esto ralentiza las operaciones de TI y aumenta la carga de trabajo.
- Potencial Filtración de Datos: Incluso si una cuenta no tiene licencia, podría mantener acceso a sitios de SharePoint, canales de Teams o documentos compartidos. Si estos accesos no se revocan, el riesgo de filtración accidental o maliciosa permanece latente.
„La gestión proactiva de identidades externas no es solo una buena práctica de TI; es una piedra angular de la ciberseguridad moderna. Ignorar las cuentas #EXT# sin gestionar es equivalente a dejar ventanas abiertas en una casa desocupada.”
¿Por Qué Persisten Estas Cuentas? 💡
La acumulación de cuentas de invitados obsoletas es un problema común y multifactorial:
- Falta de Procesos de Desaprovisionamiento: Muchas organizaciones tienen procesos robustos para empleados que se marchan, pero no para colaboradores externos.
- Colaboraciones a Corto Plazo: Los proyectos puntuales generan invitaciones que se olvidan una vez finalizada la tarea.
- Rotación del Personal Interno: Cuando el empleado que invitó a un externo abandona la empresa, a menudo nadie hereda la responsabilidad de gestionar esa relación de invitado.
- Ausencia de Políticas de Caducidad: Sin una política que establezca un período de vida útil para las cuentas de invitados, estas permanecen indefinidamente.
Identificando Cuentas #EXT# sin Licencia: Su Primera Línea de Defensa 📝
El primer paso para abordar este problema es identificar qué cuentas `#EXT#` están activas y cuáles son candidatas para ser deshabilitadas o eliminadas. Hay varias formas de hacerlo, cada una con sus ventajas:
1. Desde el Centro de Administración de Microsoft 365
Es la forma más sencilla para una revisión manual, aunque menos escalable para grandes volúmenes:
- Inicie sesión en el Centro de administración de Microsoft 365.
- Vaya a
Usuarios
>Usuarios activos
. - En la parte superior, haga clic en
Filtros
y seleccioneUsuarios invitados
. - Esto le mostrará todos los usuarios con el sufijo `#EXT#`. A partir de aquí, deberá revisar manualmente si estas cuentas están siendo utilizadas activamente. Puede ordenar por la columna „Último inicio de sesión” (si está disponible y se ha configurado la auditoría) para identificar posibles inactivos.
2. Utilizando Microsoft Entra ID (Azure AD)
Ofrece más opciones de filtrado y visualización detallada:
- Acceda al Portal de Azure y vaya a
Microsoft Entra ID
(anteriormente Azure Active Directory). - En el menú de navegación, seleccione
Usuarios
>Todos los usuarios
. - Utilice el filtro
Tipo de usuario
y seleccioneInvitado
. Esto le mostrará todos los usuarios con el identificador `#EXT#` en su User Principal Name (UPN). - Puede agregar columnas como
Último inicio de sesión
para ayudar a identificar usuarios inactivos. Exportar esta lista a un CSV le permitirá un análisis más profundo.
3. A través de PowerShell para Microsoft Graph ⚙️ (Recomendado para Grandes Volúmenes)
PowerShell es la herramienta más potente para automatizar la identificación y la gestión a escala. Usaremos el módulo de Microsoft Graph PowerShell SDK, que es el más moderno y recomendado.
Primero, asegúrese de tener el módulo instalado y de conectarse con los permisos adecuados:
Install-Module -Name Microsoft.Graph Connect-MgGraph -Scopes "User.Read.All" # Requiere permisos de administrador
Para identificar usuarios externos con el sufijo `#EXT#`:
Get-MgUser -Filter "userType eq 'Guest'" -All ` | Select-Object DisplayName, UserPrincipalName, Id, SignInActivity ` | ForEach-Object { $lastSignIn = $_.SignInActivity.LastSignInDateTime $_ | Add-Member -MemberType NoteProperty -Name "LastSignIn" -Value $lastSignIn -Force $_ } | Sort-Object LastSignIn | Format-Table DisplayName, UserPrincipalName, LastSignIn -AutoSize
Este script listará a todos los usuarios invitados y, si la información de actividad de inicio de sesión está disponible (requiere una licencia de Azure AD Premium P1/P2 y la auditoría habilitada), mostrará la última vez que iniciaron sesión. Aquellos con `LastSignIn` nulo o muy antiguo son los principales candidatos para su revisión.
Para aquellos que buscan usuarios `#EXT#` que no estén explícitamente marcados como ‘Guest’ pero tienen el sufijo en su UPN (una situación menos común pero posible):
Get-MgUser -All ` | Where-Object {$_.UserPrincipalName -like "*#EXT#*"} ` | Select-Object DisplayName, UserPrincipalName, UserType, Id
El Proceso Paso a Paso para Deshabilitar y Eliminar Cuentas #EXT# sin Licencia 🗑️
Una vez identificadas las cuentas que necesitan acción, siga este proceso cuidadosamente:
Paso 1: Auditoría y Confirmación 📝
Antes de tomar cualquier medida, es crucial una auditoría final. Contacte con el „propietario” interno de la colaboración (si se puede identificar) para confirmar si la cuenta sigue siendo necesaria. Si no se puede contactar, intente contactar directamente al usuario externo. Documente sus decisiones.
Paso 2: Bloquear el Inicio de Sesión (Deshabilitar)
Recomendamos primero bloquear el inicio de sesión del usuario. Esto revoca inmediatamente su capacidad para acceder a los recursos sin eliminar su identidad ni sus permisos asociados, lo que permite un período de gracia si hubiera un error o una necesidad de reactivación.
Desde el Portal de Azure (Microsoft Entra ID):
- Vaya a
Microsoft Entra ID
>Usuarios
>Todos los usuarios
. - Busque la cuenta `#EXT#` que desea deshabilitar.
- Haga clic en el usuario. En la página de perfil del usuario, busque la opción
Bloquear inicio de sesión
y actívela (establezca el valor en ‘Sí’). - Haga clic en
Guardar
.
Usando PowerShell para Microsoft Graph:
Para bloquear el inicio de sesión de un usuario específico:
$userUPN = "usuario_externo#EXT#@sudominio.onmicrosoft.com" # Reemplace con el UPN real Update-MgUser -UserId (Get-MgUser -Filter "userPrincipalName eq '$userUPN'").Id -AccountEnabled:$false
Para deshabilitar múltiples usuarios de una lista (previamente exportada a un CSV):
Import-Csv "C:RutaaSuListaDeUsuariosInactivos.csv" | ForEach-Object { $userUPN = $_.UserPrincipalName Write-Host "Deshabilitando usuario: $userUPN" try { Update-MgUser -UserId (Get-MgUser -Filter "userPrincipalName eq '$userUPN'").Id -AccountEnabled:$false Write-Host "Usuario $userUPN deshabilitado con éxito." -ForegroundColor Green } catch { Write-Host "Error al deshabilitar $userUPN: $($_.Exception.Message)" -ForegroundColor Red } }
Paso 3: Eliminar la Cuenta (Después de un Período de Gracia)
Después de un período razonable (por ejemplo, 30-90 días) con la cuenta deshabilitada, y si no hay objeciones o reactivaciones, puede proceder a eliminar la cuenta de forma permanente.
Desde el Portal de Azure (Microsoft Entra ID):
- Vaya a
Microsoft Entra ID
>Usuarios
>Todos los usuarios
. - Busque la cuenta `#EXT#` deshabilitada que desea eliminar.
- Haga clic en el usuario. En la barra de herramientas superior, haga clic en
Eliminar
. - Confirme la eliminación.
Tenga en cuenta que al eliminar un usuario, este se mueve a un estado de „eliminación suave” durante 30 días, tiempo durante el cual puede ser restaurado. Pasados esos 30 días, la cuenta se elimina permanentemente.
Usando PowerShell para Microsoft Graph:
Para eliminar un usuario específico:
$userUPN = "usuario_externo#EXT#@sudominio.onmicrosoft.com" # Reemplace con el UPN real Remove-MgUser -UserId (Get-MgUser -Filter "userPrincipalName eq '$userUPN'").Id
Para eliminar múltiples usuarios de una lista:
Import-Csv "C:RutaaSuListaDeUsuariosAEliminar.csv" | ForEach-Object { $userUPN = $_.UserPrincipalName Write-Host "Eliminando usuario: $userUPN" try { Remove-MgUser -UserId (Get-MgUser -Filter "userPrincipalName eq '$userUPN'").Id Write-Host "Usuario $userUPN eliminado con éxito." -ForegroundColor Green } catch { Write-Host "Error al eliminar $userUPN: $($_.Exception.Message)" -ForegroundColor Red } }
Mejores Prácticas y Automatización para la Gestión Continua de Invitados ✅
La eliminación manual es un buen comienzo, pero para una gestión de usuarios externos efectiva a largo plazo, la automatización y las políticas proactivas son clave:
- Revisión de Acceso de Invitados (Access Reviews): Utilice las Revisiones de acceso de Microsoft Entra Identity Governance. Esto permite a los propietarios de recursos o administradores revisar periódicamente el acceso de los usuarios invitados y decidir si se debe mantener o revocar. Puede configurarlas para que se ejecuten automáticamente, por ejemplo, cada 90 o 180 días.
- Políticas de Vencimiento para Invitados: Configure políticas de vencimiento para los usuarios invitados. Por ejemplo, puede establecer que las cuentas de invitados caduquen automáticamente después de un período definido, a menos que se renueve su acceso.
- Procesos de Aprobación de Invitados: Implemente un proceso formal para la invitación de nuevos usuarios externos, que incluya la justificación, un patrocinador interno y una fecha de finalización prevista para la colaboración.
- Gestión de Derechos (Entitlement Management): Use Microsoft Entra Identity Governance para delegar la gestión del ciclo de vida de los usuarios externos a los propietarios de negocio. Pueden crear „paquetes de acceso” que definen qué recursos pueden usar los invitados y por cuánto tiempo, automatizando así la provisión y desaprovisionamiento.
- Auditoría Regular: Programe auditorías periódicas de sus logs de inicio de sesión y actividad para identificar patrones sospechosos o usuarios inactivos que hayan pasado desapercibidos.
Una Opinión Basada en Datos Reales: La Imperiosa Necesidad de Limpieza 📊
Desde mi perspectiva, y respaldado por innumerables incidentes de ciberseguridad, la limpieza de cuentas #EXT# sin licencia no es un mero ejercicio de orden, sino una medida de seguridad fundamental. Los datos de la industria revelan que una porción significativa de las filtraciones de datos está relacionada con identidades comprometidas o accesos no gestionados. Según informes como el „Cost of a Data Breach Report” de IBM Security, el coste medio de una filtración de datos es de millones de dólares, y los ataques basados en credenciales son una de las principales causas.
Una cuenta externa inactiva es un vector de ataque potencial. No tiene un usuario activo monitoreando su acceso, y si sus credenciales son robadas (a menudo de filtraciones de terceros o mediante phishing), pueden ser utilizadas para acceder a su entorno de Microsoft 365 sin ser detectadas durante largos períodos. La realidad es que muchas organizaciones se centran intensamente en la seguridad de sus empleados internos, pero a menudo descuidan el ciclo de vida completo de las identidades externas. Este descuido es una laguna de seguridad que los actores maliciosos están ansiosos por explotar.
Además de la seguridad, la gestión de usuarios externos mejora la postura de cumplimiento. En un mundo cada vez más regulado, poder demostrar quién tiene acceso a qué y por qué, es indispensable. Un directorio limpio y bien gestionado no solo facilita la auditoría, sino que también transmite profesionalidad y madurez en la gestión de TI.
Conclusión: Un Paso Crucial hacia una Mejor Gestión de Miembros 🚀
La gestión de cuentas #EXT# sin licencia en Microsoft 365 es una tarea crítica que no debe posponerse. Al identificar y deshabilitar estas identidades obsoletas, no solo estará reduciendo drásticamente su superficie de ataque y mitigando riesgos de seguridad y cumplimiento, sino que también estará mejorando la salud general de su directorio y simplificando las tareas administrativas. Implementar una estrategia proactiva para el ciclo de vida de los invitados, utilizando herramientas como PowerShell y las capacidades de Microsoft Entra Identity Governance, es esencial para mantener un entorno digital seguro, organizado y eficiente a largo plazo. No espere a que un incidente ocurra; tome las riendas de su gestión de identidades hoy mismo y fortalezca la base de su colaboración en la nube.