Protocolo TLS en Universal Print Server
El protocolo Transport Layer Security (TLS) se admite para conexiones TCP entre el Virtual Delivery Agent (VDA) y el Universal Print Server.
Advertencia:
Para las tareas que impliquen modificar el Registro de Windows, tenga cuidado: si se modifica de forma incorrecta, pueden producirse problemas graves que obliguen a reinstalar el sistema operativo. Citrix no puede garantizar que los problemas derivados de la utilización inadecuada del Editor del Registro puedan resolverse. Si utiliza el Editor del Registro, será bajo su propia responsabilidad. Haga una copia de seguridad del Registro antes de modificarlo.
Tipos de conexiones de impresión entre el VDA y el Universal Print Server
Conexiones de texto no cifrado
Las siguientes conexiones relacionadas con la impresión se originan en el VDA y se conectan a los puertos del Universal Print Server. Esas conexiones se realizan solo cuando la configuración de directiva Habilitado para SSL está inhabilitada (el valor predeterminado).
- Conexiones del servicio web de impresión para texto no cifrado (puerto TCP 8080)
- Conexiones del flujo de datos de impresión (CGP) para texto no cifrado (puerto TCP 7229)
En el artículo Introducción a los servicios y requisitos de puerto de red para Windows de asistencia de Microsoft, se describen los puertos que utiliza el administrador de trabajos de impresión de Microsoft Windows, el servicio Print Spooler. La configuración de SSL/TLS de este documento no se aplica a las conexiones NetBIOS y RPC realizadas por el servicio Print Spooler de Windows. El VDA utiliza el proveedor de impresión de red de Windows (win32spl.dll) como alternativa si la configuración de directiva Habilitar Universal Print Server se ha establecido en Habilitado, con opción de reserva de la impresión remota nativa de Windows.
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. Esas conexiones se realizan solo cuando la configuración de directiva Habilitado para SSL está habilitada.
- Conexiones cifradas del servicio web de impresión (puerto TCP 8443)
- Conexiones cifradas del flujo de datos de impresión o CGP (puerto TCP 443)
Configuración de SSL/TLS del cliente
El VDA funciona como el cliente de SSL/TLS.
Utilice la directiva de grupo de Microsoft y el Registro para configurar Microsoft SCHANNEL SSP en las conexiones cifradas del servicio web de impresión (puerto TCP 8443). El artículo de asistencia de Microsoft TLS Registry Settings (Configuración del Registro para TLS) describe la configuración del Registro para Microsoft SCHANNEL SSP.
En el Editor de directivas de grupo del VDA (Windows Server 2016 o Windows 10), vaya a Configuración del equipo > Plantillas administrativas > Red > Opciones de configuración SSL > Orden de conjuntos de cifrado SSL. Seleccione el orden siguiente:
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:
Al establecer la configuración de esta directiva de grupo, el VDA selecciona un conjunto de cifrado para las conexiones cifradas del servicio web de impresión (puerto predeterminado: 8443) solo si las conexiones aparecen en las listas de conjuntos de cifrado SSL:
- Lista ordenada de conjuntos de cifrado SSL de directiva de grupo
- Lista correspondiente a la configuración de la directiva 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 del VDA. Si sus aplicaciones requieren conjuntos de cifrado determinados, puede que deba agregarlos a la lista ordenada de conjuntos de cifrado de esta directiva de grupo.
Importante:
Los cambios de directiva de grupo para la configuración de TLS solo surten efecto después de reiniciar el sistema operativo.
Utilice una directiva de Citrix para establecer la configuración de SSL/TLS en conexiones cifradas del flujo de datos de impresión o CGP (puerto TCP 443).
Configuración de SSL/TLS del servidor
Universal Print Server funciona como el servidor de SSL/TLS.
Utilice el script de PowerShell Enable-UpsSsl.ps1
para establecer la configuración de SSL/TLS.
Instalar el certificado del servidor de TLS en Universal Print Server
Para HTTPS, Universal Print Server admite las funciones de TLS mediante certificados de servidor. Los certificados de cliente no se utilizan. Use los Servicios de certificados de Microsoft Active Directory u otra entidad de certificación con el fin de solicitar un certificado para Universal Print Server.
Tenga en cuenta las siguientes consideraciones al inscribir o solicitar un certificado mediante los Servicios de certificados de Microsoft Active Directory:
- Coloque el certificado en el almacén de certificados personal del equipo local.
- Asigne al atributo Common Name (Nombre común) de Subject Distinguished Name o Subject DN (Nombre distintivo del sujeto) del certificado el nombre de dominio completo (FQDN) de Universal Print Server. Especifique esto en la plantilla de certificado.
- Establezca el proveedor de servicios de cifrado (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.
- Establezca el tamaño de la clave en, al menos, 2048 bits. Especifique esto en la plantilla de certificado.
Configurar SSL en Universal Print Server
El servicio XTE de Universal Print Server escucha las conexiones entrantes. Funciona como un servidor de SSL cuando SSL está habilitado. Las conexiones entrantes son de dos tipos: conexiones del servicio web de impresión, que contienen comandos de impresión, y conexiones del flujo de datos de impresión, que contienen trabajos de impresión. SSL se puede habilitar en estas conexiones. SSL protege la confidencialidad y la integridad de estas conexiones. De forma predeterminada, SSL está inhabilitado.
El script de PowerShell utilizado para configurar SSL se encuentra en los medios de instalación y su nombre de archivo es: \Support\Tools\SslSupport\Enable-UpsSsl.ps1.
Configurar números de puerto de escucha en Universal Print Server
Estos son los puertos predeterminados del servicio XTE:
- Puerto TCP del servicio web de impresión (HTTP) para texto no cifrado: 8080
- Puerto TCP del flujo de datos de impresión (CGP) para texto no cifrado: 7229
- Puerto TCP del servicio web de impresión cifrado (HTTPS): 8443
- Puerto TCP del flujo de datos de impresión (CGP) cifrado: 443
Para cambiar los puertos utilizados por el servicio XTE en Universal Print Server, ejecute los siguientes comandos en PowerShell como administrador (consulte la siguiente sección para ver comentarios sobre el uso del script de PowerShell Enable-UpsSsl.ps1):
Stop-Service CitrixXTEServer, UpSvc
-
Enable-UpsSsl.ps1 -Enable -HTTPSPort <port> -CGPSSLPort <port>
oEnable-UpsSsl.ps1 -Disable -HTTPPort <port> -CGPPort <port>
Start-Service CitrixXTEServer
Configuración de TLS en Universal Print Server
Si tiene varios servidores Universal Print Server en una configuración con equilibrio de carga, asegúrese de que la configuración de TLS sea coherente en todos los servidores Universal Print Server.
Al configurar TLS en Universal Print Server, los permisos del certificado de TLS instalado cambian, lo que da a Universal Printing Service acceso de lectura a la clave privada del certificado y le informa de lo siguiente:
- Qué certificado del almacén de certificados hay que usar para TLS.
- Qué números de puerto TCP hay que usar para las conexiones TLS.
El Firewall de Windows (si está habilitado) debe estar configurado para permitir conexiones entrantes en estos puertos TCP. Esta configuración se lleva a cabo cuando se usa el script de PowerShell Enable-UpsSsl.ps1.
- Qué versiones del protocolo TLS se deben permitir.
Universal Print Server admite las versiones de protocolo TLS 1.2, 1.1 y 1.0. Especifique la versión mínima permitida.
La versión predeterminada del protocolo TLS es 1.2.
- 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 varios grupos diferentes de conjuntos de cifrado. Cuando un VDA se conecta y envía una lista de los conjuntos de cifrado TLS admitidos, Universal Print Server asigna uno de los conjuntos de cifrado del cliente a uno de los conjuntos de cifrado de su propia lista de conjuntos de cifrado configurados y acepta la conexión. Si no encaja ningún conjunto de cifrado, Universal Print Server rechaza la conexión.
El servidor de impresión universal Universal Print Server admite los siguientes conjuntos de cifrado denominados GOV (gubernamental), COM (comercial) y ALL para los modos OPEN, FIPS y los modos nativos SP800-52 del kit Crypto. Los conjuntos de cifrado aceptables también dependen de la configuración de directiva Modo FIPS de SSL y del modo FIPS de Windows. Consulte este artículo de asistencia 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 servidor Universal Print Server mediante el script de PowerShell
Instale el certificado TLS en Equipo local > Personal > área 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 Enable-UpsSsl.ps1
de PowerShell.
Nota:
El script de PowerShell busca el certificado correcto basándose en el FQDN de Universal Print Server. No hace falta agregar la huella digital del certificado cuando existe solo un certificado para el FQDN de Universal Print Server.
El script Enable-UpsSsl.ps1
habilita o inhabilita las conexiones TLS procedentes del VDA y dirigidas a Universal Print Server. Este script está disponible en la carpeta Support > Tools > SslSupport de los medios de instalación.
Al habilitar TLS, el script inhabilita todas las reglas de Firewall de Windows para los puertos TCP de Universal Print Server. A continuación, agrega nuevas reglas que permiten al servicio XTE aceptar conexiones entrantes solo en los puertos UDP y TCP de TLS. También inhabilita las reglas de Firewall de Windows para:
- Conexiones del servicio web de impresión para texto no cifrado (puerto predeterminado: 8080)
- Conexiones del flujo de datos de impresión (CGP) para texto no cifrado (puerto predeterminado: 7229)
La consecuencia es que los VDA pueden realizar estas conexiones solamente al utilizar TLS.
Nota:
Habilitar TLS no afecta a las conexiones RPC/SMB del servicio Print Spooler de Windows procedentes del VDA y dirigidas a Universal Print Server.
Importante:
Especifique Enable o Disable como primer parámetro. El parámetro CertificateThumbprint es opcional si solamente hay un certificado del almacén de certificados de la carpeta Personal del equipo local con el FQDN de Universal Print Server. 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 |
---|---|
Enable | Habilita SSL/TLS en XTE Server. Este parámetro o el parámetro Disable es obligatorio. |
Disable | Inhabilita SSL/TLS en XTE Server. Este parámetro o el parámetro Enable es obligatorio. |
CertificateThumbprint "<thumbprint>"
|
Huella digital del certificado TLS en el almacén de certificados de la carpeta Personal del equipo local, indicada entre comillas. El script utiliza la huella digital especificada para seleccionar el certificado a utilizar. |
HTTPPort <port>
|
Puerto del servicio web de impresión (HTTP/SOAP) para texto no cifrado. Predeterminado: 8080 |
CGPPort <port>
|
Puerto del flujo de datos de impresión (CGP) para texto no cifrado. Predeterminado: 7229 |
HTTPSPort <port>
|
Puerto del servicio web de impresión (HTTPS/SOAP) cifrado. Predeterminado: 8443 |
CGPSSLPort <port>
|
Puerto del flujo de datos de impresión (CGP) cifrado. Valor predeterminado: 443 |
SSLMinVersion "<version>"
|
Versión mínima del protocolo TLS, indicada entre comillas. Valores válidos: “TLS_1.0”, “TLS_1.1” y “TLS_1.2”. Predeterminado: TLS_1.2. |
SSLCipherSuite “<name>”
|
Nombre del paquete del conjunto de cifrado TLS, indicado entre comillas. Valores válidos: “GOV”, “COM” y “ALL” (valor predeterminado). |
FIPSMode <Boolean>
|
Habilita o inhabilita el modo FIPS 140 en XTE Server. Valores válidos: $true para habilitar el modo FIPS 140, $false para inhabilitar 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 utilizará.
Enable-UpsSsl.ps1 –Enable -CertificateThumbprint "12345678987654321"
El siguiente script inhabilita TLS.
Enable-UpsSsl.ps1 –Disable
Configurar el modo FIPS
Habilitar los Estándares federal de procesamiento de información (o modo FIPS) de Estados Unidos garantiza el uso exclusivo de criptografía que cumpla los estándares FIPS 140 en las conexiones cifradas de Universal Print Server.
Configure el modo FIPS en el servidor antes de configurarlo en el cliente.
Consulte el sitio web de la documentación de Microsoft para habilitar o inhabilitar el modo FIPS de Windows.
Habilitar el modo FIPS en el cliente
En Delivery Controller, ejecute Citrix Studio y establezca la configuración de directiva de Citrix Modo FIPS de SSL como Habilitada. Habilite la directiva de Citrix.
Haga esto en cada VDA:
- Habilite el modo FIPS de Windows.
- Reinicie el VDA.
Habilitar el modo FIPS en el servidor
Haga esto en cada servidor Universal Print Server:
- Habilite el modo FIPS de Windows.
- Ejecute este comando de PowerShell como administrador:
stop-service CitrixXTEServer, UpSvc
- Ejecute el script
Enable-UpsSsl.ps1
con los parámetros-Enable -FIPSMode $true
. - Reinicie Universal Print Server.
Inhabilitar el modo FIPS en el cliente
En Delivery Controller, ejecute Citrix Studio y establezca la configuración de directiva de Citrix Modo FIPS de SSL como Inhabilitada. Habilite la directiva de Citrix. También puede eliminar la configuración de directiva de Citrix Modo FIPS de SSL.
Haga esto en cada VDA:
- Inhabilite el modo FIPS de Windows.
- Reinicie el VDA.
Inhabilitar el modo FIPS en el servidor
Haga esto en cada servidor Universal Print Server:
- Inhabilite el modo FIPS de Windows.
- Ejecute este comando de PowerShell como administrador:
stop-service CitrixXTEServer, UpSvc
- Ejecute el script
Enable-UpsSsl.ps1
con los parámetros-Enable -FIPSMode $false
. - Reinicie Universal Print Server.
Configurar la versión del protocolo SSL/TLS
La versión predeterminada del protocolo SSL/TLS es TLS 1.2. TLS 1.2 es la única versión recomendada del protocolo SSL/TLS para su uso en producción. Para solucionar problemas que pueda haber, es posible que deba cambiar temporalmente la versión del protocolo SSL/TLS a un entorno que no sea de producción.
SSL 2.0 y SSL 3.0 no se admiten en Universal Print Server.
Configurar la versión del protocolo SSL/TLS en el servidor
Haga esto en cada servidor Universal Print Server:
- Ejecute este comando de PowerShell como administrador:
stop-service CitrixXTEServer, UpSvc
- Ejecute el script
Enable-UpsSsl.ps1
con los parámetros de versión-Enable -SSLMinVersion
. Recuerde volver a revertir esto a “TLS 1.2” cuando haya terminado las pruebas. - Reinicie Universal Print Server.
Configurar la versión del protocolo SSL/TLS en el cliente
Haga esto en cada VDA:
1. En Delivery Controller, asigne la versión de protocolo deseada en la configuración de directiva Versión de protocolo SSL y habilite la directiva.
2. El artículo de asistencia de Microsoft TLS Registry Settings (Configuración del Registro para TLS) describe la configuración del Registro para Microsoft SCHANNEL SSP. Habilite TLS 1.0, TLS 1.1 o TLS 1.2 en el cliente mediante la configuración del Registro.
Importante:
No se olvide de revertir la configuración del Registro a sus valores originales cuando haya terminado las pruebas.
3. Reinicie el VDA.
Solución de problemas
Si se produce un error de conexión, compruebe el archivo de registros C:\Archivos de programa (x86)\Citrix\XTE\logs\error.log de Universal Print Server.
Si el protocolo de enlace SSL/TLS falla, aparece el mensaje de error SSL handshake from client failed en este archivo de registro. Errores como este pueden producirse si la versión del protocolo SSL/TLS del VDA y la de Universal Print Server no coinciden.
Utilice el FQDN de Universal Print Server en la siguiente configuración de directiva que contiene nombres de host de Universal Print Server:
- Impresoras de la sesión
- Asignaciones de impresora
- Universal Print Servers para equilibrio de carga
Compruebe que el reloj del sistema (fecha, hora y zona horaria) esté bien configurado en los servidores Universal Print Server y en los VDA.
En este artículo
- Tipos de conexiones de impresión entre el VDA y el Universal Print Server
- Configurar SSL en Universal Print Server
- Configurar números de puerto de escucha en Universal Print Server
- Configuración de TLS en Universal Print Server
- Configurar el modo FIPS
- Configurar la versión del protocolo SSL/TLS
- Solución de problemas