Transport Layer Security (TLS) no Universal Print Server
O protocolo Transport Layer Security (TLS) é compatível com conexões baseadas em TCP entre o Virtual Delivery Agent (VDA) e o Universal Print Server.
Aviso:
Para tarefas que incluem trabalhar no Registro do Windows — editar o Registro incorretamente pode causar sérios problemas que podem exigir a reinstalação do seu sistema operacional. A Citrix® não pode garantir que os problemas resultantes do uso incorreto do Editor do Registro possam ser resolvidos. Use o Editor do Registro por sua conta e risco. Certifique-se de fazer backup do Registro antes de editá-lo.
Tipos de conexões de impressão entre o VDA e o Universal Print Server
Conexões de texto não criptografado
As seguintes conexões relacionadas à impressão se originam do VDA e se conectam a portas no Universal Print Server. Essas conexões são feitas somente quando a configuração de política SSL enabled está definida como Disabled (o padrão).
- Conexões de serviço web de impressão de texto não criptografado (porta TCP 8080)
- Conexões de fluxo de dados de impressão de texto não criptografado (CGP) (porta TCP 7229)
O artigo de suporte da Microsoft Service overview and network port requirements for Windows descreve as portas usadas pelo serviço Microsoft Windows Print Spooler. As configurações de SSL/TLS neste documento não se aplicam às conexões NETBIOS e RPC feitas pelo serviço Windows Print Spooler. O VDA usa o Windows Network Print Provider (win32spl.dll) como fallback se a configuração de política Universal Print Server enable estiver definida como Enabled with fallback to Windows’ native remote printing.

Conexões criptografadas
Essas conexões SSL/TLS relacionadas à impressão se originam do VDA e se conectam a portas no Universal Print Server. Essas conexões são feitas somente quando a configuração de política SSL enabled está definida como Enabled.
- Conexões de serviço web de impressão criptografadas (porta TCP 8443)
- Conexões de fluxo de dados de impressão criptografadas (CGP) (porta TCP 443)

Configuração do cliente SSL/TLS
O VDA funciona como o cliente SSL/TLS.
Use a Microsoft Group Policy e o Registro para configurar o Microsoft SCHANNEL SSP para conexões de serviço web de impressão criptografadas (porta TCP 8443). O artigo de suporte da Microsoft TLS Registry Settings descreve as configurações de Registro para o Microsoft SCHANNEL SSP.
Usando o Group Policy Editor no VDA (Windows Server 2016 ou Windows 10), vá para “Computer Configuration” > “Administrative Templates” > “Network” > “SSL Configuration Settings” > “SSL Cipher Suite Order”. Selecione a seguinte ordem:
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:
Quando essa configuração de Group Policy é configurada, o VDA seleciona um conjunto de cifras para conexões de serviço web de impressão criptografadas (porta padrão: 8443) somente se as conexões aparecerem em ambas as listas de conjuntos de cifras SSL:
- Lista de ordem de conjuntos de cifras SSL da Group Policy
- Lista correspondente à configuração de política “SSL Cipher Suite” selecionada (COM, GOV ou ALL)
Essa configuração de Group Policy também afeta outros aplicativos e serviços TLS no VDA. Se seus aplicativos exigirem conjuntos de cifras específicos, talvez seja necessário adicioná-los a esta lista de ordem de conjuntos de cifras da Group Policy.
Importante:
As alterações da Group Policy para a configuração de TLS só entram em vigor após a reinicialização do sistema operacional.
Use uma política Citrix para configurar as configurações de SSL/TLS para conexões de fluxo de dados de impressão criptografadas (CGP) (porta TCP 443).
Configuração do servidor SSL/TLS
O Universal Print Server funciona como o servidor SSL/TLS.
Use o script PowerShell Enable-UpsSsl.ps1 para configurar as configurações de SSL/TLS.
Instalar o certificado de servidor TLS no Universal Print Server
Para HTTPS, o Universal Print Server oferece suporte a recursos TLS usando certificados de servidor. Certificados de cliente não são usados. Use o Microsoft Active Directory Certificate Services ou outra autoridade de certificação para solicitar um certificado para o Universal Print Server.
Considere o seguinte ao registrar/solicitar um certificado usando o Microsoft Active Directory Certificate Services:
- Coloque o certificado no armazenamento de certificados “Personal” do “Local Computer”.
- Defina o atributo “Common Name” do Subject Distinguished Name (Subject DN) do certificado para o nome de domínio totalmente qualificado (FQDN) do Universal Print Server. Especifique isso no modelo de certificado.
- Defina o Cryptographic Service Provider (CSP) usado para gerar a solicitação de certificado e a chave privada como “Microsoft Enhanced RSA and AES Cryptographic Provider (Encryption)”. Especifique isso no modelo de certificado.
- Defina o “Key Size” para pelo menos 2048 bits. Especifique isso no modelo de certificado.
Configurando SSL no Universal Print Server
O XTE Service no Universal Print Server escuta as conexões de entrada. Ele funciona como um servidor SSL quando o SSL está habilitado. As conexões de entrada têm dois tipos: conexões de serviço web de impressão, que contêm comandos de impressão, e conexões de fluxo de dados de impressão, que contêm trabalhos de impressão. O SSL pode ser habilitado nessas conexões. O SSL protege a confidencialidade e a integridade dessas conexões. Por padrão, o SSL está desabilitado.
O script PowerShell usado para configurar o SSL está na mídia de instalação e tem este nome de arquivo: \Support\Tools\SslSupport\Enable-UpsSsl.ps1.
Configurando números de porta de escuta no Universal Print Server
Estas são as portas padrão para o XTE Service:
- Porta TCP de serviço web de impressão de texto não criptografado (HTTP): 8080
- Porta TCP de fluxo de dados de impressão de texto não criptografado (CGP): 7229
- Porta TCP de serviço web de impressão criptografado (HTTPS): 8443
- Porta TCP de fluxo de dados de impressão criptografado (CGP): 443
Para alterar as portas usadas pelo XTE Service no Universal Print Server, execute os seguintes comandos no PowerShell como administrador (consulte a seção posterior para notas sobre o uso do script PowerShell Enable-UpsSsl.ps1):
Stop-Service CitrixXTEServer, UpSvc-
Enable-UpsSsl.ps1 -Enable -HTTPSPort <port> -CGPSSLPort <port>ouEnable-UpsSsl.ps1 -Disable -HTTPPort <port> -CGPPort <port> Start-Service CitrixXTEServer
Configurações de TLS no Universal Print Server
Se você tiver vários Universal Print Servers em uma configuração de balanceamento de carga, certifique-se de que as configurações de TLS estejam configuradas de forma consistente em todos os Universal Print Servers.
Ao configurar o TLS no Universal Print Server, as permissões no certificado TLS instalado são alteradas, concedendo ao Universal Printing Service acesso de leitura à chave privada do certificado e informando ao Universal Printing Service o seguinte:
- Qual certificado no armazenamento de certificados usar para TLS.
- Quais números de porta TCP usar para conexões TLS.
O Windows Firewall (se habilitado) deve ser configurado para permitir conexões de entrada nessas portas TCP. Essa configuração é feita automaticamente quando você usa o script PowerShell Enable-UpsSsl.ps1.
- Quais versões do protocolo TLS permitir.
O Universal Print Server oferece suporte às versões 1.2, 1.1 e 1.0 do protocolo TLS. Especifique a versão mínima permitida.
A versão padrão do protocolo TLS é 1.2.
- Quais conjuntos de cifras TLS permitir.
Um conjunto de cifras seleciona os algoritmos criptográficos que são usados para uma conexão. VDAs e Universal Print Server podem suportar diferentes conjuntos de cifras. Quando um VDA se conecta e envia uma lista de conjuntos de cifras TLS suportados, o Universal Print Server corresponde um dos conjuntos de cifras do cliente com um dos conjuntos de cifras em sua própria lista de conjuntos de cifras configurados e aceita a conexão. Se não houver um conjunto de cifras correspondente, o Universal Print Server rejeita a conexão.
O Universal Print Server oferece suporte aos seguintes conjuntos de cifras nomeados GOV(ernment), COM(mercial) e ALL para os modos OPEN, FIPS e SP800-52 nativos do Crypto Kit. Os conjuntos de cifras aceitáveis também dependem da configuração de política SSL FIPS Mode e do Windows FIPS Mode. Consulte este artigo de suporte da Microsoft para obter informações sobre o Windows FIPS mode.
| Conjunto de cifras (em ordem decrescente de prioridade) | 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 em um Universal Print Server usando o script PowerShell
Instale o certificado TLS na área “Local Computer” > “Personal” > “Certificates” do armazenamento de certificados. Se mais de um certificado residir nesse local, forneça o thumbprint do certificado ao script PowerShell Enable-UpsSsl.ps1.
Nota:
O script PowerShell encontra o certificado correto com base no FQDN do Universal Print Server. Você não precisa fornecer o thumbprint do certificado quando apenas um único certificado está presente para o FQDN do Universal Print Server.
O script Enable-UpsSsl.ps1 habilita ou desabilita as conexões TLS originadas do VDA para o Universal Print Server. Este script está disponível na pasta “Support” > “Tools” > “SslSupport” na mídia de instalação.
Ao habilitar o TLS, o script desabilita todas as regras existentes do Windows Firewall para as portas TCP do Universal Print Server. Em seguida, ele adiciona novas regras que permitem que o XTE Service aceite conexões de entrada apenas nas portas TCP e UDP TLS. Ele também desabilita as regras do Windows Firewall para:
- Conexões de serviço web de impressão de texto não criptografado (padrão: 8080)
- Conexões de fluxo de dados de impressão de texto não criptografado (CGP) (padrão: 7229)
O efeito é que o VDA pode fazer essas conexões apenas usando TLS.
Nota:
A habilitação do TLS não afeta as conexões RPC/SMB do Windows Print Spooler originadas do VDA e que vão para o Universal Print Server.
Importante:
Especifique Enable ou Disable como o primeiro parâmetro. O parâmetro “CertificateThumbprint” é opcional se apenas um certificado no armazenamento de certificados “Local Computer Personal” tiver o FQDN do Universal Print Server. Os outros parâmetros são opcionais.
Sintaxe
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 | Descrição |
|---|---|
| Enable | Habilita SSL/TLS no XTE Server. Este parâmetro ou o parâmetro “Disable” é obrigatório. |
| Disable | Desabilita SSL/TLS no XTE Server. Este parâmetro ou o parâmetro “Enable” é obrigatório. |
CertificateThumbprint "<thumbprint>"
|
Thumbprint do certificado TLS no armazenamento de certificados “Local Computer Personal”, entre aspas. O script usa o thumbprint especificado para selecionar o certificado que você deseja usar. |
HTTPPort <port>
|
Porta de serviço web de impressão de texto não criptografado (HTTP/SOAP). Padrão: 8080 |
CGPPort <port>
|
Porta de fluxo de dados de impressão de texto não criptografado (CGP). Padrão: 7229 |
HTTPSPort <port>
|
Porta de serviço web de impressão criptografado (HTTPS/SOAP). Padrão: 8443 |
CGPSSLPort <port>
|
Porta de fluxo de dados de impressão criptografado (CGP). Padrão: 443 |
SSLMinVersion "<version>"
|
Versão mínima do protocolo TLS, entre aspas. Valores válidos: “TLS_1.0”, “TLS_1.1” e “TLS_1.2”. Padrão: TLS_1.2. |
SSLCipherSuite “<name>”
|
Nome do pacote de conjunto de cifras TLS, entre aspas. Valores válidos: “GOV”, “COM” e “ALL” (padrão). |
FIPSMode <Boolean>
|
Habilita ou desabilita o modo FIPS 140 no XTE Server. Valores válidos: $true para habilitar o modo FIPS 140, $false para desabilitar o modo FIPS 140. |
Exemplos
O script a seguir habilita o TLS. O thumbprint (representado como “12345678987654321” neste exemplo) é usado para selecionar o certificado a ser usado.
Enable-UpsSsl.ps1 –Enable -CertificateThumbprint "12345678987654321"
O script a seguir desabilita o TLS.
Enable-UpsSsl.ps1 –Disable
Configurando o modo FIPS
A habilitação do modo US Federal Information Processing Standards (FIPS) garante que apenas a criptografia compatível com FIPS 140 seja usada para conexões criptografadas do Universal Print Server.
Configure o modo FIPS no servidor antes de configurar o modo FIPS no cliente.
Consulte o site de documentação da Microsoft para habilitar/desabilitar o modo FIPS do Windows.
Habilitando o modo FIPS no cliente
No Delivery Controller™, execute o Citrix Studio e defina a configuração de política Citrix “SSL FIPS Mode” como “Enabled”. Habilite a política Citrix.
Faça isso em cada VDA:
- Habilite o modo FIPS do Windows.
- Reinicie o VDA.
Habilitando o modo FIPS no servidor
Faça isso em cada Universal Print Server:
- Habilite o modo FIPS do Windows.
- Execute este comando PowerShell como administrador:
stop-service CitrixXTEServer, UpSvc - Execute o script
Enable-UpsSsl.ps1com os parâmetros-Enable -FIPSMode $true. - Reinicie o Universal Print Server.
Desabilitando o modo FIPS no cliente
No Delivery Controller, execute o Citrix Studio e defina a configuração de política Citrix “SSL FIPS Mode” como “Disabled”. Habilite a política Citrix. Você também pode excluir a configuração de política Citrix “SSL FIPS Mode”.
Faça isso em cada VDA:
- Desabilite o modo FIPS do Windows.
- Reinicie o VDA.
Desabilitando o modo FIPS no servidor
Faça isso em cada Universal Print Server:
- Desabilite o modo FIPS do Windows.
- Execute este comando PowerShell como administrador:
stop-service CitrixXTEServer, UpSvc - Execute o script
Enable-UpsSsl.ps1com os parâmetros-Enable -FIPSMode $false. - Reinicie o Universal Print Server.
Configurando a versão do protocolo SSL/TLS
A versão padrão do protocolo SSL/TLS é TLS 1.2. O TLS 1.2 é a única versão de protocolo SSL/TLS recomendada para uso em produção. Para solução de problemas, pode ser necessário alterar temporariamente a versão do protocolo SSL/TLS em um ambiente que não seja de produção.
SSL 2.0 e SSL 3.0 não são suportados no Universal Print Server.
Definindo a versão do protocolo SSL/TLS no servidor
Faça isso em cada Universal Print Server:
- Execute este comando PowerShell como administrador:
stop-service CitrixXTEServer, UpSvc - Execute o script
Enable-UpsSsl.ps1com os parâmetros-Enable -SSLMinVersionversion. Lembre-se de redefinir isso para TLS 1.2 quando terminar os testes. - Reinicie o Universal Print Server.
Definindo a versão do protocolo SSL/TLS no cliente
Faça isso em cada VDA:
-
No Delivery Controller, defina a configuração de política “SSL Protocol Version” para a versão de protocolo desejada e habilite a política.
-
O artigo de suporte da Microsoft TLS Registry Settings descreve as configurações de Registro para o Microsoft SCHANNEL SSP. Habilite o lado do cliente TLS 1.0, TLS 1.1 ou TLS 1.2 usando as configurações de Registro.
Importante:
Lembre-se de restaurar as configurações do Registro para seus valores originais quando terminar os testes.
-
Reinicie o VDA.
Solução de problemas
Se ocorrer um erro de conexão, verifique o arquivo de log C:\Program Files (x86)\Citrix\XTE\logs\error.log no Universal Print Server.
A mensagem de erro “SSL handshake from client failed” aparece neste arquivo de log se o handshake SSL/TLS falhar. Tais falhas podem ocorrer se a versão do protocolo SSL/TLS no VDA e no Universal Print Server não corresponderem.
Use o FQDN do Universal Print Server nas seguintes configurações de política que contêm nomes de host do Universal Print Server:
- “Session printers”
- “Printer assignments”
- “Universal Print Servers for load balancing”
Certifique-se de que o relógio do sistema (data, hora e fuso horário) esteja correto nos Universal Print Servers e nos VDAs.
Neste artigo
- Tipos de conexões de impressão entre o VDA e o Universal Print Server
- Configurando SSL no Universal Print Server
- Configurando números de porta de escuta no Universal Print Server
- Configurações de TLS no Universal Print Server
- Configurando o modo FIPS
- Configurando a versão do protocolo SSL/TLS
- Solução de problemas