Protección de cuentas de servicios administrados (gMSA) en Active Directory
08/04/2025
Este artículo técnico y educativo tiene como objetivo guiar a los analistas de seguridad, administradores de TI e ingenieros de sistemas en la implementación y protección de Cuentas de servicio administradas de grupo (gMSA) en Active Directory. Los gMSA ofrecen una solución sólida para afrontar los desafíos de seguridad de las cuentas al automatizar la gestión de contraseñas y simplificar la administración [1].
Introducción
Las cuentas de servicios tradicionales con contraseñas estáticas plantean un riesgo importante. Las gMSA (Cuentas de servicio administradas de grupo) amplían la funcionalidad de las MSA (Cuentas de servicio administradas), permitiendo que múltiples servidores utilicen una sola cuenta de servicio, con Active Directory administrando automáticamente la rotación de contraseñas y la distribución de claves sin intervención manual [2].
Esta guía práctica cubrirá los requisitos previos, la creación y configuración de gMSA, cómo asociarlos con servicios y tareas programadas, y las mejores prácticas para garantizar que sus cuentas de servicio estén protegidas y administradas de manera eficiente.
¿Por qué son cruciales los gMSA?
- Administración automática de contraseñas: Active Directory genera y rota automáticamente contraseñas complejas y largas cada 30 días.
- Implementación en varios servidores: varios servidores pueden utilizar un solo gMSA, lo que simplifica la administración en entornos distribuidos.
- Principio de Mínimo Privilegio: Facilita el otorgamiento de permisos mínimos necesarios.
- Auditoría mejorada: simplifica la auditoría ya que las identidades de los servicios están claramente definidas y son rastreables.
Requisitos previos
- Controladores de dominio (DC) con Windows Server 2012 o superior.
- Nivel funcional de dominio (DFL) de Windows Server 2012 o superior.
- Módulo de Active Directory para Windows PowerShell.
- Servidores miembros de dominio que utilizarán gMSA.
- Grupo de seguridad para hosts: un grupo de seguridad en Active Directory que contendrá los servidores que utilizarán gMSA.
Paso a paso: implementación y protección de gMSA
1. Configuración del servicio de clave raíz de KDS
El servicio de clave raíz de KDS es necesario para que Active Directory pueda generar contraseñas para gMSA. Debe configurarse una vez por bosque [3].
- Abra Windows PowerShell como administrador en un controlador de dominio.
- Compruebe si el servicio de clave raíz de KDS ya está configurado:
powershell Obtener-KdsRootKey - Si no se devuelve ninguna clave, cree una nueva clave raíz de KDS. Para producción, use
Add-KdsRootKey -EffectiveTime (Get-Date).AddHours(-10)para habilitar la replicación. Para pruebas inmediatas, utilice:powershell Add-KdsRootKey - Efectivo inmediatamente
2. Creación del grupo de seguridad para hosts
Este grupo contendrá los servidores a los que se les permitirá recuperar la contraseña de gMSA.
- Abra Usuarios y computadoras de Active Directory (dsa.msc).
- Cree un nuevo grupo de seguridad (por ejemplo,
gMSA_Hosts_ServicoX) con alcanceGlobaly escribaSecurity. - Agregue las computadoras (servidores) que usarán gMSA a este grupo (por ejemplo:
ServidorApp01$,ServidorApp02$).
3. Creando el gMSA
Ahora creemos el gMSA usando PowerShell.
- Abra Windows PowerShell como administrador en un controlador de dominio.
- Utilice el cmdlet
New-ADServiceAccount:powershell Nueva cuenta de servicio AD -Nombre gMSA_ServicoX -DNSHostName gMSA_ServicoX.contoso.com -PrincipalsAllowedToRetrieveManagedPassword "gMSA_Hosts_ServicoX"- Explicación: El parámetro
PrincipalsAllowedToRetrieveManagedPasswordespecifica el grupo de seguridad que puede recuperar la contraseña de gMSA. Este grupo debe contener los servidores que ejecutarán el servicio.
- Explicación: El parámetro
4. Instalación y prueba de gMSA en servidores host
En los servidores que utilizarán gMSA, deberá instalarlo y probar su funcionalidad.
- En cada servidor miembro del grupo
gMSA_Hosts_ServicoX, abra Windows PowerShell como Administrador. - Instale gMSA:
powershell Instalar-ADServiceAccount-Identidad gMSA_ServicoX - Pruebe que gMSA esté instalado y funcional:
powershell Test-ADServiceAccount -Identidad gMSA_ServicoX- Resultado esperado: el resultado debe ser "Verdadero", lo que indica que gMSA está listo para usarse en el servidor.
5. Asociación de gMSA con un servicio
- En el servidor donde estará el servicioUna vez ejecutado, abra la consola Servicios (
services.msc). - Localice el servicio que desea configurar.
- Haga clic derecho en el servicio, seleccione Propiedades.
- En la pestaña Iniciar sesión, seleccione Esta cuenta.
- En el campo Esta cuenta, escriba el nombre de su gMSA seguido de
$, por ejemplo:gMSA_ServicoX$. - Deje los campos de contraseña en blanco. Active Directory administrará la contraseña automáticamente.
- Haga clic en Aplicar y Aceptar.
- Reinicie el servicio para que los cambios surtan efecto.
6. Uso de gMSA con tareas programadas
- En el servidor, abra Programador de tareas (
taskschd.msc). - Cree una nueva tarea o edite una existente.
- En la pestaña General, haga clic en Cambiar usuario o grupo....
- En el campo
Ingrese el nombre del objeto a seleccionar, ingrese el nombre de su gMSA seguido de$, por ejemplo:gMSA_ServicoX$. - Haga clic en Verificar nombres y luego en Aceptar.
- Deje los campos de contraseña en blanco.
- Configure las otras opciones de tareas programadas y haga clic en Aceptar.
Mejores prácticas y consejos de seguridad
- Principio de privilegio mínimo: Otorgue a gMSA solo los permisos necesarios para realizar su función. No utilice gMSA con privilegios de administrador de dominio.
- Grupos de seguridad dedicados: use grupos de seguridad específicos para
PrincipalsAllowedToRetrieveManagedPasswordpara controlar qué servidores pueden usar gMSA. - Auditoría: Supervise el uso de gMSA a través de registros de seguridad de Active Directory para detectar cualquier actividad anómala.
- Protección de clave raíz de KDS: asegúrese de que los controladores de dominio estén seguros, ya que la clave raíz de KDS es fundamental para la seguridad de los gMSA.
- Eliminar cuentas de servicio antiguas: migre servicios a gMSA y deshabilite o elimine cuentas de servicio antiguas que usaban contraseñas estáticas.
- Documentación: mantenga un registro de qué gMSA están en uso, qué servicios ejecutan y en qué servidores.
Conclusión
Las cuentas de servicio administradas de grupo (gMSA) son un componente vital para mejorar su postura de seguridad de Active Directory, especialmente en la administración de identidades de servicio. Al automatizar la rotación de contraseñas, simplificar la implementación en entornos distribuidos y facilitar la aplicación del principio de privilegio mínimo, los gMSA reducen significativamente la superficie de ataque y la complejidad administrativa. La implementación y gestión adecuadas de gMSA son pasos cruciales para proteger sus servicios y aplicaciones contra amenazas cibernéticas.
Referencias
[1]Microsoft. (2023). Cuentas de servicio administradas de grupo (gMSA) en Active Directory. [2]Microsoft. (2023). Descripción general de las cuentas de servicios administrados. [3]Microsoft. (2023). Servicio de distribución de claves de Active Directory (KDS).