Abilitare l'accesso remoto da Intranet con il certificato TLS/SSL (avanzato)

In questa esercitazione si apprenderà come configurare un runtime di integrazione self-hosted con più computer locali e abilitare l'accesso remoto da Intranet con certificato TLS/SSL (Advanced) per proteggere la comunicazione tra i nodi del runtime di integrazione.

Prerequisiti

  • Introduzione alla crittografia avanzata SSL/TLS.
  • Il certificato può essere un certificato TLS generale per un server Web. Requisiti:
    • Deve essere un certificato X509 v3 pubblicamente attendibile. È consigliabile usare i certificati rilasciati da un'autorità di certificazione (CA) del partner pubblico.
    • Ogni nodo del runtime di integrazione deve considerare attendibile questo certificato.
    • È consigliabile usare certificati SAN (Subject Alternative Name) perché tutti i nomi di dominio completi (FQDN) dei nodi del runtime di integrazione devono essere protetti da questo certificato. (Wcf TLS/SSL validate only check last DNS Name in SAN was fixed in .NET Framework 4.6.1. (Wcf TLS/SSL validate only check last DNS Name in SAN was fixed in .NET Framework 4.6.1. Per altre informazioni, vedere Mitigazione: Metodo X509CertificateClaimSet.FindClaims .
    • I certificati con caratteri jolly (*) non sono supportati.
    • Il certificato deve avere una chiave privata ,ad esempio il formato PFX.
    • Il certificato può usare qualsiasi dimensione di chiave supportata da Windows Server 2012 R2 per i certificati TLS/SSL.
    • Attualmente è supportato solo il certificato CSP (Cryptographic Service Provider). I certificati che usano chiavi CNG (provider di archiviazione chiavi) non sono supportati.

Passaggi

  1. Eseguire il comando di PowerShell seguente in tutti i computer per ottenere i nomi di dominio completi:

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

    Ad esempio, i nomi di dominio completi sono node1.domain.contoso.com e node2.domain.contoso.com.

  2. Generare un certificato con i nomi di dominio completi di tutti i computer in Nome alternativo soggetto.

    Screenshot che mostra la generazione del certificato nel nome alternativo del soggetto.

  3. Installare il certificato in tutti i nodi nel computer locale ->Personal in modo che possa essere selezionato nella gestione configurazione del runtime di integrazione:

    1. Fare clic sul certificato e installarlo.

    2. Selezionare Computer locale e immettere la password.

      Screenshot che mostra la selezione del computer locale.

    3. Selezionare Inserisci tutti i certificati nell'archivio seguente. Fare clic su Sfoglia. Selezionare Personale.

    4. Selezionare Fine per installare il certificato.

  4. Abilitare l'accesso remoto dalla Intranet:

    1. Durante la registrazione del nodo del runtime di integrazione self-hosted:

      1. Selezionare Abilita accesso remoto da Intranet e selezionare Avanti.

        Screenshot che mostra l'abilitazione dell'accesso remoto da Intranet.

      2. Impostare la porta Tcp (8060 per impostazione predefinita). Assicurarsi che la porta sia aperta nel firewall.

      3. Fare clic su Seleziona. Nella finestra popup scegliere il certificato corretto e selezionare Fine.

        Screenshot che mostra la selezione del certificato.

    2. Dopo la registrazione del nodo del runtime di integrazione self-hosted:

      Nota

      Il runtime di integrazione self-hosted può modificare le impostazioni di accesso remoto solo quando ha un singolo nodo, ovvero in base alla progettazione. In caso contrario, non è possibile selezionare il pulsante di opzione.

      Screenshot che mostra l'abilitazione con il certificato TLS/SSL (Avanzato).

      1. Passare a Integration Runtime Configuration Manager self-hosted ->Impostazioni ->Accesso remoto dalla Intranet. Fare clic su Cambia.

      2. Scegliere Abilita con certificato TLS/SSL (avanzato).Choose Enable with TLS/SSL certificate (Advanced).

      3. Fare clic su Seleziona. Nella finestra popup scegliere il certificato corretto e selezionare OK.

        Screenshot che mostra la scelta del certificato.

    3. Verificare le impostazioni di accesso remoto nelle Integration Runtime Configuration Manager self-hosted.

      Screenshot che mostra la verifica delle impostazioni di accesso remoto in Self-hosted Integration Runtime Configuration Manager passaggio 1.

      Screenshot che mostra la verifica delle impostazioni di accesso remoto in Self-hosted Integration Runtime Configuration Manager passaggio 2.

  5. Se non si dispone del certificato attendibile pubblicamente, usare un certificato autofirmato:

    1. Generare ed esportare un certificato autofirmato (questo passaggio può essere ignorato se il certificato è già disponibile):

      1. Generare un certificato autofirmato tramite PowerShell (con privilegi elevati):

        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. Per esportare il certificato generato con una chiave privata in un file PFX protetto da password, è necessaria l'identificazione personale. Può essere copiato dai risultati del New-SelfSignedCertificate comando. Ad esempio, è CEB5B4372AA7BF877E56BCE27542F9F0A1AD197F.

      3. Esportare il certificato generato con la chiave privata tramite PowerShell (con privilegi elevati):

        $CertPassword = ConvertTo-SecureString -String “Password” -Force -AsPlainText
        Export-PfxCertificate -Cert
        cert:\LocalMachine\My\CEB5B4372AA7BF877E56BCE27542F9F0A1AD197F -FilePath C:\self-signedcertificate.pfx -Password $CertPassword            
        
      4. Il certificato è stato esportato con la chiave privata in C:\self-signedcertificate.pfx.

    2. Installare il certificato in tutti i nodi in: Archivio autorità di certificazione radice attendibili del computer> locale:

      1. Fare clic sul certificato e installarlo.
      2. Selezionare Computer locale e immettere la password.
      3. Selezionare Inserisci tutti i certificati nell'archivio seguente. Fare clic su Sfoglia. Selezionare Autorità di certificazione radice attendibili.
      4. Selezionare Fine per installare il certificato.

      Screenshot che mostra l'installazione del certificato in tutti i nodi.

  6. Risoluzione dei problemi

    1. Verificare che il certificato esista nell'archivio di destinazione:

      1. Seguire questa procedura : Visualizzare i certificati con lo snap-in MMC - WCF per visualizzare i certificati (computer locale) nello snap-in MMC.

        Screenshot che mostra la visualizzazione dei certificati nello snap-in MMC.

      2. Verificare che il certificato sia installato nell'archivio Autorità di certificazioneradice personale e attendibile (se si tratta di un certificato autofirmato).

        Screenshot che mostra il certificato installato nell'archivio Autorità di certificazione radice personale e attendibile.

    2. Verificare che il certificato abbia una chiave privata e non sia scaduto.

      Screenshot che mostra la verifica che il certificato abbia una chiave privata e non sia scaduto.

    3. Assicurarsi che l'account del servizio per il runtime di integrazione self-hosted (l'account predefinito è NT SERVICE\DIAHostService) abbia l'autorizzazione di lettura per le chiavi private del certificato:

      1. Fare clic con il pulsante destro del mouse sul certificato ->Tutte le attività ->Gestisci chiavi private.

      2. In caso contrario, concedere l'autorizzazione , Applicare e salvare.

        Screenshot che mostra l'account del servizio per il runtime di integrazione self-hosted dispone dell'autorizzazione di lettura per le chiavi private del certificato.