Cuando un controlador de dominio principal (writable DC) queda fuera de línea y el sitio remoto depende exclusivamente de un Read‑Only Domain Controller (RODC), la capacidad de inicio de sesión local puede verse comprometida si la planeación de replicación o de caché no se ha realizado con antelación. Este artículo describe a fondo por qué ocurre el bloqueo de autenticación, cómo prevenirlo y qué pasos seguir para una recuperación rápida y segura.
Cómo funciona un RODC y por qué puede fallar la autenticación
Un RODC almacena una réplica de Active Directory de solo lectura y un subconjunto de hashes de contraseña en su caché. Cuando un usuario o equipo intenta iniciar sesión:
- El cliente consulta DNS para ubicar un DC en su sitio.
- Al recibir la referencia del RODC, envía la autenticación vía Kerberos o NTLM.
- El RODC busca el hash en su Password Replication Cache (PRC).
• Si la contraseña está en la caché y no ha expirado, valida.
• Si no existe, reenvía la solicitud a un DC writable.
• Si el writable no está disponible, la autenticación falla.
Por tanto, sin las credenciales previamente almacenadas o sin conectividad de replicación, el RODC no puede responder de forma autónoma.
Síntomas típicos durante la caída del DC principal
- Error “The security database on the server does not have a computer account for this workstation trust relationship”.
- Evento 5719 en el registro de Sistema: “The computer was not able to set up a secure session with a domain controller”.
- RODC genera Evento 1699 (category RODC) indicando que la cuenta requerida no está en la lista Allowed.
- Inicio de sesión interactivo tarda minutos y termina con “domain unavailable”.
Causas más comunes
Credenciales no cacheadas
El RODC solo puede autenticar aquello que ya conoce. Si la cuenta no figura en el Allowed RODC Password Replication Group (o en un grupo de PRP personalizado) y nunca se forzó la replicación de su contraseña, el hash no estará disponible durante la interrupción.
Replicación insuficiente o inexistente
La topología de Sites & Services define vínculos (Site Links) para transferir cambios de AD y de SYSVOL. Si ese vínculo está:
- Deshabilitado o en una ventana horaria restringida.
- Con un costo tan alto que nunca se elige un puente.
- Bloqueado por firewall (RPC 135/TCP, dinámicos 49152‑65535, SMB 445/TCP) o por QoS.
…entonces el RODC no sabrá de nuevas cuentas ni de cambios de contraseña.
Problemas de DNS y asignación de subredes
Una subred mal asociada al sitio remoto provoca que el cliente consulte a un DC que ya no responde. Asimismo, si los registros SRV ldap.tcp.SiteName.sites.dc.msdcs.dominio
están obsoletos, la localización falla.
Tabla de acciones recomendadas
Paso | Acción | Detalles clave |
---|---|---|
1 | Habilitar caché de credenciales | Agrega usuarios/equipos al grupo Allowed RODC Password Replication Group (o PRP personalizado). Pre‑puebla con repadmin /rodcpwdrepl <RODC> <Cuenta> . |
2 | Asegurar replicación inter‑sitio | Crea un Site Link con horario y costo adecuados. Comprueba con repadmin /showrepl .Confirma puertos abiertos (RPC, SMB, Kerberos). |
3 | Verificar configuración del RODC | Valida la presencia de registros SRV. Ejecuta dcdiag /test:rodc y nltest /dsgetsite .Examina membresía en grupos Allowed/Denied. |
4 | Plan de resiliencia | Instala un DC writable adicional. Implementa VPN con el sitio central. Configura política de purga periódica de hash para reducir superficie de ataque. |
Procedimiento paso a paso para la pre‑población de contraseñas
# 1. Conectar desde un DC writable
repadmin /rodcpwdrepl RODC01 usuario1
repadmin /rodcpwdrepl RODC01 EQUIPO1$
2. Forzar replicación inmediata
repadmin /syncall /APeD RODC01
3. Validar la presencia en la caché
repadmin /prp view RODC01 revealsourcediag
Consejo: automatiza este proceso en PowerShell para cuentas críticas:
Import-Module ActiveDirectory
$RODC="RODC01"
$cuentas=@("usuario1","usuario2","EQUIPO1$")
foreach($c in $cuentas){
Write-Host "Replicando $c"
cmd /c "repadmin /rodcpwdrepl $RODC $c"
}
cmd /c "repadmin /syncall /APeD $RODC"
Técnicas de validación sin desconectar el DC principal
- En el cliente remoto, ejecuta
nltest /sc_reset:DOMINIO
para forzar nueva sesión segura y observa si el RODC responde. - Simula caída con
netsh advfirewall firewall add rule name="Block DC" dir=out action=block remoteip=<IP_DC>
y prueba el inicio de sesión. - Programa una tarea periódica que mida el valor de
LastLogonTimestamp
para detectar cuentas que nunca han autenticado contra el RODC.
Solución al error “account must first be added to the Allowed list”
Cuando el RODC registra Evento 1699 y el cliente arroja el mensaje citado, sigue esta lista de verificación:
- Asegúrate de que la cuenta no esté en Deny RODC Password Replication Group.
- Incluye la cuenta en el grupo Allowed (o bien en un PRP de cuentas críticas).
- Fuerza replicación con
repadmin /syncall /APed
desde un writable hacia el RODC. - Ejecuta
repadmin /rodcpwdrepl
o espera hasta que el cambio se replique de manera natural.
Buenas prácticas de seguridad y mantenimiento
El objetivo de un RODC es proteger la información de un sitio potencialmente inseguro. Implementa estas medidas:
- Menor privilegio: incluye solo personal esencial en Allowed, evita cuentas de alto nivel como Domain Admins.
- Política de purgado: usa
net user /domain
para identificar contraseñas cacheadas y elimina las que no se requieran conrepadmin /rodcpwdrepl /delete
. - BitLocker To Go: protege discos locales y partición SYSVOL del RODC con BitLocker para mitigar robo físico.
- Auditoría: habilita el sub‑categoría Audit Credential Validation (ID 4771) en el RODC para registrar quién usa las credenciales cacheadas.
Checklist de pre‑producción para un nuevo sitio con RODC
Elemento | Acción de verificación | Estado |
---|---|---|
Subred agregada | Active Directory Sites & Services ➝ Subnets | ✅ |
Site Link creado | Con costo < 200 y horario 24×7 | ✅ |
Registro SRV visible | nslookup -type=SRV ldap.tcp.SiteName.sites.dc.msdcs.dominio | ✅ |
PRP configurado | Grupo Allowed RODC Password Replication Group poblado | ✅ |
Firewall abierto | RPC 135/TCP, dinámicos 49152‑65535/TCP, SMB 445/TCP, Kerberos 88/TCP‑UDP | ✅ |
Script de réplica programado | Tarea de PowerShell semanal | ✅ |
Qué hacer durante una interrupción no planificada
- Confirmar causa: comprueba que el writable DC está caído con
nltest /dclist:dominio
. - Validar caché: en el RODC,
repadmin /prp view <RODC> verified
para la cuenta en cuestión. - Habilitar fallback: si la cuenta no está cacheada, evalúa abrir túnel VPN temporal o montar DC writable improvisado (VM).
- Revisar GPOs: asegúrate de que las políticas locales de seguridad no bloqueen el inicio de sesión offline.
- Documentar: registra la hora de caída, duración, número de cuentas afectadas; servirá para ajustar el PRP.
Frecuentes preguntas y respuestas (FAQ)
¿Puedo cachear todas las contraseñas para evitar problemas?
Técnicamente sí, pero compromete la seguridad. Un atacante con acceso físico podría extraer hashes mediante “Pass‑the‑Hash”. Limita la caché y renueva contraseñas frecuentemente.
¿Qué sucede con las cuentas de servicio administradas (gMSA)?
Los nombres de cuenta terminados en $
también pueden añadirse al PRP. Conviene pre‑poblar gMSA críticos que operan en servidores del sitio remoto.
¿Debo colocar un writable DC en cada sitio?
Microsoft recomienda al menos un DC writable si hay más de 100 usuarios, ancho de banda > 512 Kbps y requisitos de LDAP write. Sin embargo, un RODC bien configurado es suficiente para sucursales exclusivamente de lectura.
¿Cómo limpio contraseñas después de un incidente?repadmin /prp delete <RODC> <Cuenta>
elimina el hash y repadmin /rodcpwdrepl <RODC> <Cuenta> /delete
borra varias a la vez. Cambiar la contraseña en el writable DC también invalida la caché.
Conclusión
Un RODC ofrece un equilibrio entre disponibilidad y seguridad para oficinas remotas, siempre que su plan de réplica y su lista de cuentas permitidas se mantengan al día. La clave es la anticipación: automatiza la pre‑población de credenciales, monitorea la replicación y realiza simulacros periódicos. Así, cuando ocurra el próximo corte de energía o mantenimiento inesperado, los usuarios ni siquiera notarán la ausencia del DC principal.