Habilitar TLS em Delivery Controllers

Para habilitar o TLS em um delivery controller™, você deve:

Solicitando e instalando um certificado

Para usar o TLS, você deve instalar um certificado cujo Nome Alternativo inclua o FQDN do DDC. Você deve criar um certificado adequado. Isso pode ser feito usando uma Autoridade de Certificação Microsoft ou outras autoridades de certificação internas ou externas.

Criar certificado usando a Autoridade de Certificação Microsoft

Se a Autoridade de Certificação Microsoft estiver integrada a um domínio do Active Directory ou à floresta confiável à qual os Delivery Controllers estão conectados, você poderá adquirir um certificado do assistente de Registro de Certificado do snap-in Certificados do MMC. A Autoridade de Certificação Microsoft precisa ter um modelo de certificado publicado adequado para uso por servidores web. Se você estiver usando um Citrix Gateway ou um servidor StoreFront™ em um domínio diferente, será necessário exportar o Certificado da Autoridade de Certificação Raiz e importá-lo para o Citrix Gateway e o StoreFront.

  1. No Delivery Controller, abra o console MMC e adicione o snap-in Certificados. Quando solicitado, selecione Conta de computador.

  2. Expanda Pessoal > Certificados e, em seguida, use o comando do menu de contexto Todas as Tarefas > Solicitar Novo Certificado.

    Snap-in de Certificados do MMC

  3. Clique em Avançar para começar e em Avançar para confirmar que você está adquirindo o certificado do registro do Active Directory.

  4. Selecione um modelo adequado, como Servidor Web Exportável. Se o modelo tiver sido configurado para fornecer automaticamente os valores para Assunto, você pode clicar em Registrar sem fornecer mais detalhes.

    Caixa de diálogo Solicitar certificados

  5. Para fornecer mais detalhes para o modelo de certificado, clique no botão de seta Detalhes e configure o seguinte:

    Nome do assunto: selecione Nome Comum e adicione o FQDN do Delivery Controller.

    Nome alternativo: selecione DNS e adicione o FQDN do Delivery Controller.

    Propriedades do certificado

  6. Pressione OK.

  7. Pressione Registrar para criar e instalar o certificado

Instalar arquivo de certificado existente

Se você tiver um certificado existente como um arquivo, poderá instalá-lo:

  1. No Delivery Controller, abra o console MMC e adicione o snap-in Certificados. Quando solicitado, selecione Conta de computador.

  2. Expanda Pessoal > Certificados, em seguida, use o comando de menu de contexto Todas as Tarefas > Importar.

  3. Procure o arquivo de certificado.

Configurando a porta do ouvinte SSL/TLS

Se o componente IIS do Windows estiver instalado no mesmo servidor, que é instalado como parte do Web Studio e do Director, você pode configurar o TLS usando o IIS. Para obter mais informações, consulte Habilitar TLS no Web Studio e Director. Caso contrário, para configurar o certificado usando o PowerShell:

  1. Para verificar se há um certificado existente vinculado, abra um prompt de comando e execute netsh http show sslcert:

    netsh http show sslcert
    <!--NeedCopy-->
    
  2. Se houver uma associação existente, exclua-a.

    netsh http delete sslcert ipport=0.0.0.0:443
    <!--NeedCopy-->
    

    Substituindo 0.0.0.0:443 por um endereço IP e porta específicos, se houver um especificado na associação existente.

  3. Encontre o thumbprint do certificado que você instalou anteriormente. Para visualizar o thumbprint, abra Gerenciar certificados do computador, navegue até o certificado, abra-o e vá para a guia Detalhes.

    Captura de tela das propriedades do certificado mostrando o thumbprint

    Alternativamente, você pode usar o PowerShell. Por exemplo, o script a seguir procura um certificado cujo nome comum corresponde ao nome do host do servidor e imprime o thumbprint:

    $HostName = ([System.Net.Dns]::GetHostByName(($env:computerName))).Hostname
    $Thumbprint = (Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.Subject -match ("CN=" + $HostName)}).Thumbprint -join ';'
    Write-Host -Object "Certificate Thumbprint for $($HostName): $($Thumbprint)" -Foreground Yellow
    <!--NeedCopy-->
    

    Se o nome comum do certificado não corresponder aos nomes de host, isso falhará. Se houver vários certificados para o nome do host, isso retornará vários thumbprints concatenados e você deverá escolher o thumbprint apropriado.

    O exemplo a seguir procura um certificado pelo nome amigável:

    $friendlyName = "My certificate name"
    $Thumbprint = (Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.FriendlyName -eq $friendlyNam}).Thumbprint -join ';'
    Write-Host -Object "Certificate Thumbprint for $friendlyName: $($Thumbprint)" -Foreground Yellow
    <!--NeedCopy-->
    

    Se houver vários certificados com o nome amigável especificado, isso retornará vários thumbprints concatenados e você deverá escolher o thumbprint apropriado.

  4. Para vincular o certificado à porta, use o comando netsh http add sslcert:

    netsh http add sslcert ipport=[IP address]:443 certhash=[certificate hash] appid=[application GUID] disablelegacytls=enable
    <!--NeedCopy-->
    
    • ipport: O endereço IP e a porta. Usar 0.0.0.0:443 aplica isso a todos os endereços IP. Você pode, em vez disso, especificar um endereço IP específico.

    • certhash: O thumbprint do certificado que você identificou na etapa anterior.

    • appid: O GUID do Citrix Broker Service.

      Nota:

      Ao renovar um certificado ou refazer a vinculação, use o appid específico associado ao Broker Service em vez de um GUID arbitrário.

      Para encontrar o appid correto para o Citrix Broker Service:

      1. Abra uma janela de comando do PowerShell como administrador e execute o seguinte comando:

         Get-WmiObject -Class Win32_Product | Select-String -Pattern "broker"
         <!--NeedCopy-->
        
      2. Localize o IdentifyingNumber (GUID) para o Serviço Citrix Broker na saída (por exemplo, {D333C884-187F-447C-8C67-463F33989C8F}). Use este GUID para o parâmetro appid.

    • disablelegacytls=enable: Desativa versões legadas de TLS. Este parâmetro está disponível no Windows 2022 e superior. No Windows 2022, ele desativa o TLS 1.0 e 1.1. No Windows 2025, isso é desnecessário, pois o TLS 1.0 e 1.1 são desativados por padrão.

    Por exemplo, execute o seguinte comando para vincular o certificado com a impressão digital bc96f958848639fd101a793b87915d5f2829b0b6 à porta 443 em todos os endereços IP:

    netsh http add sslcert ipport=0.0.0.0:443 certhash=bc96f958848639fd101a793b87915d5f2829b0b6 appid={91fe7386-e0c2-471b-a252-1e0a805febac} disablelegacytls=enable
    <!--NeedCopy-->
    

Uma vez que o HTTPS esteja habilitado, você deve configurar quaisquer implantações do StoreFront e Netscaler Gateways para usar HTTPS em vez de HTTP para se conectar ao controlador de entrega.

Configurar conjuntos de cifras

A lista de ordem de conjuntos de cifras deve incluir os conjuntos de cifras TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 ou TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (ou ambos); e esses conjuntos de cifras devem preceder quaisquer conjuntos de cifras TLS_DHE_.

  1. Usando o Editor de Política de Grupo da Microsoft, navegue até Configuração do Computador > Modelos Administrativos > Rede > Configurações de Configuração SSL.
  2. Edite a política “Ordem do Conjunto de Cifras SSL”. Por padrão, esta política é definida como “Não Configurado”. Defina esta política como Habilitado.
  3. Organize os conjuntos na ordem correta; remova quaisquer conjuntos de cifras que você não deseja usar.

Certifique-se de que TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 ou TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 preceda quaisquer conjuntos de cifras TLS_DHE_.

No Microsoft Learn, consulte também Configurando a Ordem do Conjunto de Cifras TLS.

Impor apenas tráfego HTTPS

Recomenda-se que você configure o Serviço XML para ignorar o tráfego HTTP.

  1. Execute regedit
  2. Abra HKLM\Software\Citrix\DesktopServer\
  3. Crie um novo valor DWORD com o nome XmlServicesEnableNonSsl e defina-o como 0.
  4. Reinicie o Serviço de Broker.

Existe um valor DWORD de registro correspondente XmlServicesEnableSsl que você pode criar para ignorar o tráfego HTTPS. Certifique-se de que não esteja definido como 0.

Alterar portas HTTP ou HTTPS

Por padrão, o Serviço XML no Controller escuta na porta 80 para tráfego HTTP e na porta 443 para tráfego HTTPS. Embora você possa usar portas não padrão, esteja ciente dos riscos de segurança de expor um Controller a redes não confiáveis. A implantação de um servidor StoreFront autônomo é preferível a alterar os padrões.

Para alterar as portas HTTP ou HTTPS padrão usadas pelo Controller, execute o seguinte comando no Studio:

BrokerService.exe -StoreFrontPort <http-port> -StoreFrontTlsPort <https-port>

onde <http-port> é o número da porta para tráfego HTTP e <https-port> é o número da porta para tráfego HTTPS.

Nota:

Após alterar uma porta, o Studio pode exibir uma mensagem sobre compatibilidade de licença e atualização. Para resolver o problema, registre novamente as instâncias de serviço usando a seguinte sequência de cmdlets do PowerShell:

Get-ConfigRegisteredServiceInstance -ServiceType Broker -Binding XML_HTTPS |
Unregister-ConfigRegisteredServiceInstance
Get-BrokerServiceInstance | where Binding -eq "XML_HTTPS" |
Register-ConfigServiceInstance
<!--NeedCopy-->
Habilitar TLS em Delivery Controllers