Windows Server 2025 / Cómo configurar contraseñas y bloqueo de cuentas con FGPP
Para aplicar requisitos de contraseña y bloqueo distintos a determinados usuarios del dominio, use directivas de contraseñas específicas (FGPP, Fine-Grained Password Policies) y compruebe la directiva resultante del usuario. Vincular un objeto de directiva de grupo (GPO) normal a una unidad organizativa (OU) de usuarios no crea una directiva de contraseña de dominio independiente para esa OU. Esta práctica mantiene intacta la directiva predeterminada y asigna un objeto de configuración de contraseña (PSO, Password Settings Object) a un grupo exclusivo del laboratorio.
Distinguir la directiva predeterminada y las FGPP
Las FGPP se asignan a objetos de usuario o grupos de seguridad globales, no a una OU como destino directo. La guía oficial de FGPP describe los requisitos de dominio y herramientas. Use DC1 o un PC de administración con el módulo ActiveDirectory, conexión al dominio ad.example.test y una cuenta con autorización: por defecto se requiere Domain Admins, aunque se puede delegar la administración. Un administrador local del PC no obtiene por ello derechos para crear PSO. Antes de cambiar nada, ejecute estas consultas de lectura en el contexto correcto del dominio:
Get-ADDefaultDomainPasswordPolicy
Get-ADUserResultantPasswordPolicy -Identity 'labuser1'
Get-ADFineGrainedPasswordPolicy -Filter *
La primera consulta obtiene la directiva predeterminada del dominio del contexto de la sesión; confirme que corresponde a ad.example.test. La segunda consulta muestra el PSO resultante de labuser1 y la tercera enumera PSO existentes. Guarde los valores y asignaciones iniciales sin contraseñas. No se combinan las opciones más exigentes de todos los PSO: se selecciona uno resultante. Una asignación directa al usuario prevalece sobre las procedentes de grupos; entre las candidatas del mismo tipo, un número Precedence menor tiene mayor prioridad. Por ello, 100 no garantiza que este ejemplo vaya a ganar. Si ya hay otra directiva o un conflicto de nombre o prioridad, detenga la creación y examine el resultado antes de continuar.
Preparar el grupo y los valores de laboratorio
Utilice GG_LabUsers y el usuario normal labuser1 creados en la práctica de usuarios y grupos de Active Directory. En Usuarios y equipos de Active Directory (dsa.msc), confirme que GG_LabUsers es un grupo de seguridad de ámbito global y revise todos sus miembros, incluidos posibles grupos anidados. Solo deben quedar dentro del alcance cuentas destinadas a esta prueba; no asigne el PSO si alcanzaría administradores, servicios o usuarios reales. No quite miembros de un grupo operativo para adaptarlo al ejercicio. Los valores siguientes sirven para observar el comportamiento y no constituyen una recomendación universal de seguridad:
| Configuración | Ejemplo de laboratorio |
|---|---|
| Longitud mínima y complejidad | 14 caracteres y comprobación de complejidad activada. |
| Historial | 5 contraseñas anteriores; no reutilizar las incluidas en ese historial. |
| Edad mínima y máxima | 0 días antes de poder volver a cambiar; 30 días de duración máxima. |
| Umbral de bloqueo | 5 fallos de autenticación, según el recuento del dominio. |
| Duración del bloqueo y ventana de observación | 15 minutos cada una; la ventana de observación no supera la duración de bloqueo. |
| Cifrado reversible | Deshabilitado; no se activa para realizar esta práctica. |
La edad mínima de 0 días facilita cambiar la contraseña durante la práctica; no debe copiarse como diseño de producción. La edad máxima de 30 días y el umbral de 5 también son valores de demostración. En un entorno real deben valorarse detección, autenticación multifactor (MFA), tipo de cuenta y recuperación. Umbrales demasiado bajos pueden causar bloqueos frecuentes o facilitar una denegación de servicio. Longitud, complejidad y caducidad por sí solas no describen toda la protección de una cuenta.
Crear el PSO y asignarlo al grupo
Abra Windows PowerShell con privilegios de administración y autorización de Active Directory. Continúe solo si Lab-Password-Policy no existe y se han revisado las prioridades existentes. El bloque define todos los valores de esta prueba, crea el PSO, lo asigna mediante Add-ADFineGrainedPasswordPolicySubject y consulta el resultado de labuser1. Lea los parámetros de New-ADFineGrainedPasswordPolicy y ejecute las instrucciones por etapas: si falla la creación, no continúe con la asignación a un objeto anterior del mismo nombre.
$policyParameters = @{
Name = 'Lab-Password-Policy'
Precedence = 100
MinPasswordLength = 14
ComplexityEnabled = $true
PasswordHistoryCount = 5
MinPasswordAge = (New-TimeSpan -Days 0)
MaxPasswordAge = (New-TimeSpan -Days 30)
LockoutThreshold = 5
LockoutDuration = (New-TimeSpan -Minutes 15)
LockoutObservationWindow = (New-TimeSpan -Minutes 15)
ReversibleEncryptionEnabled = $false
}
New-ADFineGrainedPasswordPolicy @policyParameters
Add-ADFineGrainedPasswordPolicySubject -Identity 'Lab-Password-Policy' -Subjects 'GG_LabUsers'
Get-ADUserResultantPasswordPolicy -Identity 'labuser1'
Tras la asignación, el resultado esperado es un PSO llamado Lab-Password-Policy para labuser1, con Precedence 100 y los valores de la tabla. Compruebe especialmente longitud 14, historial 5, edades 0/30 días, umbral 5 y ambos intervalos de 15 minutos. Crear el objeto o ver GG_LabUsers en sus destinatarios no demuestra por sí solo que ese PSO sea el resultante del usuario: revise pertenencia efectiva, otras asignaciones y réplica si no coincide. No repita el comando de creación para corregir una consulta inesperada.
Como alternativa gráfica, abra el Centro de administración de Active Directory (ADAC) con dsac.exe. Seleccione el dominio correcto → System → Password Settings Container; en Tareas elija Nuevo → Configuración de contraseña (New → Password Settings). Indique Lab-Password-Policy, Precedence 100 y los valores de la tabla. En Se aplica directamente a (Directly Applies To), agregue GG_LabUsers y confirme. Después seleccione labuser1 y use Ver configuración de contraseña resultante (View Resultant Password Settings). Esta es una alternativa al bloque: no cree el mismo PSO por ambos métodos.
Cambiar una contraseña y comprobar el resultado
Cambiar la directiva no alarga ni reescribe una contraseña ya almacenada. Sí puede cambiar las condiciones aplicables, incluida su caducidad según la edad actual; no interprete la asignación como una garantía de que una contraseña antigua cumple la longitud nueva. Confirme primero el PSO resultante y, en CLIENT1, inicie sesión como el usuario de dominio labuser1. Use Ctrl+Alt+Supr → Cambiar una contraseña; en una consola virtual, utilice su función para enviar esa combinación al invitado. Escriba la contraseña actual y una nueva contraseña única que cumpla las condiciones, confirmándola en el campo correspondiente. No copie una contraseña publicada ni la incluya en scripts, registros o capturas. Compruebe el éxito del cambio y un acceso posterior sin provocar intentos fallidos repetidos.
No pruebe el bloqueo escribiendo mal repetidamente la contraseña de un administrador ni de una cuenta de servicio. El umbral se refiere a fallos de autenticación; los reintentos de protocolos y aplicaciones impiden asumir que cada acción del usuario equivale a un único fallo contado. Si labuser1 se bloquea de forma inesperada, busque credenciales antiguas en tareas programadas, servicios y conexiones guardadas antes de repetir la contraseña. Consulte el estado desde la sesión administrativa:
Get-ADUser -Identity 'labuser1' -Properties LockedOut,PasswordLastSet | Select-Object SamAccountName,LockedOut,PasswordLastSet
LockedOut indica el estado de bloqueo observado por el controlador consultado; no explica qué proceso lo causó. PasswordLastSet muestra la fecha del último establecimiento de contraseña, no su valor ni una prueba de que cumpla todas las reglas actuales. Tras un cambio correcto debería reflejar el nuevo establecimiento cuando la información correspondiente esté disponible. Para contrastar resultados entre controladores, tenga en cuenta la réplica y la hora de la consulta, sin registrar las contraseñas.
Desbloquear una cuenta no elimina la aplicación o dispositivo que sigue enviando una contraseña antigua. Identifique al usuario y la causa, corrija las credenciales guardadas que correspondan y compruebe después el estado. Si hace falta un desbloqueo, debe ser específico y autorizado; no reduzca la directiva ni desbloquee masivamente usuarios para que desaparezca el síntoma.
Retirar la asignación y verificar la directiva aplicable
Al terminar, retire únicamente la asignación de GG_LabUsers mediante Remove-ADFineGrainedPasswordPolicySubject. Revise cualquier confirmación antes de aceptarla: esta operación quita el grupo del PSO, no elimina el grupo ni labuser1. A continuación vuelva a consultar el PSO resultante y la directiva predeterminada:
Remove-ADFineGrainedPasswordPolicySubject -Identity 'Lab-Password-Policy' -Subjects 'GG_LabUsers'
Get-ADUserResultantPasswordPolicy -Identity 'labuser1'
Get-ADDefaultDomainPasswordPolicy
Si no se aplica otro PSO, la directiva predeterminada del dominio vuelve a gobernar y la consulta del PSO resultante puede no devolver un objeto. Distinga ese resultado esperado de un error de permisos, nombre o conexión; si aparece otro PSO, revíselo en vez de borrarlo para forzar el resultado. Compare también la directiva predeterminada con el registro inicial: esta práctica no la modifica. Quitar la asignación no restaura una contraseña anterior; conserve de forma segura la nueva contraseña válida. Antes de eliminar el PSO, revise sus demás destinatarios; puede conservarlo sin asignar para reutilizarlo. No elimine cuentas ni grupos como parte de esta limpieza.




