Asignar un certificado TLS firmado por una autoridad de confianza a Escritorio Remoto en Windows Server 2022 elimina los avisos de seguridad, habilita SSO y refuerza la protección frente a ataques MITM. A continuación se detalla paso a paso cómo hacerlo con interfaz gráfica o registro y GPO.
Resumen de la pregunta
En versiones anteriores de Windows Server era habitual asociar el certificado TLS de RDP desde la ruta Remote Desktop Services Manager → Connections → RDP‑Tcp → General → Certificate. Sin embargo, esa interfaz fue retirada y, en Windows Server 2022, la administración de certificados se integra en:
- Server Manager → Remote Desktop Services → Deployment Properties → Certificates
- o, para implementaciones sin Connection Broker, mediante MMC, registro y directivas de grupo.
Por qué cambió la interfaz en Windows Server 2022
Microsoft consolidó la gestión de Escritorio Remoto para simplificar la experiencia multiserver y alinearla con Azure Virtual Desktop. Las antiguas consolas (tsadmin.msc y tsconfig.msc) quedaron obsoletas, de modo que el nuevo panel de Deployment Properties centraliza:
- Asignación de certificados a todos los roles RDS.
- Comprobaciones de caducidad y fuerza de clave.
- Instalación automática en nodos miembro de una granja.
Requisitos previos del certificado
Requisito | Detalle |
---|---|
Tipo de certificado | PKCS #12 (.pfx ) con clave privada exportable. |
Nombre común o SAN | Debe coincidir con el FQDN que los clientes usan para conectarse (rdp.midominio.com). |
Uso ampliado de clave | Server Authentication (OID 1.3.6.1.5.5.7.3.1). |
Longitud de clave | 2048 bits o superior; se recomienda 4096 bits. |
Caducidad | Como mínimo igual al ciclo de vida previsto del servidor, idealmente ≥ 2 años. |
Solución recomendada: consola de Servicios de Escritorio Remoto
Este método resulta más sencillo, mantiene la compatibilidad con futuras actualizaciones y replica automáticamente el certificado entre nodos cuando hay un Connection Broker.
- Abre Server Manager. Si el panel Dashboard no muestra Remote Desktop Services, instálalo desde Add Roles and Features → Remote Desktop Services Installation.
- En DEPLOYMENT OVERVIEW haz clic en TASKS ▸ Edit Deployment Properties.
- Selecciona la pestaña Certificates. Verás una tabla con todos los roles instalados (RD Connection Broker, RD Web Access, RD Gateway, etc.).
- Marca cada rol y elige Select existing certificate. Carga tu archivo
.pfx
, introduce la contraseña y confirma. - Repite el proceso para cada rol; un mismo certificado es válido si el nombre coincide con el FQDN al que se accede.
- Haz clic en Apply. El asistente copia el certificado en LocalMachine\Personal y actualiza los servicios. Cuando finalice, aparecerá Succeeded para cada rol.
- Reinicia Remote Desktop Services si el asistente no lo hace. Opcionalmente, reinicia el servidor fuera de horas de producción.
Ventajas de este método
- Propaga el certificado a todos los hosts de la colección.
- Verifica que las claves privadas sean exportables y coincidan con el nombre DNS.
- Facilita futuras renovaciones mediante el mismo asistente.
Método alternativo cuando no se usa Connection Broker
En entornos pequeños con un único host RDS se puede asignar el certificado directamente en el registro o distribuirlo por GPO.
Importación local mediante MMC
- Ejecuta
mmc.exe
y añade el complemento Certificates → Computer Account → Local Computer. - En Personal ▸ Certificates importa el
.pfx
marcando la opción Mark this key as exportable. - Haz doble clic en el nuevo certificado, copia el valor Thumbprint (sin espacios).
- Abre
regedit.exe
y navega aHKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
. - Crea o edita el valor
SSLCertificateSHA1Hash
(REG_BINARY) pegando la huella SHA‑1 en formato hexadecimal sin guiones. - Reinicia el servicio Remote Desktop Services con
Restart-Service TermService -Force
o reinicia el servidor.
Validación posterior
# Mostrar los certificados en el almacén Personal
certutil -store my
Verificar la huella configurada
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SSLCertificateSHA1Hash
Distribución mediante Directiva de grupo
Si dispones de varios servidores y no quieres copiar certificados manualmente:
- Abre Group Policy Management Console (GPMC).
- Crea o edita una GPO vinculada a la OU que contiene los servidores RDS.
- Navega a Computer Configuration ▸ Policies ▸ Windows Settings ▸ Security Settings ▸ Public Key Policies.
- Haz clic en Trusted Root Certification Authorities para importar la raíz si el certificado es interno.
- Luego importa el
.pfx
en Remote Desktop (carpeta que aparece al instalar el rol). - Ejecuta
gpupdate /force
en cada servidor o espera la próxima actualización automática. - Comprueba que la huella se haya escrito en el registro y reinicia TermService.
Verificación y pruebas de conexión
- Desde un equipo cliente, abre Remote Desktop Connection, conéctate usando el FQDN (no la IP).
- Al hacer clic en Show certificate debes ver el nombre deseado y la autoridad emisora correcta.
- En clientes Windows 10 / 11 Secure Desktop mostrará Publisher: Verified si la CA es de confianza.
- Para auditoría, revisa el Event Viewer → Applications and Services Logs → Microsoft → Windows → TerminalServices-RemoteConnectionManager.
Ventajas de emplear un certificado público
Ventaja | Descripción |
---|---|
Elimina avisos | Los clientes externos no requieren importar CAs privadas. |
Single Sign‑On | Permite delegación de credenciales (CredSSP/Kerberos) sin ventanas adicionales. |
Protección MITM | La identidad del servidor se valida contra una autoridad global. |
Mantenimiento | Los portales de autoservicio de la CA facilitan renovaciones y reemisiones. |
Automatización avanzada con PowerShell
Cuando gestionas múltiples host RDS, un script ahorra tiempo y evita errores tipográficos en la huella. El siguiente ejemplo descarga un certificado de un recurso compartido, lo instala y actualiza el registro:
$certPath = "\\fileserver\deploy\rdp2025.pfx"
$certPassword = ConvertTo-SecureString "P@55w0rd!" -AsPlainText -Force
$cert = Import-PfxCertificate -FilePath $certPath -CertStoreLocation Cert:\LocalMachine\My -Password $certPassword -Exportable
$thumb = $cert.Thumbprint -replace " ",""
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "SSLCertificateSHA1Hash" -Value ([byte[]]($thumb -split '(?<=\G..)'))
Restart-Service -Name TermService -Force
Puedes programarlo con Scheduled Tasks y recibir alertas por evento cuando el certificado alcance, por ejemplo, 30 días antes de caducar.
Problemas comunes y su resolución
- El cliente sigue mostrando el certificado autofirmado
La huella en el registro no coincide; comprueba espacios en blanco y reinicia TermService. - El asistente de RDS marca “There are no certificates to choose from”
Asegúrate de importar en LocalMachine y con clave exportable. - RD Gateway no arranca tras aplicar el certificado
Verifica que el certificado incluya Server Authentication y la cadena de confianza completa (intermedias). - CredSSP bloquea la delegación
Añade el FQDN aWSMan\TrustedHosts
o usa certificados con SANSubjectAltName=DNSName
.
Consideraciones de seguridad adicionales
Una vez configurado el certificado, refuerza aún más tu entorno:
- Habilita NLA (Network Level Authentication) para impedir conexiones anónimas.
- Desactiva versiones obsoletas de TLS (
Disable-TlsCipherSuite
) y protocolos RC4/3DES. - Supervisa los intentos fallidos mediante auditoría (Event ID 4625) y aplica Account Lockout Policy.
- En entornos externos, coloca un RD Gateway en DMZ y publica solo HTTPS 443.
Preguntas frecuentes
¿Puedo usar un certificado comodín (*.midominio.com)? Sí, siempre que sea de confianza y contenga Server Authentication. ¿El puerto 3389 cambia al usar TLS? No. RDP continúa escuchando en 3389; el handshake TLS ocurre dentro de la misma conexión. ¿Necesito reiniciar el servidor completo? Basta con reiniciar el servicio TermService, aunque un reinicio garantiza que todas las sesiones adoptan el nuevo certificado. ¿Qué pasa si caduca el certificado? Los clientes mostrarán advertencias y, si usas RD Gateway, bloqueará el acceso hasta instalar uno válido.
Conclusión
Windows Server 2022 simplifica la administración de certificados TLS para RDP mediante el panel Deployment Properties; sin embargo, sigue siendo posible asignarlos manualmente con el registro o GPO. Adoptar un certificado público evita alertas y habilita funcionalidad empresarial como inicio de sesión único y conexiones más seguras. Implementa la opción que mejor se adapte a tu infraestructura y automatiza la renovación para mantener la plataforma protegida a largo plazo.