Implementando Windows LAPS
Bueno, hoy venimos con un clásico, una gran herramienta de la que nunca hemos hablado en el Blog, así que por si alguien no la conoce, implementaremos Windows LAPS (Local Administrator Password Solution) en nuestra organización. Que como su nombre indica, nos ayudará a gestionar las cuentas de administrador locales en los puestos, servidores miembros de nuestra organización e incluso la contraseña DSRM.
Igual muchos lo conocéis o lo habéis instalado en su día, la verdad que es muy útil para gestionar de una manera centralizada todas estas cuentas de administrador local, sean de los PCs o de los servidores miembros. Desde hace tiempo Microsoft ya la integra en su propio sistema operativo, por lo que no hay que instalar nada a parte. Y de eso va este post, de cómo habilitar el nuevo Windows LAPS.
Antes de comenzar, dediquemos un momento a pensar, todo esto está muy bien, pero… ¿Y qué pasa si se cae nuestro AD? y, ¿si hay otro momento CrowdStrike? Pues puede que nos quedemos sin acceder a ninguna máquina, ni con las cuentas locales ya que no nos las sabremos, así que pensarlo bien, quizá dejar algún equipo sin gestionar, etc…
Si tus Windows están actualizados, es posible que tengan ya instalado el parche del ‘April 2023 Cumulative Update’ (https://support.microsoft.com/help/5025221). Es compatible en Windows Server 2019 y 2022 con los parches del 11 de Abril de 2023 así como en Windows 10 y 11 versiones 21H2 y 22H2 con los parches del 11 de Abril de 2023.
Como hemos comentado, también serviría para gestionar la contraseña del modo de restauración de servicios de directorio (DSRM o Directory Services Restore Mode). Para encriptar esta contraseña necesitaremos tener un nivel funcional en el dominio de 2016 al menos. Si nuestros DCs son 2019 o 2022 podremos usar todas las características de Windows LAPS, y si nuestros DCs son 2016 podremos encriptar las contraseñas, excepto la del DSRM.
Para habilitar Windows LAPS, el primer paso será extender el esquema de nuestro Directorio Activo, ejecutamos desde un PowerShell con permisos de Maestro de Esquema:
Update-LapsADSchema -verbose
Tenemos que habilitar Windows LAPS en las Unidades Organizativas que contengan las cuentas de equipo que queramos gobernar, ejecutando:
Set-LAPSADComputerSelfPermission –Identity "OU=...,OU=...."
Y finalmente crearemos una GPO donde aplicaremos la configuración que nos interese para Windows LAPS, desde “Configuración del equipo” > “Directivas” > “Plantillas administrativas” > “Sistema” > “LAPS” tendremos varias opciones. Esta GPO de la debemos aplicar a las cuentas de equipo que queramos gestionar.
La directiva de “Configuración de contraseña” deberemos habilitarla e indicar la complejidad que queremos, así como la longitud o antigüedad de la contraseña que queremos.
En la directiva “Configurar el directorio de copia de seguridad” indicaremos como Directorio de copia de seguridad al “Active Directory” para gestionar y almacenar ahí las contraseñas de los equipos.
Una vez que la contraseña sea usada, tenemos una GPO que nos permitirá realizar alguna acción si nos interesase, se llama “Acciones posteriores a la autenticación”,
Si habilitamos “Habilitar cifrado de contraseña” nuestra contraseña viajará de manera cifrada al Directorio Activo para ser almacenada, necesitamos nivel funcional del dominio 2016.
Si nos interesa gestionar la contraseña del modo de restauración de servicios de directorio (DSRM o Directory Services Restore Mode) podremos habilitarlo, y la GPO se debe aplicar a los Controladores de dominio.
Por defecto no será necesario indicar el nombre de la cuenta a gestionar, ya que Windows LAPS lo determinará por el SID de la cuenta, si en nuestro caso tenemos un usuario en particular del que queremos gestionar, entonces lo indicaremos.
Y también podremos “No permitir que el tiempo de expiración de la contraseña sea superior al requerido por la directiva”.
Si queremos dar permisos de lectura de las contraseñas a algún grupo específico del Directorio Activo lo haremos con:
Set-LapsADReadPasswordPermission -identity "OU=...,OU=...." -AllowedPrincipals "MIDOMINIO\Nombre de grupo"
Si queremos dar permiso de que puedan resetear las contraseñas de algún grupo específico del Directorio Activo, lo haremos con:
Set-LapsADResetPasswordPermission -identity "OU=...,OU=...." -AllowedPrincipals "MIDOMINIO\Nombre de grupo" Set-LapsADResetPasswordPermission -identity "OU=...,OU=...." -AllowedPrincipals @("MIDOMINIO\Nombre de grupo 1", "MIDOMINIO\Nombre de grupo 2")
Si queremos ver los permisos que aplican a una Unidad Organizativa, lo podríamos ver con este comando:
Find-LapsADExetendedRights -Identity "OU=...,OU=...." |fl
Y bueno, para ver las contraseñas de las cuentas administradas por LAPS, será tan sencillo como abrir la consola de Usuarios y Equipos del Directorio Activo, buscar la cuenta del equipo que queramos, veremos que tiene una pestaña “LAPS” donde nos indicará cuándo le caduca la contraseña, si queremos forzar a cambiarla ahora, así como cuál es el usuario administrador gestionado, o si queremos ver o copiar la contraseña.
Podemos igualmente ver la contraseña por PowerShell de una máquina remota:
Get-LapsADPassword -Identity NOMBRE_MAQUINA -AsPlainText
Así como forzar a resetear la contraseña de la máquina local donde estamos:
Reset-LapsPassword
O resetear la contraseña de una máquina remota:
Invoke-Command -ComputerName NOMBRE_MAQUINA -ScriptBlock {Reset-LapsPassword}
Bueno, espero que este tipo de documentos os puedan servir para gestionar de una manera más eficiente vuestro tiempo y vuestra organización, coger ideas para securizar los entornos y facilitarnos la vida 🙂 Así que con esto me despido, y como siempre os mando un abracete!