Protección de conexiones RDP con certificados SSL/TLS de confianza
En este artículo, mostraremos cómo usar certificados SSL/TLS confiables para proteger las conexiones RDP a computadoras o servidores con Windows en un dominio de Active Directory. Usaremos certificados SSL confiables en lugar de certificados RDP autofirmados predeterminados (luego, al usar un certificado RDP autofirmado, el usuario recibe una advertencia de que el certificado no es confiable cuando se conecta al host). En este ejemplo, configuraremos una plantilla de certificados RDP personalizada en la Autoridad de certificación y una Política de grupo para emitir y vincular automáticamente un certificado SSL/TLS a los Servicios de escritorio remoto.
Advertencia de certificado autofirmado de conexión a escritorio remoto (RDP)
De forma predeterminada, para proteger una sesión RDP, Windows genera un certificado autofirmado. Durante la primera conexión a un host RDP/RDS mediante el cliente mstsc.exe, un usuario ve la siguiente advertencia:
The remote computer could not be authenticated due to problems with its security certificate. It may be unsafe to proceed.
Certificate error: The certificate is not from a trusted certifying authority.Para continuar y establecer una conexión RDP, el usuario debe hacer clic en Sí. Para evitar que la advertencia del certificado RDP aparezca cada vez, puede marcar la opción "No volver a pedirme conexiones a esta computadora".
En este caso, la huella digital del certificado RDP se guarda en el parámetro CertHash de la clave de registro con el historial de conexión RDP en un cliente (
HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers\
). Si ha ocultado la advertencia de que no se pudo verificar el servidor RDP, elimine la huella digital del certificado del registro para restablecer la configuración.
Aunque se usa un certificado autofirmado para establecer una conexión, su sesión RDP es segura y su tráfico está encriptado.
Crear una plantilla de certificado RDP en una autoridad de certificación (CA)
Intentemos usar un certificado SSL/TLS confiable emitido por una autoridad de certificación corporativa para proteger las conexiones RDP. Con este certificado, un usuario puede autenticar un servidor RDP al conectarse. Supongamos que ya se implementó una autoridad de certificación de Microsoft corporativa en su dominio. En este caso, puede configurar la emisión y conexión automática de certificados a todos los equipos y servidores Windows del dominio.
Debe crear un nuevo tipo de plantilla de certificado para hosts RDP/RDS en su CA:
Ejecute la consola de la Autoridad de certificación y vaya a la sección Plantillas de certificado;
Duplicar la plantilla de certificado de computadora (Plantillas de certificado -> Administrar -> Computadora -> Duplicar);
En la pestaña General , especifique el nombre de la nueva plantilla de certificado: RDPTemplate. Asegúrese de que el valor del campo Nombre de la plantilla coincide con el Nombre para mostrar de la plantilla;
-
En la pestaña Compatibilidad , especifique la versión mínima del cliente utilizada en su dominio (por ejemplo, Windows Server 2008 R2 para la CA y Windows 7 para sus clientes). Por lo tanto, se utilizarán algoritmos de cifrado más fuertes;
Luego, en la sección Política de la aplicación de la pestaña Extensiones , restrinja el alcance de uso del certificado a solo Autenticación de escritorio remoto (ingrese el siguiente identificador de objeto: 1.3. 6.1.4.1.311.54.1.2). Haga clic en Agregar -> Nuevo, cree una nueva política y selecciónela;
En la configuración de la plantilla de certificado (Extensión de políticas de aplicación), elimine todas las políticas excepto Autenticación de escritorio remoto;
Para usar esta plantilla de certificado RDP en sus controladores de dominio, abra la pestaña Seguridad, agregue el grupo Controladores de dominio y habilite las opciones Inscripción e Inscripción automática;
Guarde la plantilla de certificado;
Luego, en el complemento mmc de la autoridad de certificación, haga clic en la carpeta Plantillas de certificado y seleccione Nuevo -> Plantilla de certificado para emitir -> elija la plantilla que ha creado (RDPTemplate);
¿Cómo implementar certificados RDP SSL/TLS mediante la directiva de grupo?
Ahora necesita configurar un GPO de dominio para asignar automáticamente certificados RDP a computadoras/servidores de acuerdo con la plantilla configurada.
Se supone que todas las computadoras del dominio confían en la Autoridad de certificación corporativa, es decir, el certificado raíz se ha agregado a las Autoridades de certificación raíz de confianza mediante GPO.
Abra la consola de administración de políticas de grupo de dominio (gpmc.msc), cree un nuevo objeto GPO y vincúlelo a la OU que contiene servidores o computadoras RDP/RDS para emitir automáticamente certificados TLS para proteger las conexiones RDP;
Vaya a la siguiente sección de GPO Configuración del equipo -> Políticas -> Plantillas administrativas -> Componentes de Windows -> Servicios de escritorio remoto -> Host de sesión de escritorio remoto -> Seguridad. Habilite la directiva Plantilla de certificado de autenticación del servidor. Especifique el nombre de la plantilla de CA que creó anteriormente (RDPTemplate);
Luego, en la misma sección de GPO, habilite la política Requerir el uso de una capa de seguridad específica para conexiones remotas (RDP) y establezca el valor SSL para ella;
Para renovar automáticamente un certificado RDP, vaya a la sección Configuración de la computadora -> Configuración de Windows -> Configuración de seguridad -> Políticas de claves públicas del GPO y habilite la política Cliente de servicios de certificados: propiedades de inscripción automática. Marque las opciones “Renovar certificados caducados, actualizar certificados pendientes y eliminar certificados revocados” y “Actualizar certificados que usan plantillas de certificados”;
Si desea que sus clientes verifiquen siempre el certificado del servidor RDP, debe configurar la política Configurar autenticación para cliente=Avisarme si falla la autenticación (Configuración del equipo -> Políticas -> Plantillas administrativas -> Componentes de Windows -> Configuración de escritorio remoto -> Cliente de conexión de escritorio remoto);
Si es necesario, abra el puerto RDP entrante TCP/UDP 3389 usando políticas de firewall;
Luego, actualice la configuración de la política de grupo en la computadora cliente, inicie la consola de certificados de la computadora (
Certlm.msc) y asegúrese de que el certificado de autenticación de escritorio remoto emitido por su CA haya aparecido en la sección Personal -> Certificados.
Si no se aplicó la nueva configuración de directiva de grupo, use la herramienta gpresult y este artículo para diagnosticar.
Para aplicar el nuevo certificado RDP, reinicie Servicios de escritorio remoto:
Get-Service TermService -ComputerName mun-dc01| Restart-Service -force -verboseDespués de eso, cuando se conecte a un servidor usando RDP, no verá una solicitud para confirmar que el certificado es confiable (para ver la solicitud, conéctese al servidor para el que se emitió el certificado usando su dirección IP en lugar del FQDN). Haga clic en Ver certificado, vaya a la pestaña Detalles y copie el valor en el campo Huella digital.
En la sección Certificados emitidos de la consola de la autoridad de certificación, puede asegurarse de que se haya emitido un certificado RDPTemplate para el servidor/equipo de Windows específico. Compruebe también el valor de la huella digital del certificado:
A continuación, compare esta huella digital con la huella digital del certificado que utiliza el Servicio de escritorio remoto. Puede ver el valor de la huella digital del certificado RDS en el registro (HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations, el parámetro TemplateCertificate) o mediante el siguiente comando de PowerShell:
Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices|select SSLCertificateSHA1HashLuego, cuando se conecte al escritorio remoto de cualquier host de Windows, no verá una advertencia de un certificado RDP que no sea de confianza.
Firma de un archivo RDP con una huella digital de certificado TLS de confianza
Si no tiene una CA, pero no desea que sus usuarios vean advertencias cuando se conectan a un host RDP/RDS, puede agregar el certificado a los de confianza en las computadoras de los usuarios.
Obtenga el valor de la huella digital del certificado RDP como se describe anteriormente:
Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices|select SSLCertificateSHA1HashUtilice esta huella digital para firmar el archivo .RDP con la herramienta RDPSign.exe:
rdpsign.exe /sha256 25A27B2947022CC11BAFF261234567DEB2ABC21 "C:\ps\mun-dc01.rdp"Luego, agregue esta huella digital a los certificados de confianza en las computadoras de los usuarios que usan GPO. Especifique las huellas digitales (separadas por un punto y coma) en la política Especifique las huellas digitales SHA1 de los certificados que representan a editores .rdp de confianza en Configuración del equipo -> Políticas -> Plantillas administrativas -> Componentes de Windows -> Configuración de escritorio remoto -> Cliente de conexión a escritorio remoto.
Para configurar el inicio de sesión RDP transparente sin ingresar una contraseña (RDP Single Sign On), configure la política Permitir credenciales predeterminadas de delegación y especifique los nombres de host RDP/RDS en ella (consulte este artículo sobre cómo hacerlo).












