Compartilhar via


Habilitar o acesso remoto da intranet com certificado TLS/SSL (Avançado)

Neste tutorial você aprenderá a configurar um runtime de integração auto-hospedada com vários máquinas locais e permitir o acesso remoto da intranet com o certificado TLS/SSL (Avançado) para proteger a comunicação entre nós do runtime de integração.

Pré-requisitos

  • Uma introdução à Criptografia Forte SSL/TLS.
  • O certificado pode ser um certificado TLS geral para um servidor Web. Requisitos:
    • O certificado deve ser um certificado X509 v3 publicamente confiável. É recomendável que você use certificados emitidos por uma AC (autoridade de certificação) pública parceira.
    • Cada nó do runtime de integração deve confiar nesse certificado.
    • Recomendamos certificados SAN (Nome Alternativo do Assunto) porque todos os FQDN (nomes de domínio totalmente qualificados) de nós do runtime de integração precisam ser protegidos por esse certificado. (A validação do TLS/SSL do WCF somente da verificação do último nome DNS no SAN foi corrigida no .NET Framework 4.6.1. Veja Mitigação: método X509CertificateClaimSet.FindClaims para obter mais informações.)
    • Não há suporte para certificados de curinga (*)
    • O certificado deve ter uma chave privada (como o formato PFX).
    • O certificado pode usar qualquer tamanho de chave com suporte no Windows Server 2012 R2 para certificados TLS/SSL.
    • Só há suporte para o certificado CSP (provedor de serviços de criptografia) até o momento. Não há suporte para certificados que usam chaves CNG (provedor armazenamento de chaves).

Etapas

  1. Execute o comando do PowerShell abaixo em todos os computadores para obter seus 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 em Nome Alternativo do Assunto.

    Captura de tela que mostra a geração de certificado no nome alternativo da entidade.

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

    1. Clique no certificado e instale-o.

    2. Selecione Computador Local e insira a senha.

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

    3. Selecione Colocar todos os certificados no repositório a seguir. Clique em Procurar. Selecione Pessoal.

    4. Selecione Concluir para instalar o certificado.

  4. Habilitar acesso remoto pela intranet

    1. Durante o registro de nó do runtime de integração auto-hospedada:

      1. Selecione Habilitar acesso remoto da intranet e selecione Próximo.

        Captura de tela que mostra a habilitação do acesso remoto da intranet.

      2. Defina a Porta Tcp (8060 por padrão). Certifique-se de que a porta esteja aberta no firewall.

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

        Captura de tela que mostra a seleção de certificado.

    2. Depois que o runtime de integração auto-hospedada estiver registrado.

      Observação

      O runtime de integração auto-hospedada pode alterar as configurações de acesso remoto somente quando ele tem um único nó, que é por design. Caso contrário, o botão de rádio não poderá ser marcado.

      Captura de tela que mostra a habilitação com o certificado TLS/SSL (avançado).

      1. Acesse Configuration Manager do runtime de integração auto-hospedada ->Configurações ->Acesso remoto da intranet. Clique em Alterar.

      2. Escolha Habilitar com certificado TLS/SSL (Avançado).

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

        Captura de tela que mostra a escolha de certificado.

    3. Verifique as configurações de acesso remoto no Configuration Manager do runtime de integração auto-hospedada.

      Captura de tela que mostra a verificação das configurações de acesso remoto no Configuration Manager do runtime de integração auto-hospedada etapa 1.

      Captura de tela que mostra a verificação das configurações de acesso remoto no Configuration Manager do runtime de integração auto-hospedada etapa 2.

  5. Como utilizar um certificado autoassinado se você não tiver o certificado publicamente confiável:

    1. Gere e exporte um certificado autoassinado (esta etapa poderá ser ignorada se você já tiver o certificado):

      1. Gere um certificado autoassinado por meio 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 arquivo PFX protegido por senha, você precisará de sua impressão digital. Ele pode ser copiado dos resultados do comando New-SelfSignedCertificate. Por exemplo, é CEB5B4372AA7BF877E56BCE27542F9F0A1AD197F.

      3. Exporte o certificado gerado com a chave privada por meio 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. Você exportou o certificado com a chave privada para C:\self-signedcertificate.pfx.

    2. Instale o certificado em todos os nós para: Computador local ->Armazenamento de Autoridades de Certificação Raiz Confiáveis:

      1. Clique no certificado e instale-o.
      2. Selecione Computador Local e insira a senha.
      3. Selecione Colocar todos os certificados no repositório a seguir. Clique em Procurar. Selecione Autoridades de Certificação Raiz Confiáveis.
      4. Selecione Concluir para instalar o certificado.

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

  6. Solução de problemas

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

      1. Siga este procedimento Como exibir certificados com o snap-in do MMC – WCF para exibir Certificados (Computador Local) no snap-in do MMC.

        Captura de tela que mostra a exibição de certificados no snap-in do MMC.

      2. Confirme se o certificado está instalado em Pessoal e Armazenamento de Autoridades de Certificação Raiz Confiáveis (se for um certificado autoassinado).

        Captura de tela que mostra o certificado instalado no armazenamento de Autoridades de Certificação Confiáveis e Pessoais.

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

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

    3. Certifique-se de que a conta de serviço do runtime de integração auto-hospedada (a conta padrão é NT SERVICE\DIAHostService) tenha permissão de leitura para as chaves privadas do certificado:

      1. Clique com o botão direito do mouse no certificado ->Todas as tarefas ->Gerenciar chaves privadas

      2. Se não, conceda a permissão Aplique e salve.

        Captura de tela que mostra que a conta de serviço do runtime de integração auto-hospedada tem permissão de leitura para as chaves privadas do certificado.