Comprobar periódicamente y eliminar si hay cuentas de usuarios inactivas en Active Directory

Por qué es algo que se debe considerar

En base de la última vez que se cambió la contraseña, se ha detectado que más del 10 % de las cuentas de usuario en Active Directory se encuentran inactivas (obsoletas). Las cuentas de usuario obsoletas en Active Directory suponen un importante riesgo de seguridad, ya que un atacante o un antiguo empleado podría utilizarlas. Además, estas cuentas inactivas consumen en la base de datos un espacio que podría recuperarse.

Puedes ver a un ingeniero de clientes explicando el problema

Contexto y prácticas recomendadas

Active Directory contiene una cuenta para cada usuario. Con el tiempo, los usuarios dejan la organización y sus cuentas podrían no eliminarse de Active Directory. Estas cuentas de usuario obsoletas suponen un importante problema de seguridad, ya que antiguos empleados y atacantes externos podrían utilizarlas para atacar la organización. Además, las cuentas obsoletas ocupan en la base de datos del directorio un espacio que podría recuperarse.

Las cuentas de usuario disponen de un atributo llamado PasswordLastSet que registra la última vez que un usuario cambió su contraseña. Como PasswordLastSet es un atributo replicado, es necesario consultar a un único controlador de dominio en cada dominio.

Windows Server 2003 introdujo un nuevo atributo llamado lastLogonTimeStamp para ayudar en la identificación de posibles cuentas obsoletas. Este atributo se activa en dominios configurados con el nivel funcional de Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012 o Windows Server 2012 R2. A diferencia del atributo lastLogon, que ha estado disponible desde Windows NT 4.0, lastLogonTimeStamp se replica cada vez que se actualiza. Realizar una consulta a este atributo es más conveniente porque solo es preciso consultar a un controlador de dominio de cada dominio.

Para encontrar las cuentas, ejecute un script que realice una consulta a Active Directory acerca de cuentas de usuario inactivas. En el módulo de Active Directory para Windows PowerShell, el comando Search-ADAccount –AccountInactive –UsersOnly devuelve todas las cuentas de usuario inactivas. Utiliza los modificadores -DateTime o -TimeSpan para encuadrar la fecha en que el equipo inició sesión por última vez.

Nota: Lastlogontimestamp no se replica cada vez que alguien inicia sesión. Consulte Descripción de los atributos de la cuenta AD: LastLogon, LastLogonTimeStamp y LastLogonDate, en https://social.technet.microsoft.com/wiki/contents/articles/22461.understanding-the-ad-account-attributes-lastlogon-lastlogontimestamp-and-lastlogondate.aspx.

Ocuparse de las cuentas de usuario obsoletas suele reducirse a implementar un proceso eficaz de desaprovisionamiento. Sin embargo, es posible que un usuario no pueda trabajar (ni, por tanto, iniciar sesión) durante una temporada. Además, es posible que las cuentas de servicio no tengan que conectarse durante periodos muy largos. Como consecuencia, es preciso incorporar varias comprobaciones y salvaguardas que ayuden a impedir la deshabilitación o eliminación de cuentas que siguen en uso.

Acciones recomendadas

Debe realizar comprobaciones periódicas para buscar las cuentas de usuario que no hayan cambiado sus contraseñas en los últimos seis meses, y luego deshabilitar y eliminar esas cuentas de Active Directory.

Ejecute una secuencia de comandos en cada dominio que consulte Active Directory para cuentas de usuario donde la antigüedad de la contraseña sea superior a un tiempo determinado. En el módulo de Active Directory para Windows PowerShell, ejecute la siguiente secuencia de comandos para enumerar las cuentas de usuario donde la contraseña no ha cambiado en los últimos seis meses.

$d = [DateTime]::Today.AddDays(-180)

Get-ADUser -Filter '(PasswordLastSet -lt $d) -or (LastLogonTimestamp -lt $d)' -Properties PasswordLastSet,LastLogonTimestamp | ft Name,PasswordLastSet,@{N="LastLogonTimestamp";E={[datetime]::FromFileTime($_.LastLogonTimestamp)}}

Después de identificar las cuentas obsoletas, se recomienda deshabilitar esas cuentas de usuario, esperar varias semanas, y posteriormente eliminar las cuentas si no se ha detectado ningún problema.

Para enviar comentarios generales sobre el Centro de recursos o su contenido, envía tu respuesta a UserVoice. Ponte en contacto con nuestro equipo de soporte técnico para obtener actualizaciones de contenido y solicitudes específicas relacionadas con Services Hub para enviar un caso.