Cómo forzar a los servicios de escritorio remoto en Windows 7 para utilizar un certificado de autenticación de servidor personalizado para TLS


Síntomas


Al realizar una conexión de servicios de escritorio remoto (RDS) en un equipo con Windows 7, se genera automáticamente un certificado de autenticación de servidor autofirmado para admitir Transport Layer Security (TLS). Esto permite que los datos se cifren entre equipos. Sólo se cifran los datos cuando la configuración de directiva de grupo está habilitada en el equipo de destino y se establece en SSL (TLS 1.0):

Equipo Configuración del equipo\Plantillas administrativas\Componentes Windows\Servicios Escritorio remoto\Host de sesión de escritorio remoto\Seguridad: requieren el uso de nivel de seguridad específico para conexiones remotas de (RDP)

Causa


Se habilita la generación de certificados autofirmados para TLS sobre una conexión RDS por diseño en Windows Vista y Windows 7.

Solución


Certificados de autenticación de servidor son compatibles con Windows Vista y Windows 7. Para utilizar un certificado personalizado para RDS, siga los siguientes pasos:

  1. Instalar un certificado de autenticación de servidor de una entidad emisora de certificados.

  2. Cree el siguiente valor del registro que contiene el hash de SHA1 del certificado para configurar este certificado personalizado para admitir TLS en lugar de utilizar el certificado autofirmado de forma predeterminada.

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

    Nombre de valor: SSLCertificateSHA1Hash
    Tipo de valor: REG_BINARY
    Datos del valor: < huella digital de certificado >

    Tvalor de él debe ser la huella digital del certificado separado por comas ',' y sin espacios en blanco. Por ejemplo, si tuviera que exportar esa clave del registro el valor de SSLCertificateSHA1Hash sería así:

    "SSLCertificateSHA1Hash" = hex: 42, 49, e1, 6e, 0a, f0, a0, 2e, 63, c4, 5C, 93, fd, 52, ad, 09, 27, 82, 1b, 01

    Nota: Es necesario modificar el registro directamente, porque no hay ninguna interfaz de usuario en el cliente Windows SKU para configurar un certificado de servidor.

  3. El servicio servicios de Host de escritorio remoto se ejecuta bajo la cuenta servicio de red. Por lo tanto, es necesario definir la ACL del archivo clave utilizado por RDS (al que hace referencia el certificado especificado en el valor del registro SSLCertificateSHA1Hash) para incluir el servicio de red con permisos de "Lectura". Para modificar los permisos siguen los siguientes pasos:

    Abra el complemento certificados para el equipo local:

    1. Haga clic en Inicio, haga clic en Ejecutar, escriba mmcy haga clic en Aceptar.

    2. En el menú archivo , haga clic en Agregar o quitar complemento.

    3. En el cuadro de diálogo Agregar o quitar complementos , en la lista complementos disponibles , haga clic en certificadosy haga clic en Agregar.

    4. En el cuadro de diálogo complemento de certificados , haga clic en cuenta de equipoy haga clic en siguiente.

    5. En el cuadro de diálogo Seleccionar equipo , haga clic en equipo Local: (el equipo que se está ejecutando esta consola)y haga clic en Finalizar.

    6. En el cuadro de diálogo Agregar o quitar complementos , haga clic en Aceptar.

    7. En el complemento certificados , en el árbol de consola, expanda certificados (equipo Local), expanda Personaly desplácese hasta el certificado SSL que le gustaría utilizar.

    8. Haga clic en el certificado, seleccione Todas las tareasy seleccione Administrar claves privadas.

    9. En el cuadro de diálogo permisos , haga clic en Agregar, escriba Servicio de red, haga clic en Aceptar, seleccione leer en la casilla de verificación Permitir y haga clic en Aceptar.

Más información


Para obtener más información acerca de cómo configurar mediante programación la configuración de cifrado RDP, visite el siguiente sitio Web de Microsoft:

http://msdn.microsoft.com/en-us/library/aa383799(VS.85).aspx