Adam el Automatizador

¿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 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:

  1. Instalar las herramientas de gestión de LAPS en su equipo de administración.
  2. Extender el esquema de AD para añadir los dos atributos personalizados de AD que utiliza LAPS.
  3. Establecer los privilegios apropiados para varios componentes en AD.
  4. Construir el GPO de LAPS que se aplicará a los equipos de Windows.
  5. 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.

  1. Comience descargando el archivo LAPS.x64.msi y láncelo como administrador y haga clic en Siguiente.

Instalación de Microsoft LAPS

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.

Pulse Management Tools

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.

  1. 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».
  2. Inicie PowerShell como su cuenta de administrador e importe el módulo AdmPwd PowerShell ejecutando Import-module AdmPwd.PS.
  3. 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.
Cuenta de administrador de Powershell

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.

Actualizar OU y nombre de dominio

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.

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.

  1. 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.
OUs ocultas

2. Haga clic con el botón derecho en la OU que desea eliminar el derecho extendido y haga clic en Propiedades.

Haga clic con el botón derecho en la OU que desea eliminar

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.

Ficha Seguridad para la eliminación de cuentas

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.

  1. Elija un controlador de dominio en AD; cualquier controlador de dominio funcionará.
  2. Asegúrese de que existe un \contoso.comSYSVOL\Policies\Ndefinición de políticas. Si no es así, créela ahora.
  3. 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).

  1. 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…
Administración de directivas de grupo

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.

Enlace del GPO a todas las OU

¡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.

  1. Copie LAPS.x64.msi a un recurso compartido de red al que puedan acceder todos los equipos del dominio.
  2. Abra la administración de directivas de grupo en el equipo del administrador y cree un GPO llamado Instalar LAPS o algo similar.
Cree un GPO llamado Instalar LAPS

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.

Instalación de software de LAPS GPO

4. Haga clic con el botón derecho en Instalación de software y navegue hasta Nuevo-> Paquete…

GPO 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.

Asignación de LAPS.x64.msi

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.

  1. 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.
  2. 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.
  3. 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.
Salida de la instalación de LAPS

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?

Restablecimiento de la contraseña de LAPS

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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.