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

In questo tutorial, imparerai come configurare un runtime di integrazione auto-ospitato con più macchine on-premises e abilitare l'accesso remoto dall'intranet con certificato TLS/SSL (Advanced) per garantire la comunicazione tra i nodi di runtime di integrazione.

Prerequisites

  • Un'introduzione alla Crittografia Forte SSL/TLS.
  • Un certificato potrebbe essere un certificato TLS generale per un server Web. Requisiti
    • Il certificato deve essere un certificato X509 v3 pubblicamente affidabile. Raccomandiamo di utilizzare certificati rilasciati da un'autorità di certificazione (CA) partner pubblica.
    • Ogni nodo di runtime di integrazione deve fidarsi di questo certificato.
    • Raccomandiamo i certificati Subject Alternative Name (SAN) perché tutti i nomi di dominio completamente qualificati (FQDN) dei nodi runtime di integrazione devono essere protetti da questo certificato. (La convalida WCF TLS/SSL che verifica solo l'ultimo nome DNS nel SAN è stata corretta in .NET Framework 4.6.1. Consulta Mitigazione: metodo X509CertificateClaimSet.FindClaims per maggiori informazioni.)
    • I certificati wildcard (*) non sono supportati.
    • Il certificato deve avere una chiave privata (come il formato PFX).
    • Il certificato può utilizzare qualsiasi dimensione di chiave supportata da Windows Server 2012 R2 per i certificati TLS/SSL.
    • Finora supportiamo solo il certificato CSP (Cryptographic Service Provider). I certificati che utilizzano chiavi CNG (Key Storage Provider) non sono supportati.

Steps

  1. Esegui il comando PowerShell seguente su tutte le macchine per ottenere i relativi FQDN:

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

    Ad esempio, le FQDN sono node1.domain.contoso.com e node2.domain.contoso.com.

  2. Genera un certificato con le FQDN di tutte le macchine in Subject Alternative Name.

    Screenshot che mostra la generazione del certificato nel Subject Alternative Name (SAN).

  3. Installa il certificato su tutti i nodi su Local Machine ->Personal così che possa essere selezionato nel gestore di configurazione runtime di integrazione:

    1. Clicca sul certificato e installalo.

    2. Seleziona Macchina locale e inserisci la password.

      Screenshot che mostra la selezione della macchina locale.

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

    4. Seleziona Completa per installare il certificato.

  4. Abilita l'accesso remoto dall'intranet:

    1. Durante la registrazione del nodo di runtime di integrazione auto-ospitata:

      1. Seleziona Abilita l'accesso remoto dall'intranet e seleziona Avanti.

        Screenshot che mostra l'abilitazione dell'accesso remoto dall'intranet.

      2. Imposta la porta TCP (8060 di default). Assicurati che la porta sia aperta sul firewall.

      3. Fare clic su Seleziona. Nella finestra pop-up, scegli il certificato giusto e seleziona Termina.

        Screenshot che mostra la selezione del certificato.

    2. Dopo che il nodo runtime di integrazione auto-ospitato è stato registrato:

      Note

      Il runtime di integrazione auto-ospitata può modificare le impostazioni di accesso remoto solo quando ha un singolo nodo, cosa voluta per progetto. Altrimenti, il pulsante di opzione non può essere selezionato.

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

      1. Vai su self-hosted Integration Runtime Gestione configurazione ->Impostazioni ->Accesso remoto dall'intranet. Fare clic su Cambia.

      2. Scegli "Abilita con certificato TLS/SSL (Avanzato)".

      3. Fare clic su Seleziona. Nella finestra pop-up, scegli il certificato giusto e seleziona OK.

        Screenshot che mostra la scelta del certificato.

    3. Verifica le impostazioni di accesso remoto nel Integration Runtime Gestione configurazione ospitato autonomamente.

      Screenshot che mostra la verifica delle impostazioni di accesso remoto in Self-hosted Integration Runtime Gestione configurazione passo 1.

      Screenshot che mostra la verifica delle impostazioni di accesso remoto in Self-hosted Integration Runtime Gestione configurazione passo 2.

  5. Utilizzare un certificato autofirmato se non possiedi il certificato pubblicamente affidabile:

    1. Genera ed esporta un certificato autofirmato (questo passaggio può essere saltato se hai già il certificato):

      1. Genera 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, avrai bisogno della sua impronta digitale. Può essere copiato dai risultati del New-SelfSignedCertificate comando. Ad esempio, è AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00.

      3. Esporta 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\AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00 -FilePath C:\self-signedcertificate.pfx -Password $CertPassword            
        
      4. Hai esportato il certificato con la chiave privata in C:\self-signedcertificate.pfx.

    2. Installa il certificato su tutti i nodi in: Computer locale ->Autorità di certificazione radice attendibili:

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

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

  6. Troubleshooting

    1. Verifica che il certificato esista nello store target:

      1. Segui questa procedura Come fare: visualizzare i certificati con il snap-in MMC - WCF per visualizzare i Certificati (Local Computer) nel snap-in MMC.

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

      2. Conferma che il certificato sia installato in Personale e nell'Archivio autorità di certificazione radice attendibili (se si tratta di un certificato autofirmato).

        Screenshot che mostra il certificato installato negli archivi Personale e Autorità di certificazione radice attendibili.

    2. Verifica 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. Assicurati che l'account di servizio per l'runtime di integrazione auto-ospitata (l'account predefinito è NT SERVICE\DIAHostService) abbia il permesso di lettura per le chiavi private del certificato:

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

      2. Se no, concedi il permesso, Applica e salva.

        Uno screenshot che mostra l'account Service per il runtime di integrazione auto-ospitata ha il permesso di lettura delle chiavi private del certificato.