Ativar o acesso remoto a partir da intranet com o certificado TLS/SSL (Avançado)

Neste tutorial, irá aprender a configurar um runtime de integração autoalojado com vários computadores no local e a ativar o acesso remoto a partir da intranet com o certificado TLS/SSL (Avançado) para proteger a comunicação entre nós de runtime de integração.

Pré-requisitos

  • Uma introdução à Encriptação Forte SSL/TLS.
  • O certificado pode ser um certificado TLS geral para um Servidor Web. Requisitos:
    • O certificado tem de ser um certificado X509 v3 fidedigno publicamente. Recomendamos que utilize certificados emitidos por uma autoridade de certificação (AC) de parceiros públicos.
    • Cada nó de runtime de integração tem de confiar neste certificado.
    • Recomendamos certificados de Nome Alternativo do Requerente (SAN), uma vez que todos os nomes de domínio completamente qualificados (FQDN) dos nós de runtime de integração têm de ser protegidos por este certificado. (O TLS/SSL do WCF valida apenas a verificação do último Nome DNS em SAN foi corrigido no .NET Framework 4.6.1. Veja Mitigation: X509CertificateClaimSet.FindClaims Method (Método Mitigation: X509CertificateClaimSet.FindClaims) para obter mais informações.)
    • Os certificados de carateres universais (*) não são suportados.
    • O certificado tem de ter uma chave privada (como o formato PFX).
    • O certificado pode utilizar qualquer tamanho de chave suportado pelo Windows Server 2012 R2 para certificados TLS/SSL.
    • Até ao momento, só suportamos o certificado CSP (Fornecedor de Serviços Criptográficos). Os certificados que utilizam chaves CNG (Fornecedor de Armazenamento de Chaves) não são suportados.

Passos

  1. Execute o comando do PowerShell abaixo em todos os computadores para obter os FQDNs:

    [System.Net.Dns]::GetHostByName("localhost").HostName
    

    Por exemplo, os FQDNs são node1.domain.contoso.com e node2.domain.contoso.com.

  2. Gere um certificado com os FQDNs de todos os computadores no Nome Alternativo do Requerente.

    Captura de ecrã que mostra a geração de certificado no nome alternativo do requerente.

  3. Instale o certificado em todos os nós no Computador Local ->Pessoal para que possa ser selecionado no gestor de configuração do runtime de integração:

    1. Clique no certificado e instale-o.

    2. Selecione Computador Local e introduza a palavra-passe.

      Captura de ecrã que mostra a seleção do computador local.

    3. Selecione Colocar todos os certificados no seguinte arquivo. Clique em Browse (Procurar). Selecione Pessoal.

    4. Selecione Concluir para instalar o certificado.

  4. Ativar o acesso remoto a partir da intranet:

    1. Durante o registo do nó do runtime de integração autoalojado:

      1. Selecione Ativar o acesso remoto a partir da intranet e selecione Seguinte.

        Captura de ecrã que mostra a ativação do acesso remoto a partir da intranet.

      2. Defina a Porta Tcp (8060 por predefinição). Certifique-se de que a porta está aberta na firewall.

      3. Clique em Selecionar. Na janela de pop-up, selecione o certificado correto e selecione Concluir.

        Captura de ecrã que mostra a seleção do certificado.

    2. Após o nó do runtime de integração autoalojado ser registado:

      Nota

      O runtime de integração autoalojado só pode alterar as definições de acesso remoto quando tem um único nó, que é por predefinição. Caso contrário, não é possível verificar o botão de opção.

      Captura de ecrã que mostra a ativação com o certificado TLS/SSL (Avançado).

      1. Aceda a Integration Runtime Configuration Manager autoalojado ->Definições ->Acesso remoto a partir da intranet. Clique em Alterar.

      2. Selecione Ativar com certificado TLS/SSL (Avançado).

      3. Clique em Selecionar. Na janela de pop-up, selecione o certificado correto e selecione OK.

        Captura de ecrã que mostra a escolha do certificado.

    3. Verifique as definições de acesso remoto no Integration Runtime Configuration Manager autoalojado.

      Captura de ecrã que mostra a verificação das definições de acesso remoto no passo 1 Integration Runtime Configuration Manager autoalojado.

      Captura de ecrã que mostra a verificação das definições de acesso remoto no passo 2 Integration Runtime Configuration Manager autoalojado.

  5. Utilizar um certificado autoassinado se não tiver o certificado fidedigno público:

    1. Gerar e exportar um certificado autoassinado (este passo pode ser ignorado se já tiver o certificado):

      1. Gerar um certificado autoassinado através do PowerShell (com privilégios elevados):

        New-SelfSignedCertificate -DnsName contoso.com, node1.domain.contoso.com, node2.domain.contoso.com -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" -CertStoreLocation cert:\LocalMachine\My
        
      2. Para exportar o certificado gerado com uma chave privada para um ficheiro PFX protegido por palavra-passe, precisará do thumbprint. Pode ser copiado a partir dos resultados do New-SelfSignedCertificate comando. Por exemplo, é CEB5B4372AA7BF877E56BCE27542F9F0A1AD197F.

      3. Exporte o certificado gerado com a chave privada através do PowerShell (com privilégios elevados):

        $CertPassword = ConvertTo-SecureString -String “Password” -Force -AsPlainText
        Export-PfxCertificate -Cert
        cert:\LocalMachine\My\CEB5B4372AA7BF877E56BCE27542F9F0A1AD197F -FilePath C:\self-signedcertificate.pfx -Password $CertPassword            
        
      4. Exportou o certificado com a chave privada para C:\self-signedcertificate.pfx.

    2. Instale o certificado em todos os nós para: Computador Local –>Arquivo de Autoridades de Certificação de Raiz Fidedigna:

      1. Clique no certificado e instale-o.
      2. Selecione Computador Local e introduza a palavra-passe.
      3. Selecione Colocar todos os certificados no seguinte arquivo. Clique em Browse (Procurar). Selecione Autoridades de Certificação de Raiz Fidedigna.
      4. Selecione Concluir para instalar o certificado.

      Captura de ecrã que mostra a instalação do certificado em todos os nós.

  6. Resolução de problemas

    1. Verifique se o certificado existe no arquivo de destino:

      1. Siga este procedimento Procedimento: Ver certificados com o snap-in MMC – WCF para ver Certificados (Computador Local) no snap-in MMC.

        Captura de ecrã que mostra a visualização de certificados no snap-in MMC.

      2. Confirme que o certificado está instalado no arquivo autoridades de certificação de raiz pessoal e fidedigna (se for um certificado autoassinado).

        Captura de ecrã que mostra o certificado instalado no arquivo de Autoridades de Certificação de Raiz Pessoal e Fidedigna.

    2. Verifique se o certificado tem uma chave privada e se não expirou.

      Captura de ecrã que mostra a verificação de que o certificado tem uma chave privada e não expirou.

    3. Confirme que a conta de serviço do runtime de integração autoalojado (a conta predefinida é NT SERVICE\DIAHostService) tem permissão de leitura para as chaves privadas do certificado:

      1. Clique com o botão direito do rato no certificado ->Todas as Tarefas ->Gerir Chaves Privadas.

      2. Se não, conceda a permissão Aplicar e guarde.

        Captura de ecrã que mostra que a Conta de serviço do runtime de integração autoalojado tem permissão de leitura para as chaves privadas do certificado.