Habilitar TLS en Universal Print Server

El protocolo Transport Layer Security (TLS) es compatible con las conexiones basadas en TCP entre el Virtual Delivery Agent (VDA) y el Universal Print Server.

Advertencia:

Para las tareas que incluyen trabajar en el registro de Windows, editar el registro incorrectamente puede causar problemas graves que pueden requerir la reinstalación de su sistema operativo. Citrix® no puede garantizar que los problemas resultantes del uso incorrecto del Editor del Registro puedan resolverse. Utilice el Editor del Registro bajo su propio riesgo. Asegúrese de hacer una copia de seguridad del registro antes de editarlo.

Tipos de conexiones de impresión entre el VDA y Universal Print Server

Conexiones de texto sin cifrar

Las siguientes conexiones relacionadas con la impresión se originan en el VDA y se conectan a los puertos del Universal Print Server. Estas conexiones se realizan solo cuando la configuración de la directiva SSL enabled está establecida en Disabled (valor predeterminado).

  • Conexiones de servicio web de impresión de texto sin cifrar (puerto TCP 8080)
  • Conexiones de flujo de datos de impresión de texto sin cifrar (CGP) (puerto TCP 7229)

El artículo de soporte de Microsoft Service overview and network port requirements for Windows describe los puertos utilizados por el servicio Microsoft Windows Print Spooler. La configuración de SSL/TLS de este documento no se aplica a las conexiones NetBIOS y RPC realizadas por el servicio Windows Print Spooler. El VDA utiliza el proveedor de impresión de red de Windows (win32spl.dll) como alternativa si la configuración de la directiva Universal Print Server enable está establecida en Enabled with fallback to Windows’ native remote printing.

servidor de impresión universal seguro

Conexiones cifradas

Estas conexiones SSL/TLS relacionadas con la impresión se originan en el VDA y se conectan a los puertos del Universal Print Server. Estas conexiones se realizan solo cuando la configuración de la directiva SSL enabled está establecida en Enabled.

  • Conexiones de servicio web de impresión cifradas (puerto TCP 8443)
  • Conexiones de flujo de datos de impresión cifradas (CGP) (puerto TCP 443)

servidor de impresión universal seguro 2

Configuración del cliente SSL/TLS

El VDA funciona como cliente SSL/TLS.

Utilice la Directiva de grupo de Microsoft y el registro para configurar Microsoft SCHANNEL SSP para conexiones de servicio web de impresión cifradas (puerto TCP 8443). El artículo de soporte de Microsoft Configuración del registro de TLS describe la configuración del registro para Microsoft SCHANNEL SSP.

En el Editor de directivas de grupo del VDA, vaya a Configuración del equipo > Plantillas administrativas > Red > Configuración de SSL > Orden de conjuntos de cifrado SSL. Seleccione el siguiente orden cuando TLS 1.3 esté configurado:

TLS_AES_256_GCM_SHA384 TLS_AES_128_GCM_SHA256

Seleccione el siguiente orden cuando TLS 1.2 esté configurado:

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P384 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256

Nota:

Cuando se configura esta opción de Directiva de grupo, el VDA selecciona un conjunto de cifrado para las conexiones de servicio web de impresión cifradas (puerto predeterminado: 8443) solo si las conexiones aparecen en ambas listas de conjuntos de cifrado SSL:

  • Lista de orden de conjuntos de cifrado SSL de la Directiva de grupo
  • Lista correspondiente a la configuración de la directiva de conjunto de cifrado SSL seleccionada (COM, GOV o ALL)

Esta configuración de Directiva de grupo también afecta a otras aplicaciones y servicios TLS en el VDA. Si sus aplicaciones requieren conjuntos de cifrado específicos, es posible que deba agregarlos a esta lista de orden de conjuntos de cifrado de la Directiva de grupo.

Importante:

Los cambios de la Directiva de grupo para la configuración de TLS solo surten efecto después de reiniciar el sistema operativo.

Utilice una política de Citrix para configurar los ajustes de SSL/TLS para las conexiones de flujo de datos de impresión cifrados (CGP) (puerto TCP 443).

Configuración del servidor SSL/TLS

El Universal Print Server funciona como servidor SSL/TLS.

Utilice el script de PowerShell Enable-UpsSsl.ps1 para configurar los ajustes de SSL/TLS.

Instalar un certificado TLS en el Universal Print Server

Para HTTPS, debe instalar un certificado de servidor SSL en el Universal Print Server en el que confíen los VDA. Utilice los Servicios de certificados de Microsoft Active Directory u otra autoridad de certificación para solicitar un certificado para el Universal Print Server.

Tenga en cuenta las siguientes consideraciones al inscribir o solicitar un certificado mediante los Servicios de certificados de Microsoft Active Directory:

  1. Coloque el certificado en el almacén de certificados Personal del equipo local.
  2. Establezca el atributo Nombre común del Nombre distintivo del sujeto (Subject DN) del certificado en el nombre de dominio completo (FQDN) del Universal Print Server. Especifique esto en la plantilla de certificado.
  3. Establezca el Proveedor de servicios criptográficos (CSP) utilizado para generar la solicitud de certificado y la clave privada en Microsoft Enhanced RSA and AES Cryptographic Provider (Encryption). Especifique esto en la plantilla de certificado.
  4. Establezca el tamaño de clave en al menos 2048 bits. Especifique esto en la plantilla de certificado.

Para obtener más información sobre cómo crear e instalar certificados, consulte Administrar certificados.

Configuración de SSL en el Universal Print Server

El servicio XTE en el Universal Print Server escucha las conexiones entrantes. Funciona como un servidor SSL cuando SSL está habilitado. Las conexiones entrantes son de dos tipos: conexiones de servicio web de impresión, que contienen comandos de impresión, y conexiones de flujo de datos de impresión, que contienen trabajos de impresión. SSL se puede habilitar en estas conexiones. SSL protege la confidencialidad e integridad de estas conexiones. De forma predeterminada, SSL está deshabilitado.

El script de PowerShell utilizado para configurar SSL se encuentra en el medio de instalación y tiene este nombre de archivo: \Support\Tools\SslSupport\Enable-UpsSsl.ps1.

Configuración de los números de puerto de escucha en el Universal Print Server

Estos son los puertos predeterminados para el servicio XTE:

  • Puerto TCP del servicio web de impresión en texto no cifrado (HTTP): 8080
  • Puerto TCP del flujo de datos de impresión en texto no cifrado (CGP): 7229
  • Puerto TCP del servicio web de impresión cifrado (HTTPS): 8443
  • Puerto TCP del flujo de datos de impresión cifrado (CGP): 443

Para cambiar los puertos utilizados por el servicio XTE en el Universal Print Server, ejecute los siguientes comandos en PowerShell como administrador (consulte la sección posterior para obtener notas sobre el uso del script de PowerShell Enable-UpsSsl.ps1):

  1. Stop-Service CitrixXTEServer, UpSvc
  2. Enable-UpsSsl.ps1 -Enable -HTTPSPort <port> -CGPSSLPort <port> o Enable-UpsSsl.ps1 -Disable -HTTPPort <port> -CGPPort <port>
  3. Start-Service CitrixXTEServer

Configuración de TLS en Universal Print Server

Si tiene varios Universal Print Servers en una configuración de equilibrio de carga, asegúrese de que la configuración de TLS esté configurada de forma coherente en todos los Universal Print Servers.

Al configurar TLS en Universal Print Server, se cambian los permisos del certificado TLS instalado, lo que otorga al Servicio de impresión universal acceso de lectura a la clave privada del certificado e informa al Servicio de impresión universal de lo siguiente:

  • Qué certificado del almacén de certificados se debe usar para TLS.
  • Qué números de puerto TCP se deben usar para las conexiones TLS.

El Firewall de Windows (si está habilitado) debe configurarse para permitir conexiones entrantes en estos puertos TCP. Esta configuración se realiza automáticamente al usar el script de PowerShell Enable-UpsSsl.ps1.

  • Qué versiones del protocolo TLS se deben permitir.

Universal Print Server admite las versiones 1.3 y 1.2 del protocolo TLS. Especifique la versión mínima permitida.

La versión predeterminada del protocolo TLS es la 1.2.

Nota:

TLS 1.1 y 1.0 ya no son compatibles a partir de la versión 2311 de Citrix Virtual Apps and Desktops.

  • Qué conjuntos de cifrado TLS se deben permitir.

Un conjunto de cifrado selecciona los algoritmos criptográficos que se utilizan para una conexión. Los VDA y Universal Print Server pueden admitir diferentes conjuntos de cifrado. Cuando un VDA se conecta y envía una lista de conjuntos de cifrado TLS admitidos, Universal Print Server compara uno de los conjuntos de cifrado del cliente con uno de los conjuntos de cifrado de su propia lista de conjuntos de cifrado configurados y acepta la conexión. Si no hay ningún conjunto de cifrado coincidente, Universal Print Server rechaza la conexión.

Universal Print Server admite los siguientes conjuntos de cifrado denominados GOV(ernment), COM(mercial) y ALL para los modos de Crypto Kit nativo OPEN, FIPS y SP800-52. Los conjuntos de cifrado aceptables también dependen de la configuración de la directiva Modo FIPS SSL y del modo FIPS de Windows. Consulte este artículo de soporte de Microsoft para obtener información sobre el modo FIPS de Windows.

Conjunto de cifrado (en orden de prioridad decreciente) OPEN ALL OPEN COM OPEN GOV FIPS ALL FIPS COM FIPS GOV SP800-52 ALL SP800-52 COM SP800-52 GOV
TLS_ECDHE_RSA_ AES256_GCM_SHA384 X   X X   X X   X
TLS_ECDHE_RSA_ AES256_CBC_SHA384 X   X X   X X   X
TLS_ECDHE_RSA_ AES256_CBC_SHA X X   X X   X X  

Configurar TLS en un Universal Print Server mediante el script de PowerShell

Instale el certificado TLS en el área Equipo local > Personal > Certificados del almacén de certificados. Si hay más de un certificado en esa ubicación, proporcione la huella digital del certificado al script de PowerShell Enable-UpsSsl.ps1.

Nota:

El script de PowerShell busca el certificado correcto según el FQDN del Universal Print Server. No es necesario que proporcione la huella digital del certificado cuando solo hay un certificado para el FQDN del Universal Print Server.

El script Enable-UpsSsl.ps1 habilita o deshabilita las conexiones TLS que se originan desde el VDA al Universal Print Server. Este script está disponible en la carpeta Support > Tools > SslSupport del medio de instalación.

Cuando habilita TLS, el script deshabilita todas las reglas existentes del Firewall de Windows para los puertos TCP del Servidor de impresión universal. Luego, agrega nuevas reglas que permiten que el Servicio XTE acepte conexiones entrantes solo en los puertos TCP y UDP de TLS. También deshabilita las reglas del Firewall de Windows para:

  • Conexiones de servicio web de impresión en texto claro (predeterminado: 8080)
  • Conexiones de flujo de datos de impresión en texto claro (CGP) (predeterminado: 7229)

El efecto es que el VDA solo puede establecer estas conexiones cuando utiliza TLS.

Nota:

La habilitación de TLS no afecta a las conexiones RPC/SMB del Cola de impresión de Windows que se originan en el VDA y se dirigen al Servidor de impresión universal.

Importante:

Especifique Enable o Disable como primer parámetro. El parámetro CertificateThumbprint es opcional si solo un certificado en el almacén de certificados personal del equipo local tiene el FQDN del Servidor de impresión universal. Los demás parámetros son opcionales.

Sintaxis

Enable-UpsSSL.ps1 -Enable [-HTTPPort <port>] [-CGPPort <port>] [–HTTPSPort <port>] [-CGPSSLPort <port>] [-SSLMinVersion <version>] [-SSLCipherSuite <name>] [-CertificateThumbprint <thumbprint>] [-FIPSMode <Boolean>] [-ComplianceMode <mode>]
Enable-UpsSSL.ps1 -Disable [-HTTPPort <portnum>] [-CGPPort <portnum>]
Parámetro Descripción
Habilitar Habilita SSL/TLS en el servidor XTE. Se requiere este parámetro o el parámetro Disable.
Deshabilitar Deshabilita SSL/TLS en el servidor XTE. Se requiere este parámetro o el parámetro Enable.
Huella digital del certificado "<thumbprint>" Huella digital del certificado TLS en el almacén de certificados personal del equipo local, entre comillas. El script utiliza la huella digital especificada para seleccionar el certificado que desea utilizar.
Puerto HTTP <port> Puerto del servicio web de impresión en texto no cifrado (HTTP/SOAP). Predeterminado: 8080
Puerto CGP <port> Puerto de flujo de datos de impresión en texto no cifrado (CGP). Predeterminado: 7229
Puerto HTTPS <port> Puerto del servicio web de impresión cifrada (HTTPS/SOAP). Predeterminado: 8443
Puerto CGPSSL <port> Puerto de flujo de datos de impresión cifrada (CGP). Predeterminado: 443
Versión mínima de SSL "<version>" Versión mínima del protocolo TLS, entre comillas. Valores válidos: “TLS_1.2” y “TLS_1.3”. Predeterminado: TLS_1.2.
Conjunto de cifrado SSL "<name>" Nombre del paquete de conjuntos de cifrado TLS, entre comillas. Valores válidos: “GOV”, “COM” y “ALL” (predeterminado).
Modo FIPS <Boolean> Habilita o deshabilita el modo FIPS 140 en el servidor XTE. Valores válidos: $true para habilitar el modo FIPS 140, $false para deshabilitar el modo FIPS 140.

Ejemplos

El siguiente script habilita TLS. La huella digital (representada como “12345678987654321” en este ejemplo) se utiliza para seleccionar el certificado que se va a usar.

Enable-UpsSsl.ps1 –Enable -CertificateThumbprint "12345678987654321"

El siguiente script deshabilita TLS.

Enable-UpsSsl.ps1 –Disable

Configuración del modo FIPS

La habilitación del modo FIPS (Estándares Federales de Procesamiento de Información) de EE. UU. garantiza que solo se utilice criptografía compatible con FIPS 140 para las conexiones cifradas de Universal Print Server.

Configure el modo FIPS en el servidor antes de configurarlo en el cliente.

Consulte el sitio de documentación de Microsoft para habilitar/deshabilitar el modo FIPS de Windows.

Habilitación del modo FIPS en el cliente

En el Delivery Controller™, ejecute Web Studio y establezca la configuración de directiva de Citrix Modo FIPS de UPS en Habilitado. Habilite la directiva de Citrix.

Haga esto en cada VDA:

  1. Habilite el modo FIPS de Windows.
  2. Reinicie el VDA.

Habilitar el modo FIPS en el servidor

Haga esto en cada Universal Print Server:

  1. Habilite el modo FIPS de Windows.
  2. Ejecute este comando de PowerShell como administrador: stop-service CitrixXTEServer, UpSvc
  3. Ejecute el script Enable-UpsSsl.ps1 con los parámetros -Enable -FIPSMode $true.
  4. Reinicie el Universal Print Server.

Inhabilitar el modo FIPS en el cliente

En Web Studio, establezca la configuración de la directiva de Citrix Modo FIPS de UPS en Deshabilitado. Habilite la directiva de Citrix. También puede eliminar la configuración de la directiva de Citrix Modo FIPS de UPS.

Haga esto en cada VDA:

  1. Deshabilite el modo FIPS de Windows.
  2. Reinicie el VDA.

Inhabilitar el modo FIPS en el servidor

Haga esto en cada Universal Print Server:

  1. Deshabilite el modo FIPS de Windows.
  2. Ejecute este comando de PowerShell como administrador: stop-service CitrixXTEServer, UpSvc
  3. Ejecute el script Enable-UpsSsl.ps1 con los parámetros -Enable -FIPSMode $false.
  4. Reinicie el Universal Print Server.

Nota:

El modo FIPS no es compatible cuando la versión del protocolo SSL se establece en TLS 1.3.

Configuración de la versión del protocolo SSL/TLS

La versión predeterminada del protocolo SSL/TLS es TLS 1.2. TLS 1.2 y TLS 1.3 son las versiones de protocolo SSL/TLS recomendadas para uso en producción. Para la solución de problemas, podría ser necesario cambiar temporalmente la versión del protocolo SSL/TLS en un entorno que no sea de producción.

SSL 2.0 y SSL 3.0 no son compatibles con Universal Print Server.

Configuración de la versión del protocolo SSL/TLS en el servidor

Haga esto en cada Universal Print Server:

  1. Ejecute este comando de PowerShell como administrador: stop-service CitrixXTEServer, UpSvc
  2. Ejecute el script Enable-UpsSsl.ps1 con los parámetros de versión -Enable -SSLMinVersion. Recuerde volver a establecerlo en TLS 1.2 o TLS 1.3 cuando termine de probar.
  3. Reinicie el Universal Print Server.

Configuración de la versión del protocolo SSL/TLS en el cliente

En Studio, establezca la configuración de la directiva Versión del protocolo SSL en la versión de protocolo deseada y habilite la directiva.

Asegúrese de que el sistema operativo del VDA sea compatible con la versión de TLS seleccionada. Para ver las versiones de TLS compatibles en Windows, consulte [Microsoft Learn - Compatibilidad con la versión del protocolo TLS}(https://learn.microsoft.com/es-es/windows-server/security/tls/tls-registry-settings?tabs=diffie-hellman#tls-dtls-and-ssl-protocol-version-settings). Para configurar el registro para anular los valores predeterminados, consulte Microsoft Learn - Configuración de la versión del protocolo TLS, DTLS y SSL.

Solución de problemas

Si se produce un error de conexión, compruebe el archivo C:\Program Files (x86)\Citrix\XTE\logs\error.log en el Universal Print Server.

El mensaje de error SSL handshake from client failed aparece en este archivo de registro si el protocolo de enlace SSL/TLS falla. Estos errores pueden ocurrir si la versión del protocolo SSL/TLS en el VDA y el Universal Print Server no coinciden.

Utilice el FQDN del Universal Print Server en las siguientes configuraciones de directiva que contienen nombres de host de Universal Print Server:

  • Impresoras de sesión
  • Asignaciones de impresora
  • Universal Print Servers para equilibrio de carga

Asegúrese de que el reloj del sistema (fecha, hora y zona horaria) sea correcto en los Universal Print Servers y los VDA.