Segurança da Camada de Transporte (TLS) no Servidor de Impressão Universal
O protocolo Transport Layer Security (TLS) é suportado para 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, editá-lo incorretamente pode causar problemas sérios que podem exigir a reinstalação do sistema operacional. A Citrix não pode garantir que problemas resultantes do uso incorreto do Editor do Registro possam ser resolvidos. Use o Editor do Registro por sua conta e risco. Não deixe 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 simples
As seguintes conexões relacionadas à impressão se originam do VDA e se conectam às portas do Universal Print Server. Essas conexões são feitas somente quando a configuração de política SSL habilitado está definida como Desabilitado (o padrão).
- Conexões de serviço web de impressão em 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 Visão geral do serviço e requisitos de porta de rede para Windows descreve as portas usadas pelo Serviço de Spooler de Impressão do Microsoft Windows. As configurações de SSL/TLS neste documento não se aplicam às conexões NetBIOS e RPC feitas pelo serviço Spooler de Impressão do Windows. 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’ 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 habilitado está definida como Habilitado.
- Conexões de serviço web de impressão criptografadas (porta TCP 8443)
- Conexões de fluxo de dados de impressão criptografados (CGP) (porta TCP 443)
Configuração do cliente SSL/TLS
O VDA funciona como cliente SSL/TLS.
Use a Política de Grupo da Microsoft 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 Configurações do Registro TLS descreve as configurações do registro para o Microsoft SCHANNEL SSP.
Usando o Editor de Política de Grupo no VDA, vá para Configuração do Computador > Modelos Administrativos > Rede > Definições de Configuração SSL > Ordem do Conjunto de Cifras SSL. Selecione a seguinte ordem quando o TLS 1.3 estiver definido:
TLS_AES_256_GCM_SHA384 TLS_AES_128_GCM_SHA256
Selecione a seguinte ordem quando o TLS 1.2 estiver definido:
TLS_ECDHE_RSA_COM_AES_256_GCM_SHA384_P384 TLS_ECDHE_RSA_COM_AES_256_GCM_SHA384_P256 TLS_ECDHE_RSA_COM_AES_256_CBC_SHA384_P384 TLS_ECDHE_RSA_COM_AES_256_CBC_SHA384_P256 TLS_ECDHE_RSA_COM_AES_128_CBC_SHA_P384 TLS_ECDHE_RSA_COM_AES_128_CBC_SHA_P256
Observação:
Quando esta configuração de Política de Grupo é definida, 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 do conjunto de cifras SSL da Política de Grupo
- Lista correspondente à configuração de política do conjunto de criptografia SSL selecionada (COM, GOV ou ALL)
Esta configuração de Política de Grupo 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 Conjunto de Cifras de Política de Grupo.
Importante:
As alterações da Política de Grupo para configuração de TLS entram em vigor somente após a reinicialização do sistema operacional.
Use uma política da Citrix para configurar as definições de SSL/TLS para conexões de fluxo de dados de impressão criptografados (CGP) (porta TCP 443).
Configuração do servidor SSL/TLS
O Universal Print Server funciona como um servidor SSL/TLS.
Use o script do PowerShell Enable-UpsSsl.ps1
para configurar as definições de SSL/TLS.
Instalar o certificado do servidor TLS no Servidor de Impressão Universal
Para HTTPS, você deve instalar um certificado de servidor SSL no Universal Print Server que seja confiável pelos VDAs. Use os Serviços de Certificados do Microsoft Active Directory ou outra autoridade de certificação para solicitar um certificado para o Servidor de Impressão Universal.
Tenha em mente as seguintes considerações ao registrar/solicitar um certificado usando os Serviços de Certificados do Microsoft Active Directory:
- Coloque o certificado no armazenamento de certificados do Computador local Pessoal .
- Defina o atributo Nome comum do Nome distinto do assunto (DN do assunto) do certificado como o nome de domínio totalmente qualificado (FQDN) do Servidor de impressão universal. Especifique isso no modelo de certificado.
- Defina o Provedor de Serviços Criptográficos (CSP) usado para gerar a solicitação de certificado e a chave privada como Provedor Criptográfico RSA e AES Aprimorado da Microsoft (Criptografia). Especifique isso no modelo de certificado.
- Defina o tamanho da chave para pelo menos 2048 bits. Especifique isso no modelo de certificado.
Para obter mais informações sobre como criar e instalar certificados, consulte Gerenciar certificados.
Configurando SSL no Servidor de Impressão Universal
O serviço XTE no servidor de impressão universal escuta 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 do 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 Servidor de Impressão Universal
Estas são as portas padrão para o serviço XTE:
- Serviço web de impressão de texto não criptografado (HTTP) Porta TCP: 8080
- Fluxo de dados de impressão em texto não criptografado (CGP) Porta TCP: 7229
- Serviço web de impressão criptografada (HTTPS) Porta TCP: 8443
- Fluxo de dados de impressão criptografados (CGP) Porta TCP: 443
Para alterar as portas usadas pelo Serviço XTE no Servidor de Impressão Universal, execute os seguintes comandos no PowerShell como administrador (consulte a seção posterior para obter notas sobre o uso do script Enable-UpsSsl.ps1 do PowerShell):
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 servidores de impressão universais em uma configuração com balanceamento de carga, certifique-se de que as configurações TLS estejam definidas de forma consistente em todos os servidores de impressão universais.
Quando você configura o TLS no Universal Print Server, as permissões no certificado TLS instalado são alteradas, dando ao Universal Printing Service acesso de leitura à chave privada do certificado e informando ao Universal Printing Service o seguinte:
- Qual certificado no repositório de certificados usar para TLS.
- Quais números de porta TCP usar para conexões TLS.
O Firewall do Windows (se ativado) deve ser configurado para permitir conexões de entrada nessas portas TCP. Essa configuração é feita para você quando você usa o script Enable-UpsSsl.ps1 do PowerShell.
- Quais versões do protocolo TLS permitir.
O Universal Print Server suporta as versões 1.3 e 1.2 do protocolo TLS. Especifique a versão mínima permitida.
A versão padrão do protocolo TLS é 1.2.
Observação:
TLS 1.1 e 1.0 não são mais suportados pelo Citrix Virtual Apps and Desktops versão 2311.
- 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 conjuntos de cifras. Quando um VDA se conecta e envia uma lista de conjuntos de cifras TLS suportados, o Universal Print Server compara 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 rejeitará a conexão.
O Universal Print Server oferece suporte aos seguintes conjuntos de conjuntos de cifras denominados GOV(ernment), COM(mercial) e ALL para os modos nativos do Crypto Kit OPEN, FIPS e SP800-52. Os conjuntos de criptografia aceitáveis também dependem da configuração de política Modo SSL FIPS e do Modo FIPS do Windows. Consulte este artigo de suporte da Microsoft para obter informações sobre o modo FIPS do Windows.
Conjunto de cifras (em ordem de prioridade decrescente) | ABRIR TUDO | COM ABERTO | GOVERNO ABERTO | FIPS TUDO | FIPS COM | FIPS GOV | SP800-52 TODOS | 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 servidor de impressão universal usando o script do PowerShell
Instale o certificado TLS na área Computador local > Pessoal > Certificados do armazenamento de certificados. Se mais de um certificado residir nesse local, forneça a impressão digital do certificado ao script do PowerShell Enable-UpsSsl.ps1
.
Observação:
O script do PowerShell encontra o certificado correto com base no FQDN do Universal Print Server. Não é necessário fornecer a impressão digital do certificado quando houver apenas um único certificado presente para o FQDN do Universal Print Server.
O script Enable-UpsSsl.ps1
habilita ou desabilita 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.
Quando você habilita o TLS, o script desabilita todas as regras existentes do Firewall do Windows para as portas TCP do Servidor de Impressão Universal. Em seguida, ele adiciona novas regras que permitem que o Serviço XTE aceite conexões de entrada somente nas portas TLS TCP e UDP. Ele também desabilita as regras do Firewall do Windows para:
- Conexões de serviço da web de impressão em 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 só pode fazer essas conexões ao usar TLS.
Observação:
A ativação do TLS não afeta as conexões RPC/SMB do Spooler de Impressão do Windows originadas do VDA e indo para o Servidor de Impressão Universal.
Importante:
Especifique Habilitar ou Desabilitar como o primeiro parâmetro. O parâmetro CertificateThumbprint será opcional se apenas um certificado no armazenamento de certificados pessoais do computador local 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 | |
---|---|---|
Habilitar | Habilita SSL/TLS no servidor XTE. Este parâmetro ou o parâmetro Disable é necessário. | |
Desabilitar | Desabilita SSL/TLS no servidor XTE. Este parâmetro ou o parâmetro Enable é necessário. | |
Impressão digital do certificado "<thumbprint>"
|
Impressão digital do certificado TLS no armazenamento de certificados pessoais do computador local, entre aspas. O script usa a impressão digital especificada para selecionar o certificado que você deseja usar. | |
Porta HTTP <port>
|
Porta de serviço web de impressão de texto não criptografado (HTTP/SOAP). Padrão: 8080 | |
Porta CGP <port>
|
Porta de fluxo de dados de impressão em texto não criptografado (CGP). Padrão: 7229 | |
Porta HTTPS <port>
|
Porta de serviço web de impressão criptografada (HTTPS/SOAP). Padrão: 8443 | |
Porta CGPSSL <port>
|
Porta de fluxo de dados de impressão criptografados (CGP). Padrão: 443 | |
Versão SSLMin "<version>"
|
Versão mínima do protocolo TLS, entre aspas. Valores válidos: “TLS_1.2” e “TLS_1.3”. 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). | |
Modo FIPS <Boolean>
|
Habilita ou desabilita o modo FIPS 140 no servidor XTE. 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. A impressão digital (representada como “12345678987654321” neste exemplo) é usada 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
Habilitar o modo FIPS (Padrões Federais de Processamento de Informações) dos EUA garante que somente 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 Web Studio e defina a configuração de política UPS FIPS Mode Citrix como Enabled. Habilite a política da 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 servidor de impressão universal:
- Habilite o modo FIPS do Windows.
- Execute este comando do PowerShell como administrador:
stop-service CitrixXTEServer, UpSvc
- Execute o script
Enable-UpsSsl.ps1
com os parâmetros-Enable -FIPSMode $true
. - Reinicie o Universal Print Server.
Desabilitando o modo FIPS no cliente
No Web Studio, defina a configuração de política UPS FIPS Mode Citrix como Disabled. Habilite a política da Citrix. Você também pode excluir a configuração de política UPS FIPS Mode Citrix.
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 servidor de impressão universal:
- Desabilite o modo FIPS do Windows.
- Execute este comando do PowerShell como administrador:
stop-service CitrixXTEServer, UpSvc
- Execute o script
Enable-UpsSsl.ps1
com os parâmetros-Enable -FIPSMode $false
. - Reinicie o Universal Print Server.
Observação:
O modo FIPS não é suportado quando a versão do protocolo SSL está definida como TLS 1.3.
Configurando a versão do protocolo SSL/TLS
A versão padrão do protocolo SSL/TLS é TLS 1.2. TLS 1.2 e TLS 1.3 são as versões de protocolo SSL/TLS recomendadas 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.
Configurando a versão do protocolo SSL/TLS no servidor
No Studio, defina a configuração de política Versão do protocolo SSL para a versão do protocolo desejada e habilite a política.
Certifique-se de que o sistema operacional do VDA seja compatível com a versão TLS selecionada. Para versões de TLS suportadas no Windows, consulte Microsoft Learn - Suporte à versão do protocolo TLS. Para configurar o registro para substituir os padrões, consulte Microsoft Learn - Configurações de versão do protocolo TLS, DTLS e SSL.
Configurando 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 Configurações do Registro TLS descreve as configurações do registro para o Microsoft SCHANNEL SSP. Habilitar o lado do cliente TLS 1.2 ou TLS 1.3 usando as configurações do registro.
Importante:
Lembre-se de restaurar as configurações do registro aos valores originais quando terminar o teste.
-
Reinicie o VDA.
Solução de problemas
Se ocorrer um erro de conexão, verifique o arquivo C:\Program Files (x86)\Citrix\XTE\logs\error.log no Universal Print Server.
A mensagem de erro Falha no handshake SSL do cliente aparece neste arquivo de log se o handshake SSL/TLS falhar. Essas 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 Servidor de Impressão Universal nas seguintes configurações de política que contêm nomes de host do Servidor de Impressão Universal:
- Impressoras de sessão
- Atribuições de impressora
- Servidores de impressão universais para balanceamento de carga
Certifique-se de que o relógio do sistema (data, hora e fuso horário) esteja correto nos servidores de impressão universais e nos VDAs.
Neste artigo
- Tipos de conexões de impressão entre o VDA e o Universal Print Server
- Configurando SSL no Servidor de Impressão Universal
- Configurando números de porta de escuta no Servidor de Impressão Universal
- Configurações de TLS no Universal Print Server
- Configurando o modo FIPS
- Configurando a versão do protocolo SSL/TLS
- Solução de problemas