Citrix Virtual Apps and Desktops

Protocolo TLS no servidor de impressão universal

O protocolo TLS (Transport Layer Security) é suportado para conexões baseadas em TCP entre o Virtual Delivery Agent (VDA) e o Servidor de impressão universal.

Aviso:

Nas tarefas que incluem trabalhar no registro do Windows, tenha muito cuidado: editar o registro incorretamente pode causar sérios problemas que podem exigir que você reinstale 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. Tenha o cuidado de fazer backup do registro antes de editá-lo.

Tipos de conexões de impressão entre o VDA e o Servidor de impressão universal

Conexões de texto não criptografado

As seguintes conexões relacionadas à impressão são originadas no VDA e se conectam às portas no Servidor de impressão universal. Essas conexões são estabelecidas somente quando a configuração da política SSL habilitado é definida como Desativado (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 (CGP) de texto não criptografado (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 SSL/TLS neste documento não se aplicam às conexões NETBIOS e RPC estabelecidas pelo serviço de Spooler de impressão do Windows. O VDA usa o Provedor de Impressão de Rede do Windows (win32spl.dll) como fallback se a configuração da política de Ativação do Servidor de Impressão Universal estiver definida como Enabled with fallback to Windows’ native remote printing.

servidor de impressão universal seguro

Conexões criptografadas

Essas conexões SSL/TLS relacionadas à impressão são originadas no VDA e se conectam às portas no Servidor de impressão universal. Essas conexões são estabelecidas somente quando a configuração de política SSL habilitado é definida como Ativado.

  • Conexões de serviço Web de impressão criptografadas (porta TCP 8443)
  • Conexões de fluxo de dados de impressão (CGP) criptografadas (porta TCP 443)

servidor de impressão universal seguro 2

Configuração cliente SSL/TLS

O VDA funciona como o cliente SSL/TLS.

Use a Política de Grupo da Microsoft e o registro para configurar o Microsoft SCHANNEL SSP nas conexões de serviço Web de impressão criptografadas (porta TCP 8443). O artigo de suporte da Microsoft Configurações do Registro do protocolo TLS descreve as configurações do registro para Microsoft SCHANNEL SSP.

Usando o Editor de Política de Grupo no VDA (Windows Server 2016 ou Windows 10), vá para Configuração do Computador > Modelos Administrativos > Rede > Definições de configuração de SSL > Ordem do Pacote de Codificação de SSL. Selecione na 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:

Ao estabelecer esta configuração da política de grupo, o VDA seleciona um pacote de codificação de conexões de serviço Web de impressão criptografadas (porta padrão: 8443) somente se as conexões aparecerem nas duas listas do pacote de codificação SSL:

  • Lista ordenada de pacotes de codificação SSL da política de grupo
  • Lista correspondente à configuração da política do Pacote de codificação SSL selecionada (COM, GOV ou ALL)

Essa configuração de política de grupo também afeta outros aplicativos e serviços TLS no VDA. Se seus aplicativos precisarem de pacotes de codificação específicos, será necessário adicioná-los à lista ordenada de pacotes de codificação da política de grupo.

Importante:

As alterações da política de grupo para a configuração TLS entram em vigor somente após a reinicialização do sistema operacional.

Use uma política Citrix para definir as configurações SSL/TLS das conexões criptografadas de fluxo de dados de impressão (CGP) (porta TCP 443).

Configuração de servidor SSL/TLS

O Servidor de Impressão Universal funciona como o servidor SSL/TLS.

Use o script Enable-UpsSsl.ps1 do PowerShell para definir as configurações SSL/TLS.

Instalar o certificado de servidor TLS no servidor de impressão universal

Para HTTPS, o servidor de impressão universal aceita recursos TLS usando certificados de servidor. Os certificados cliente não são usados. 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:

  1. Coloque o certificado no armazenamento de certificados pessoais do computador local.
  2. Configure o atributo de nome comum Common Name do DN (nome diferenciado) da entidade do certificado com o nome de domínio totalmente qualificado (FQDN) do Servidor de Impressão Universal. Especifique isso no modelo de certificado.
  3. Defina o provedor de serviços de criptografia (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.
  4. Defina o tamanho da chave para pelo menos 2048 bits. Especifique isso no modelo de certificado.

Configurar o SSL no servidor de impressão universal

O serviço XTE no servidor de impressão universal 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á desativado.

O script do PowerShell usado para configurar SSL está na mídia de instalação e tem este nome de arquivo: \Support\Tools\SslSupport\Enable-UpsSsl.ps1.

Configurar números de porta de escuta no servidor de impressão universal

Estas são portas padrão para o serviço XTE:

  • 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 (CGP) de texto não criptografado: 7229
  • Porta TCP de serviço Web de impressão criptografada (HTTPS): 8443
  • Porta TCP de fluxo de dados de impressão criptografada (CGP): 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 a seguir para ler as observações sobre o uso do script do PowerShell Enable-UpsSsl.ps1):

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

Configurações de TLS no servidor de impressão universal

Se você tiver vários servidores de impressão universal em uma configuração de balanceamento de carga, certifique-se de que as configurações TLS estejam configuradas de forma consistente em todos os servidores de impressão universal.

Quando você configura o TLS no servidor de impressão universal, as permissões no certificado TLS instalado são alteradas, dando ao serviço de impressão universal acesso de leitura à chave privada do certificado e informando o serviço universal de impressão sobre o seguinte:

  • Qual certificado no armazenamento 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 servidor de impressão universal suporta as 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 pacotes de codificação TLS permitir.

Um pacote de codificação seleciona os algoritmos de criptografia que são usados para uma conexão. Os VDAs e o servidor de impressão universal podem suportar diferentes conjuntos de pacotes de codificação. Quando um VDA se conecta e envia uma lista de pacotes de codificação TLS suportados, o servidor de impressão universal faz a correspondência de um dos pacotes de codificação de cliente com um dos pacotes de codificação em sua própria lista de pacotes de codificação configurados e aceita a conexão. Se não houver um pacote de codificação correspondente, o servidor de impressão universal rejeita a conexão.

O servidor de impressão universal suporta os seguintes conjuntos de pacotes de codificação chamados GOV (governo), COM (comercial) e ALL (todos) para os modos OPEN, FIPS e os modos SP800-52 nativos do Crypto Kit. Os pacotes de codificação aceitáveis também dependem da configuração da política de 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.

Pacote de codificação (em ordem de prioridade decrescente) 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 o TLS em um servidor de impressão universal usando o script do PowerShell

Instale o certificado TLS na área de armazenamento de certificados: Computador local > Pessoal > Certificates. Se mais de um certificado residir nesse local, forneça a impressão digital do certificado para o script Enable-UpsSsl.ps1 do PowerShell.

Nota:

O script do PowerShell encontra o certificado correto com base no FQDN do servidor de impressão universal. Você não precisa fornecer a impressão digital do certificado quando apenas um único certificado estiver presente para o FQDN do servidor de impressão universal.

O script Enable-UpsSsl.ps1 ativa ou desativa as conexões TLS originadas no VDA para o servidor de impressão universal. Esse script está disponível na pasta Support > Tools > SslSupport da mídia de instalação.

Quando você habilita o TLS, o script desativa todas as regras de Firewall do Windows existentes das portas TCP do servidor de impressão universal. Em seguida, adiciona novas regras que permitem que o serviço XTE aceite conexões de entrada somente nas portas TLS TCP e UDP. Também desativa as regras de Firewall do Windows 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 (CGP) de texto não criptografado (padrão: 7229)

O efeito é que o VDA pode fazer essas conexões somente quando utiliza o TLS.

Nota:

Ativar o TLS não afeta as conexões RPC/SMB do Spooler de impressão do Windows originadas no VDA e que seguem para o servidor de impressão universal.

Importante:

Especifique Enable ou Disable como o primeiro parâmetro. O parâmetro CertificateThumbprint é opcional se apenas um certificado no armazenamento de certificados pessoais do computador local tiver o FQDN do servidor de impressão universal. 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 servidor XTE. Esse parâmetro ou o parâmetro Disable é necessário.
Disable Desabilita SSL/TLS no servidor XTE. Esse parâmetro ou o parâmetro Enable é necessário.
CertificateThumbprint "<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.
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 (CGP) de texto não criptografado. Padrão: 7229
HTTPSPort <port> Porta de serviço Web de impressão criptografada (HTTPS/SOAP). Padrão: 8443
CGPSSLPort <port> Porta de fluxo de dados de impressão criptografada (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 codificação TLS, entre aspas. Valores válidos: “GOV”, “COM” e “ALL” (padrão).
FIPSMode <Boolean> Ativa ou desativa 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

Configuração do modo FIPS

Habilitar o modo FIPS (Federal Information Processing Standards) dos EUA garante que apenas a criptografia compatível com FIPS 140 seja usada para conexões criptografadas do servidor de impressão universal.

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.

Habilitar o modo FIPS no cliente

No Delivery Controller, execute o Web Studio e defina a configuração da política SSL FIPS Mode da Citrix como Enabled. Habilite a política da Citrix.

Faça isso em cada VDA:

  1. Habilite o modo FIPS do Windows.
  2. Reinicie o VDA.

Habilitar o modo FIPS no servidor

Faça isso em cada servidor de impressão universal:

  1. Habilite o modo FIPS do Windows.
  2. Execute este comando do PowerShell como administrador: stop-service CitrixXTEServer, UpSvc
  3. Execute o script Enable-UpsSsl.ps1 com os parâmetros -Enable -FIPSMode $true.
  4. Reinicie o servidor de impressão universal.

Desabilitar o modo FIPS no cliente

No Web Studio, defina a configuração da política SSL FIPS Mode da Citrix como Disabled. Habilite a política da Citrix. Você também pode excluir a configuração da política SSL FIPS Mode da Citrix.

Faça isso em cada VDA:

  1. Desabilite o modo FIPS do Windows.
  2. Reinicie o VDA.

Desabilitar o modo FIPS no servidor

Faça isso em cada servidor de impressão universal:

  1. Desabilite o modo FIPS do Windows.
  2. Execute este comando do PowerShell como administrador: stop-service CitrixXTEServer, UpSvc
  3. Execute o script Enable-UpsSsl.ps1 com os parâmetros -Enable -FIPSMode $false.
  4. Reinicie o servidor de impressão universal.

Configurar 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 a solução de problemas, pode ser necessário alterar temporariamente a versão do protocolo SSL/TLS para um ambiente que não seja de produção.

SSL 2.0 e SSL 3.0 não são suportados no servidor de impressão universal.

Definir a versão do protocolo SSL/TLS no servidor

Faça isso em cada servidor de impressão universal:

  1. Execute este comando do PowerShell como administrador: stop-service CitrixXTEServer, UpSvc
  2. Execute o script Enable-UpsSsl.ps1 com os parâmetros de versão -Enable -SSLMinVersion. Lembre-se de reverter para TLS 1.2 quando terminar de testar.
  3. Reinicie o servidor de impressão universal.

Definir a versão do protocolo SSL/TLS no cliente

Faça isso em cada VDA:

  1. No Delivery Controller, defina a configuração da política de SSL Protocol Version como a versão desejada do protocolo e habilite a política.

  2. O artigo de suporte da Microsoft Configurações do Registro do protocolo TLS descreve as configurações do registro para Microsoft SCHANNEL SSP. Habilite TLS 1.0, TLS 1.1 ou TLS 1.2 do lado do cliente usando as configurações do registro.

    Importante:

    Lembre-se de restaurar as configurações do registro para seus valores originais quando terminar o teste.

  3. 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 servidor de impressão universal.

A mensagem de erro SSL handshake from client failed aparece no arquivo de log se o handshake SSL/TLS falhar. Tais falhas podem ocorrer se as versões do protocolo SSL/TLS no VDA e no servidor de impressão universal 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:

  • Session printers
  • Printer assignments
  • Universal Print Servers for load balancing

Assegure-se de que o clock do sistema (data, hora e fuso horário) esteja correto nos servidores de impressão universal e nos VDAs.