¿Cómo manejas actualmente las contraseñas de administrador local de Windows? Cada sistema Windows tiene una y tienen las llaves del reino de cada PC. Como las contraseñas de los administradores locales no forman parte del Directorio Activo (AD), hay que gestionar cada cuenta en cada ordenador por separado. Es un dolor de cabeza.
Muchas veces, las organizaciones no piensan demasiado en ello y se limitan a establecer una contraseña de administrador estándar en cada equipo Windows. Esta práctica, aunque conveniente, abre a las organizaciones a un problema mucho mayor cuando esa única contraseña maestra se pone en las manos equivocadas. Tener una contraseña de administrador local separada en cada ordenador no impide necesariamente que un individuo malintencionado acceda a un PC, pero evita considerablemente la explotación lateral de otros PC.
La solución de contraseñas de administrador local de Microsoft (LAPS) puede ayudar.
En este artículo, aprenderá a proteger sus equipos unidos por AD configurando LAPS.
Tabla de contenidos
- ¿Qué es Microsoft LAPS?
- LAPS en la práctica
- Atributos AD bloqueados
- Configuración de GPO
- Configuración de LAPS
- Requisitos previos
- Instalación de las herramientas de gestión de Microsoft LAPS
- Extendiendo el esquema de AD
- Configuración de los permisos de Active Directory
- Permitir que los equipos guarden su contraseña
- Bloqueo de atributos de AD mediante la búsqueda de derechos extendidos
- Eliminación de los derechos ampliados
- Dar permiso para leer y restablecer la contraseña del administrador local
- Creación de un almacén central para las plantillas de directivas de grupo
- Creación del GPO
- Desplegando la extensión GPO de LAPS
- Despliegue del MSI de LAPS con un GPO
- Probar LAPS
- Consejos y trucos para el uso de LAPS para Real
- 1. Activar la auditoría
- 2. Asegurar que ningún usuario pueda leer directamente el atributo AD ms-mcs-AdmPwd
- 3. Restablecer el atributo Ms-Mcs-AdmPwdTime durante la creación de imágenes de disco
- 4. Recuerde que el atributo ms-Mcs-AdmPwd permanece en la papelera de reciclaje de AD
- 5. LAPS no es para acceso temporal
- Conclusión
¿Qué es Microsoft LAPS?
LAPS es una parte vital para mantener un entorno Windows seguro. LAPS es una herramienta que funciona de forma inteligente; aleatoriza automáticamente la contraseña de administrador local en todos los equipos del dominio con LAPS activado y cambia cada contraseña con regularidad.
LAPS garantiza que tiene contraseñas de administrador local aleatorias en todo el dominio y evita el movimiento lateral de los hackers y el malware. Ahora bien, podría pensar que una contraseña de administrador local larga en el cliente podría protegerle de esto, pero no es cierto.
Los hackers pueden utilizar un método Pass-The-Hash para propagarse rápidamente por su dominio e incluso podrían dar con una credencial de administrador del dominio utilizando el mismo método. LAPs previene esta actividad forzando a los individuos maliciosos a descubrir una contraseña para cada máquina individual.
LAPS en la práctica
LAPS tiene tres partes principales:
Atributos AD bloqueados
LAPS almacena cada contraseña de administrador local para cada equipo controlado en AD llamado ms-Mcs-AdmPwd. LAPS también necesita saber cuándo caducan las contraseñas para cambiarlas, por lo que también almacena otro atributo de AD llamado ms-Mcs-AdmPwdExpirationTime. Estos atributos de AD sólo son legibles/escribibles por directores de AD especificados como un grupo o un usuario y también escribibles por la cuenta del equipo que está usando la contraseña.
Configuración de GPO
Para aprovisionar LAPS en un equipo y cambiar la contraseña LAPS también tiene un conjunto de configuraciones de GPO. Cuando el GPO está vinculado a un conjunto de ordenadores, la configuración de LAPS se distribuye a cada ordenador. Cuando el equipo aplica la configuración de GPO, LAPS utiliza un archivo DLL especial para interpretarla.
Cuando LAPS vea que la fecha actual ha pasado la fecha de caducidad de la contraseña, hará lo siguiente:
- Redactará una nueva contraseña de forma aleatoria y la establecerá como contraseña de administrador local.
- Escribirá la nueva contraseña de administrador local en el atributo Ms-Mcs-AdmPwd en AD.
- Escribe una nueva fecha de caducidad en el atributo ms-Mcs-AdmPwdExpirationTime.
Al utilizar este método inteligente pero sencillo, los ordenadores del dominio se mantienen aún más seguros.
Configuración de LAPS
¡Suficiente información, vamos a ver realmente lo que puede hacer LAPS! La configuración de LAPS no es complicada, pero requiere algunos pasos que vas a aprender en este tutorial. Son:
- Instalar las herramientas de gestión de LAPS en su equipo de administración.
- Extender el esquema de AD para añadir los dos atributos personalizados de AD que utiliza LAPS.
- Establecer los privilegios apropiados para varios componentes en AD.
- Construir el GPO de LAPS que se aplicará a los equipos de Windows.
- Desplegar la extensión GPO de LAPS a los equipos Windows aplicables.
Una vez que haya realizado los pasos anteriores, tendrá un entorno LAPS totalmente funcional y listo para funcionar.
Requisitos previos
En este artículo, configurará LAPS de verdad. Si desea seguir adelante, por favor asegúrese de cumplir con algunos requisitos previos primero.
- Un dominio AD (2003 y superior)
- Un equipo con Windows (se recomienda 10 o Server 2012+) tiene RSAT para Active Directory instalado.
- Tener acceso a una cuenta que es a la vez un miembro de los grupos AD Domain Admins y Schema Admins.
Todos los ejemplos de este artículo utilizarán un dominio AD llamado contoso.com.
La mejor práctica para el grupo de administradores de esquemas es ser miembro de él sólo cuando se necesiten los permisos.
Instalación de las herramientas de gestión de Microsoft LAPS
Para empezar, primero debe instalar las herramientas de gestión de LAPS en su equipo de administrador. Estas herramientas de gestión instalarán tanto la extensión GPO de LAPS (si se ha seleccionado) como las herramientas de gestión para configurar LAPS.
- Comience descargando el archivo LAPS.x64.msi y láncelo como administrador y haga clic en Siguiente.
2. Pulse Siguiente hasta que llegue a la configuración personalizada y, a continuación, haga clic en Herramientas de gestión y toda la función se instalará en el disco duro local para instalar estos dos componentes. Si no desea que la máquina actual sea administrada por LAPS entonces seleccione AdmPwd GPO Extension.
3. Pulse Next hasta que termine la instalación y salga del instalador.
Ahora ha instalado las extensiones de GPO de LAPS (si las ha seleccionado) y sus herramientas de administración y ya podemos empezar a extender el esquema de AD y añadir nuestros GPOs.
Extendiendo el esquema de AD
Como se mencionó anteriormente, LAPS utiliza dos atributos de AD llamados ms-Mcs-AdmPwd y ms-Mcs-AdmPwdExpirationTime. Estos dos atributos no son predeterminados y deben agregarse al esquema de AD.
- Comience agregando un miembro de los grupos de administradores de dominio al grupo de administradores de esquema si la cuenta no es ya un miembro. Llamaremos a esto su «cuenta de administrador».
- Inicie PowerShell como su cuenta de administrador e importe el módulo AdmPwd PowerShell ejecutando
Import-module AdmPwd.PS
. - Una vez importado el módulo, ejecute el comando
Update-AdmPwdADSchema
para actualizar el esquema de AD añadiendo los dos atributos de AD. Puede ver la salida en la siguiente captura de pantalla.
Ahora ha extendido nuestro esquema AD para soportar LAPS y está listo para configurar los permisos en Active Directory.
Configuración de los permisos de Active Directory
Cada equipo necesita la capacidad de actualizar su contraseña de administrador local y el atributo AD de tiempo de expiración. Para ello, cada equipo debe tener permiso de autoescritura para los atributos AD ms-Mcs-AdmPwd y ms-Mcs-AdmPwdExpirationTime. Por suerte, la mayor parte de este trabajo se realiza fácilmente con el módulo AdmPwd PowerShell.
Permitir que los equipos guarden su contraseña
En primer lugar, asegúrese de que cada equipo puede guardar su contraseña en el atributo AD ms-Mcs-AdmPwd y actualizar cuando esa contraseña expira en el atributo AD ms-Mcs-AdmPwdExpirationTime. El módulo AdPwd PowerShell tiene un comando que puede establecer estos permisos llamado Set-AdmPwdComputerSelfPermission
por unidad organizativa (OU) que se aplica a todas las OUs hijas.
En PowerShell, ejecute Set-AdmPwdComputerSelfPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com'
recordando actualizar su OU y nombre de dominio específicos.
Si desea que LAPS controle más OUs, repita el comando anterior para cada OU en AD.
Bloqueo de atributos de AD mediante la búsqueda de derechos extendidos
Para asegurarse de que sólo los usuarios y grupos que desea tienen permisos para leer y restablecer la contraseña de administrador local de cada equipo, necesita auditar quién tiene acceso. Específicamente, usted necesita saber que sólo las cuentas que necesita tener «derechos extendidos» lo tienen.
Para encontrar las cuentas con derechos extendidos, ejecute Find-AdmPwdExtendedRights -OrgUnit 'OU=Workstations,DC=contoso,DC=com' | Select -ExpandProperty ExtendedRightHolders
asegurándose de reemplazar su OU y nombre de dominio.
Ahora puede ver en la siguiente captura de pantalla que CONTOSO\joe-the-admin y CONTOSO\MDT-service tienen derechos extendidos en la OU de estaciones de trabajo.
El permiso de MDT-service sí necesita el derecho extendido, pero joe-the-admin no. Ahora necesita eliminar el permiso para joe-the-admin.
Necesitará repetir este proceso para todas las OUs en las que estableció el permiso de auto-escritura en un paso anterior.
Eliminación de los derechos ampliados
Una vez que haya identificado cada cuenta para eliminar los derechos ampliados, es el momento de hacerlo.
- Abre Usuarios y equipos de Active Directory y haz clic en Ver en el menú superior y asegúrate de que las Características avanzadas estén activadas. Cuando habilite las características avanzadas, verá todas las OUs típicamente ocultas como se muestra en la siguiente captura de pantalla.
2. Haga clic con el botón derecho en la OU que desea eliminar el derecho extendido y haga clic en Propiedades.
3. Haga clic en la ficha Seguridad y, a continuación, haga clic en el botón Avanzado.
4. Busque la cuenta o el grupo para el que desea eliminar los derechos ampliados y elimínelo seleccionándolo y haciendo clic en Eliminar.
5. Repita estos pasos según sea necesario para todos los directores con derechos extendidos.
Dar permiso para leer y restablecer la contraseña del administrador local
Ahora que se ha asegurado de que sólo las cuentas apropiadas tienen derechos extendidos, debe 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.
Note que los nombres de los grupos especificados aquí no son obligatorios. Usted es libre de utilizar cualquier nombre de grupo que por favor.
Con una consola de PowerShell todavía abierto con su cuenta de administrador, introduzca los siguientes comandos para dar ambos grupos de AD permiso para leer la contraseña de administrador local para los equipos en la OU de estaciones de trabajo.
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"
Ahora ha habilitado los grupos de AD arriba para leer y restablecer las contraseñas de administrador local para los equipos en la OU de estaciones de trabajo. Ahora debe añadir los administradores o grupos necesarios para leer o restablecer las contraseñas.
Creación de un almacén central para las plantillas de directivas de grupo
Para que LAPS se habilite una vez instalado en los equipos, cree primero una directiva de grupo importando las plantillas de directivas de grupo al almacén PolicyDefinition. El almacén PolicyDefinition es una carpeta ubicada en todos los controladores de dominio.
Nunca habilite un GPO de LAPS que tenga como objetivo los controladores de dominio. No se admite y puede causar problemas inesperados.
- Elija un controlador de dominio en AD; cualquier controlador de dominio funcionará.
- Asegúrese de que existe un \contoso.comSYSVOL\Policies\Ndefinición de políticas. Si no es así, créela ahora.
- Copie el contenido de C:\Windows\PolicyDefinitions en su equipo de administración (en el que instaló LAPS) a la carpeta \contoso.com\SYSVOL\Policies\PolicyDefinitions en el controlador de dominio.
Creación del GPO
Ahora copiemos las plantillas del GPO de LAPS en el almacén central (carpeta PolicyDefinitions).
- Abra la Administración de directivas de grupo con su cuenta de administrador, haga clic con el botón derecho en la OU en la que desea habilitar LAPS y haga clic en Vincular un GPO existente…
2. Vaya a Configuración del equipo -> Plantillas administrativas -> LAPS y establezca Habilitar la administración de contraseñas del administrador local en Habilitado. Si tiene requisitos diferentes para la complejidad de las contraseñas, edite la configuración de las contraseñas según corresponda.
¡Ya casi ha terminado! Ahora enlaza este GPO a todas las OUs en las que quieras usar LAPS.
Desplegando la extensión GPO de LAPS
Una vez que el GPO se aplica a todas las OUs aplicables con ordenadores en ellas, ahora necesitas desplegar la extensión GPO de LAPS. Tiene un par de maneras diferentes de instalar esta extensión, ya sea instalando el MSI (como se mostró anteriormente) o registrando el archivo DLL de LAPS.
Si elige instalar el MSI, en cada equipo dentro de una OU controlada por LAPS, ejecute el siguiente comando para habilitar LAPS.
> msiexec /q /i \server\share\LAPS.x64.msi
Si elige habilitar LAPS registrando la DLL, puede hacerlo con el siguiente comando.
> regsvr32.dll \server\share\AdmPwd.dll
Puede utilizar cualquier herramienta de ejecución remota que tenga para ejecutar estos comandos en los equipos.
Despliegue del MSI de LAPS con un GPO
Utilizar un GPO es el método más sencillo para garantizar que la extensión GPO de LAPS se instale en todos los equipos.
- Copie LAPS.x64.msi a un recurso compartido de red al que puedan acceder todos los equipos del dominio.
- Abra la administración de directivas de grupo en el equipo del administrador y cree un GPO llamado Instalar LAPS o algo similar.
3. Hacer clic con el botón derecho del ratón en el GPO Instalar LAPS, hacer clic en Editar y navegar hasta Configuración del equipo -> Políticas -> Configuración del software -> Instalación del software.
4. Haga clic con el botón derecho en Instalación de software y navegue hasta Nuevo-> Paquete…
5. Navegue hasta el recurso compartido en el que ha copiado LAPS.x64.msi, selecciónelo, haga clic en Aceptar y seleccione Asignado.
6. Ahora vincule el GPO a las mismas OU para las que ha configurado LAPS. Ahora está listo para probar LAPS.
Probar LAPS
Para asegurarnos de que LAPS funciona como se ha diseñado en los ordenadores controlados, vamos a forzar uno de los ordenadores para que aplique el GPO antes mencionado y ver qué ocurre.
- Reinicie un ordenador que se encuentre bajo una de las OU que acaba de configurar. Una vez que se haya levantado de nuevo, el equipo debería empezar a instalar LAPS.
- Una vez que LAPS se instale en el equipo, reinicie la máquina una vez más y abra una consola PowerShell como administrador en su equipo de administración como una cuenta que sea miembro de los grupos de AD LAPS Workstation Password Read y LAPS Workstation Password Reset.
- Ejecute el comando
Get-AdmPwdPassword <computername>
utilizando el nombre del equipo en el que acaba de reiniciar e instalar LAPS. Si todo ha ido bien, verá algo similar a la salida de la siguiente captura de pantalla.
4. Ahora intente iniciar sesión en el ordenador controlado por LAPS con la contraseña mostrada anteriormente. Si ha funcionado, deberías estar dentro.
5. Ahora intente restablecer la contraseña ejecutando Reset-AdmPwdPassword <ComputerName>
y reiniciando el ordenador. ¿Ve cómo ha cambiado las contraseñas en la siguiente captura de pantalla?
Ahora tiene LAPS funcionando en su entorno. Y mientras que la administración es bastante fácil hay algunas cosas que usted debe saber acerca de …
Consejos y trucos para el uso de LAPS para Real
Si bien la configuración cubierta anteriormente es suficiente para la mayoría de los entornos más pequeños que podría ser demasiado inseguro o no ofrecen el nivel de auditoría necesaria para las organizaciones más grandes. Aquí hay algunos consejos para hacer que funcione en el mundo real.
1. Activar la auditoría
Auditar cuando alguien lee o restablece una contraseña es importante, sobre todo teniendo en cuenta que se pueden conectar alarmas a ella si alguien lee la contraseña de todos los equipos. Por suerte el módulo AdmPwd nos proporciona un cmdlet para habilitar precisamente eso.
PS> Set-AdmPwdAuditing -AuditedPrincipals Everyone -OrgUnit "OU=Workstations,DC=contoso,DC=com"
2. Asegurar que ningún usuario pueda leer directamente el atributo AD ms-mcs-AdmPwd
Una forma es 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 un equipo. Aunque está fuera del alcance de este artículo, consulte herramientas como JEA o WebJEA si no tiene un portal de autoservicio existente adecuado para esto.
3. Restablecer el atributo Ms-Mcs-AdmPwdTime durante la creación de imágenes de disco
Debe recordar restablecer el atributo Ms-Mcs-AdmPwdTime cuando vuelva a crear una imagen de un equipo controlado por LAPS, de lo contrario no se activará el cambio de contraseña y se mantendrá la contraseña de administrador local dada por la imagen. Sin embargo, se activará después de que expire el Ms-Mcs-AdmPwdTime.
Puede utilizar el siguiente comando de PowerShell para restablecer el ExpirationTime
sin el módulo AdmPwd:
# With RSAT Get-ADComputer Workstation1 | Set-ADObject -Replace @{"ms-mcs-AdmPwdExpirationTime"=(Get-Date)} # Without RSAT$Computer = New-Object DirectoryServices.DirectoryEntry "LDAP://CN=Workstation1,OU=Workstations,DC=contoso,DC=com"$Computer.'ms-Mcs-AdmPwdExpirationTime'.Clear()$Computer.CommitChanges()
4. Recuerde que el atributo ms-Mcs-AdmPwd permanece en la papelera de reciclaje de AD
Cuando elimina un objeto en AD y tiene la papelera de reciclaje de AD habilitada, AD suele eliminar atributos importantes; ¡por suerte ms-Mcs-AdmPwd está protegido de eso!
5. LAPS no es para acceso temporal
Aunque es tentador, LAPS no está pensado para dar acceso temporal a proveedores, usuarios y otros tipos de cuentas. En lugar de utilizar LAPS, utilice un grupo de AD que sea un administrador local de ese equipo específico y utilice TimeToLive en las membresías del grupo.
Conclusión
Ahora ha aprendido a desplegar LAPS, a configurar sus permisos y algunos consejos y trucos para hacerlo más seguro. Con un entorno en el que se despliega LAPS toda la contraseña del administrador local cambia de forma regular y automática. Esto reduce en gran medida los riesgos de que un ordenador unido a un dominio sea tomado por hackers o malware y, con suerte, te ahorra muchos dolores de cabeza.