Contraseñas de administrador de Windows seguras con Microsoft LAPS

¿Cómo manejas actualmente las contraseñas de administrador locales de Windows? Cada sistema Windows tiene una y tienen las llaves del reino de cada PC. Dado que las contraseñas de administrador locales no forman parte de Active Directory (AD), debes gestionar cada cuenta en cada equipo por separado. Es una molestia.

La mayor parte del tiempo, las organizaciones no le dan mucha importancia y simplemente establecen una contraseña de administrador estándar en cada máquina con Windows. Esta práctica, aunque conveniente, expone a las organizaciones a un problema mucho mayor cuando esa única contraseña maestra cae en manos equivocadas. Tener una contraseña de administrador local separada en cada computadora no necesariamente evita que un individuo malintencionado acceda a una PC, pero previene considerablemente la explotación lateral de otras PCs.

La Solución de Contraseña de Administrador Local de Microsoft (LAPS) puede ayudar.

En este artículo, aprenderás cómo asegurar tus computadoras unidas a AD configurando LAPS.

¿Qué es Microsoft LAPS?

LAPS es una parte vital para mantener seguro un entorno de Windows. LAPS es una herramienta que funciona de manera inteligente; automáticamente randomiza la contraseña de administrador local en todas las computadoras del dominio con LAPS activado y cambia cada contraseña regularmente.

LAPS asegura que haya contraseñas de administrador local aleatorias en toda su red y evita el movimiento lateral de hackers y malware. Ahora, podrías pensar que una contraseña larga de administrador local en el cliente te protegería de esto, pero eso no es cierto.

Los hackers pueden usar un método Pass-The-Hash para propagarse rápidamente a través de su dominio e incluso podrían encontrar credenciales de administrador de dominio usando el mismo método. LAPS evita esta actividad obligando a individuos maliciosos a descubrir una contraseña para cada máquina individual.

LAPS en la práctica

LAPS tiene tres partes principales:

Atributos de AD bloqueados

LAPS almacena cada contraseña de administrador local para cada computadora controlada en AD llamada ms-Mcs-AdmPwd. LAPS también necesita saber cuándo expiran las contraseñas para cambiarlas, por lo que también almacena otro atributo de AD llamado ms-Mcs-AdmPwdExpirationTime. Estos atributos de AD solo son lectura/escritura por determinados principios de AD, como un grupo o un usuario, y también son escribibles por la cuenta de computadora que está utilizando la contraseña.

Configuración de GPO

Para implementar LAPS en una computadora y cambiar la contraseña, LAPS también tiene un conjunto de configuraciones de GPO. Cuando la GPO está vinculada a un conjunto de computadoras, las configuraciones de LAPS se distribuyen a cada computadora. Cuando la computadora aplica las configuraciones de GPO, LAPS utiliza un archivo DLL especial para interpretarlas.

Cuando LAPS ve que la fecha actual está más allá de la fecha de vencimiento de la contraseña, hará lo siguiente:

  • Aleatorizar una nueva contraseña y establecerla como la contraseña del administrador local.
  • Escribir la nueva contraseña del administrador local en el atributo Ms-Mcs-AdmPwd en AD.
  • Escribir una nueva fecha de vencimiento en ms-Mcs-AdmPwdExpirationTime.

Al usar este método ingenioso pero simple, las computadoras del dominio permanecen aún más seguras.

Configuración de LAPS

Suficiente información, ¡vamos a ver realmente qué puede hacer LAPS! Configurar LAPS no es complicado, pero requiere algunos pasos que aprenderás en este tutorial. Son:

  1. Instalar las Herramientas de Administración de LAPS en tu máquina administradora.
  2. Extender el esquema de AD para agregar los dos atributos personalizados de AD que utiliza LAPS.
  3. Establecer privilegios apropiados para varios componentes en AD.
  4. Construir la Directiva de Grupo (GPO) de LAPS que se aplicará a las computadoras con Windows.
  5. Implementar la Extensión de GPO de LAPS en las computadoras con Windows aplicables.

Una vez que hayas completado los pasos anteriores, ¡tendrás un entorno LAPS completamente funcional listo para usar!

Prerrequisitos

En este artículo, configurarás LAPS de verdad. Si deseas seguir junto, asegúrate de cumplir con algunos prerrequisitos primero.

  • Un dominio AD (desde 2003 en adelante).
  • A computer running Windows (10 or Server 2012+ is recommended) has RSAT for Active Directory installed.
  • Tener acceso a una cuenta que sea miembro tanto de los grupos AD Domain Admins como de Schema Admins.

Todos los ejemplos en este artículo utilizarán un dominio AD llamado contoso.com.

La práctica recomendada para el grupo de administradores de esquema es ser miembro solo cuando se necesiten los permisos.

Instalación de Herramientas de Gestión de Microsoft LAPS

Para comenzar, primero debe instalar las Herramientas de Gestión de LAPS en su computadora de administración. Estas herramientas de gestión instalarán tanto la extensión GPO de LAPS (si se selecciona) como las herramientas de gestión para configurar LAPS.

  1. Comience descargando el archivo LAPS.x64.msi y ejecútelo como administrador, luego haga clic en Siguiente.
Installing Microsoft LAPS

2.  Presione Siguiente hasta llegar a la configuración personalizada, luego haga clic en Herramientas de Gestión y Se instalará toda la característica en la unidad de disco local para instalar ambos componentes. Si no desea que la máquina actual sea administrada por LAPS, seleccione Extensión GPO AdmPwd.

Click Management Tools

3.  Haga clic en Siguiente hasta que la instalación finalice y salga del instalador.

Ahora ha instalado las extensiones GPO de LAPS (si se seleccionaron) y sus herramientas de gestión, y ahora podemos comenzar a extender el esquema AD y agregar nuestras GPO.

Extensión del Esquema AD

Como se mencionó anteriormente, LAPS utiliza dos atributos AD llamados ms-Mcs-AdmPwd y ms-Mcs-AdmPwdExpirationTime. Estos dos atributos no son predeterminados y deben agregarse al esquema AD.

  1. Comienza por agregar un miembro del grupo Domain Admins al grupo Schema Admins si la cuenta aún no es miembro. Llamaremos a esto tu “cuenta de administrador”.
  2. Inicia PowerShell como tu cuenta de administrador e importa el módulo AdmPwd PowerShell ejecutando Import-module AdmPwd.PS.
  3. Una vez que el módulo esté importado, ejecuta el comando Update-AdmPwdADSchema para actualizar el esquema de AD y agregar los dos atributos de AD. Puedes ver la salida en la captura de pantalla siguiente.
Powershell Admin Account

Ahora has ampliado nuestro esquema de AD para admitir LAPS y estás listo para configurar permisos en Active Directory.

Configuración de Permisos en Active Directory

Cada computadora necesita la capacidad de actualizar su contraseña de administrador local y el atributo de tiempo de expiración en AD. Para lograrlo, cada computadora debe tener permisos de escritura propia en los atributos de AD ms-Mcs-AdmPwd y ms-Mcs-AdmPwdExpirationTime. Afortunadamente, la mayoría de este trabajo se hace fácilmente con el módulo de PowerShell AdmPwd.

Permitir a las Máquinas Guardar Sus Contraseñas

Primero, asegúrate de que cada computadora pueda guardar su contraseña en el atributo de AD ms-Mcs-AdmPwd y actualizarla cuando esa contraseña expire en el atributo de AD ms-Mcs-AdmPwdExpirationTime. El módulo PowerShell AdPwd tiene un comando que puedes usar para establecer estos permisos llamado Set-AdmPwdComputerSelfPermission por unidad organizativa (OU), lo cual se aplica a todas las OUs secundarias.

En PowerShell, ejecuta Set-AdmPwdComputerSelfPermission -OrgUnit ‘OU=EstacionesDeTrabajo,DC=contoso,DC=com’, recordando actualizar tu Unidad Organizativa (OU) y nombre de dominio específicos.

Update OU and Domain Name

Si deseas que LAPS controle más UOs, repite el comando anterior para cada OU en el Directorio Activo (AD).

Asegurando las Atribuciones de AD al Encontrar Derechos Extendidos

Para garantizar que solo los usuarios y grupos que desees tengan permisos para leer y restablecer la contraseña del administrador local de cada computadora, necesitas auditar quién tiene acceso. Específicamente, debes asegurarte de que solo las cuentas que necesitan “Derechos extendidos” los tengan.

Para encontrar cuentas con derechos extendidos, ejecuta Find-AdmPwdExtendedRights -OrgUnit 'OU=EstacionesDeTrabajo,DC=contoso,DC=com' | Select -ExpandProperty ExtendedRightHolders, asegurándote de reemplazar tu OU y nombre de dominio.

Ahora puedes ver en la siguiente captura de pantalla que CONTOSO\joe-the-admin y CONTOSO\MDT-service tienen derechos extendidos sobre la OU EstacionesDeTrabajo.

Workstations OU

El permiso de MDT-service realmente necesita el derecho extendido, pero joe-the-admin no. Ahora debes quitar el permiso para joe-the-admin.

Debes repetir este proceso para todas las UOs en las que estableciste el permiso de autopermisión en un paso anterior.

Eliminación de Derechos Extendidos

Una vez que hayas identificado cada cuenta de la cual debes quitar derechos extendidos, es hora de hacerlo.

  1. Abre Active Directory Users And Computers y haz clic en Ver en el menú superior para asegurarte de que Funciones Avanzadas esté habilitado. Al activar las funciones avanzadas, verás todas las Unidades Organizativas típicamente ocultas, como se muestra en la siguiente captura de pantalla.
Hidden OUs

2. Haz clic derecho en la OU de la que deseas quitar los derechos extendidos y selecciona Propiedades.

Right Click OU to Remove

3. Haz clic en la pestaña Seguridad y luego en el botón Avanzadas.
4. Encuentra la cuenta o grupo del que deseas quitar los derechos extendidos, selecciónalo y haz clic en Eliminar.

Security Tab for Account Removal

5. Repite estos pasos según sea necesario para todos los principios con derechos extendidos.

Dar Permiso para Leer y Restablecer la Contraseña del Administrador Local

Ahora que te has asegurado de que solo las cuentas apropiadas tengan derechos extendidos, ahora necesitas crear dos grupos de AD para leer y restablecer la contraseña del administrador local llamados LAPS Workstations Password Read y LAPS Workstations Password Reset.

Ten en cuenta que los nombres de grupo especificados aquí no son obligatorios. Puedes usar cualquier nombre de grupo que desees.

Con una consola de PowerShell aún abierta con tu cuenta de administrador, ingresa los siguientes comandos para dar permiso a ambos grupos de AD para leer la contraseña del administrador local de las computadoras en la OU Workstations.

PS> Set-AdmPwdReadPasswordPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com' -AllowedPrincipals "LAPS Workstations Password Read"

PS> Set-AdmPwdResetPasswordPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com' -AllowedPrincipals "LAPS Workstations Password Reset" 

Has habilitado ahora a los grupos de AD anteriores para leer y restablecer las contraseñas del administrador local de las computadoras en la OU de Estaciones de trabajo. Ahora necesitas agregar a los administradores o grupos necesarios para leer o restablecer las contraseñas.

Creando un Almacén Central para las plantillas de directivas de grupo

Para que LAPS se habilite una vez instalado en las computadoras, primero crea una directiva de grupo importando las plantillas de directivas de grupo en el almacén de PolicyDefinition. El almacén de PolicyDefinition es una carpeta ubicada en todos los controladores de dominio.

Nunca habilites una GPO de LAPS que apunte a los controladores de dominio. No es compatible y puede causar problemas inesperados.

  1. Selecciona un controlador de dominio en AD; cualquier controlador de dominio servirá.
  2. Asegúrate de que exista \\contoso.com\SYSVOL\Policies\PolicyDefinitions. Si no existe, créalo ahora.
  3. Copia el contenido de C:\Windows\PolicyDefinitions en tu computadora de administración (aquella en la que instalaste LAPS) a la carpeta \\contoso.com\SYSVOL\Policies\PolicyDefinitions en el controlador de dominio.

Creando la GPO

Ahora copiemos las plantillas de GPO de LAPS al Almacén Central (PolicyDefinitions).

  1. Abre Administración de directivas de grupo con tu cuenta de administrador, haz clic derecho en la OU en la que deseas habilitar LAPS y selecciona Vincular una GPO existente…
Group Policy Management

2. Navega a Configuración del equipo —> Plantillas administrativas —> LAPS y configura Habilitar administración de contraseñas de administrador local en Habilitado. Si tienes requisitos diferentes para la complejidad de la contraseña, modifica la Configuración de contraseñas según sea necesario.

Linking GPO to all OUs

¡Casi terminas! Ahora vincula esta GPO a todas las OUs en las que desees utilizar LAPS.

Implementación de la extensión de GPO de LAPS

Una vez que la GPO se aplique a todas las OUs correspondientes con computadoras, ahora necesitas implementar la extensión de GPO de LAPS. Tienes varias formas de instalar esta extensión, ya sea instalando el MSI (como se mostró anteriormente) o registrando el archivo DLL de LAPS.

Si decides instalar el MSI, en cada computadora dentro de una OU controlada por LAPS, ejecuta el siguiente comando para habilitar LAPS.

> msiexec /q /i \\server\share\LAPS.x64.msi

Si eliges habilitar LAPS registrando el DLL, puedes hacerlo con el siguiente comando.

> regsvr32.dll \\server\share\AdmPwd.dll

Puedes utilizar cualquier herramienta de ejecución remota que tengas para ejecutar estos comandos en las computadoras.

Implementación del MSI de LAPS con una GPO

Usar una GPO es el método más sencillo para asegurar que la extensión de GPO de LAPS esté instalada en todas las computadoras.

  1. Copia LAPS.x64.msi a un recurso compartido de red accesible por todas las computadoras del dominio.
  2. Abre Administración de directivas de grupo en tu computadora de administración y crea una GPO llamada Instalar LAPS o algo similar.
Creating GPO called Install LAPS

3. Haz clic derecho en la GPO Instalar LAPS, haz clic en Editar y navega a Configuración del equipo —> Directivas —> Configuración de software —> Instalación de software.

LAPS GPO Software Installation

4. Haz clic derecho en Instalación de software y navega a Nuevo—> Paquete…

GPO New Package

5. Navega al recurso compartido donde copiaste LAPS.x64.msi, selecciónalo, haz clic en Aceptar y selecciona Asignado.

Assigning LAPS.x64.msi

6. Ahora vincula la GPO a las mismas UOs que configuraste para LAPS. ¡Ahora estás listo para probar LAPS!

Prueba de LAPS

Para asegurarte de que LAPS está funcionando como se diseñó en las computadoras controladas, forzaremos a una de las computadoras a aplicar la GPO mencionada y veremos qué sucede.

  1. Reinicia una computadora que se encuentre bajo una de las UOs que acabas de configurar. Una vez que vuelva a estar en funcionamiento, la computadora debería comenzar a instalar LAPS.
  2. Una vez que LAPS se instale en la computadora, reinicia la máquina una vez más y abre una consola de PowerShell como administrador en tu computadora de administración como una cuenta que sea miembro de los grupos de AD LAPS Workstation Password Read y LAPS Workstation Password Reset.
  3. Ejecute el comando Get-AdmPwdPassword <nombre_equipo> utilizando el nombre del equipo que acaba de reiniciar e instalar LAPS. Si todo salió bien, verá algo similar a la salida en la siguiente captura de pantalla.
LAPS Installation Output

4. Ahora intente iniciar sesión en el equipo controlado por LAPS con la contraseña mostrada arriba. Si funcionó, debería poder ingresar.
5. Ahora intente restablecer la contraseña ejecutando el comando Reset-AdmPwdPassword <nombre_equipo> y reiniciando el equipo. ¿Ves cómo cambió las contraseñas en la siguiente captura de pantalla?

LAPS Password Reset

Ahora tienes LAPS funcionando en tu entorno. Y aunque la administración es bastante fácil, hay algunas cosas que debes saber…

Consejos y trucos para usar LAPS en el mundo real

Aunque la configuración mencionada anteriormente es suficiente para la mayoría de los entornos más pequeños, puede ser demasiado insegura o no ofrecer el nivel de auditoría necesario para organizaciones más grandes. Aquí hay algunos consejos para hacer que funcione en el mundo real.

1. Activar la auditoría

La auditoría cuando alguien lee o restablece una contraseña es importante, especialmente considerando que se pueden configurar alarmas si alguien lee la contraseña de todos los equipos. Afortunadamente, el módulo AdmPwd nos proporciona un cmdlet para habilitar eso.

PS> Set-AdmPwdAuditing -AuditedPrincipals Everyone -OrgUnit "OU=Workstations,DC=contoso,DC=com"

2. Asegurarse de que ningún usuario pueda leer directamente el atributo de AD ms-mcs-AdmPwd

Una forma de asegurar que un usuario no pueda leer el atributo AD ms-mcs-AdmPwd es crear un método de autoservicio para obtener la contraseña de administrador local de una computadora. Aunque está fuera del alcance de este artículo, revisa herramientas como JEA o WebJEA si no tienes un portal de autoservicio existente adecuado para esto.

3. Restablecer el Atributo Ms-Mcs-AdmPwdTime Durante la Imagen de Disco

Recuerda restablecer el atributo Ms-Mcs-AdmPwdTime al reimprimir una computadora controlada por LAPS, de lo contrario, no activará el cambio de contraseña y mantendrá la contraseña de administrador local proporcionada por la imagen. Sin embargo, se activará después de que expire Ms-Mcs-AdmPwdTime.

Puedes usar el siguiente comando de PowerShell para restablecer el ExpirationTime sin el módulo AdmPwd:

# Con RSAT
Get-ADComputer Workstation1 | Set-ADObject -Replace @{"ms-mcs-AdmPwdExpirationTime"=(Get-Date)} 

# Sin RSAT
$Computer = New-Object DirectoryServices.DirectoryEntry "LDAP://CN=Workstation1,OU=Workstations,DC=contoso,DC=com"
$Computer.'ms-Mcs-AdmPwdExpirationTime'.Clear()
$Computer.CommitChanges()

4. Recuerda que el Atributo ms-Mcs-AdmPwd Permanece en la Papelera de Reciclaje de AD

Cuando eliminas un objeto en AD y tienes habilitada la Papelera de Reciclaje de AD, AD suele eliminar atributos importantes; ¡afortunadamente, ms-Mcs-AdmPwd está protegido contra eso!

5. LAPS no es para Acceso Temporal

Si bien es tentador, LAPS no está destinado a proporcionar acceso temporal a proveedores, usuarios y otros tipos de cuentas. En lugar de usar LAPS, utiliza un grupo de AD que sea administrador local de ese equipo específico y utiliza TimeToLive en las membresías de grupo.

Conclusión

Ahora has aprendido cómo implementar LAPS, configurar sus permisos y algunos consejos y trucos para hacerlo más seguro. Con un entorno donde LAPS está implementado, la contraseña del administrador local cambia regularmente y automáticamente. Esto reduce en gran medida los riesgos de que un equipo unido al dominio sea tomado por hackers o malware y esperamos que te evite muchos dolores de cabeza.

Si tienes alguna pregunta, no dudes en tuitearme a @AlexAsplund o dejar un comentario abajo.

Source:
https://adamtheautomator.com/microsoft-laps/