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
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.
Generare un certificato con i nomi di dominio completi di tutti i computer in Nome alternativo soggetto.
Installare il certificato in tutti i nodi nel computer locale ->Personal in modo che possa essere selezionato nella gestione configurazione del runtime di integrazione:
Fare clic sul certificato e installarlo.
Selezionare Computer locale e immettere la password.
Selezionare Inserisci tutti i certificati nell'archivio seguente. Fare clic su Sfoglia. Selezionare Personale.
Selezionare Fine per installare il certificato.
Abilitare l'accesso remoto dalla Intranet:
Durante la registrazione del nodo del runtime di integrazione self-hosted:
Selezionare Abilita accesso remoto da Intranet e selezionare Avanti.
Impostare la porta Tcp (8060 per impostazione predefinita). Assicurarsi che la porta sia aperta nel firewall.
Fare clic su Seleziona. Nella finestra popup scegliere il certificato corretto e selezionare Fine.
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.
Passare a Integration Runtime Configuration Manager self-hosted ->Impostazioni ->Accesso remoto dalla Intranet. Fare clic su Cambia.
Scegliere Abilita con certificato TLS/SSL (avanzato).Choose Enable with TLS/SSL certificate (Advanced).
Fare clic su Seleziona. Nella finestra popup scegliere il certificato corretto e selezionare OK.
Verificare le impostazioni di accesso remoto nelle Integration Runtime Configuration Manager self-hosted.
Se non si dispone del certificato attendibile pubblicamente, usare un certificato autofirmato:
Generare ed esportare un certificato autofirmato (questo passaggio può essere ignorato se il certificato è già disponibile):
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
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
.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
Il certificato è stato esportato con la chiave privata in C:\self-signedcertificate.pfx.
Installare il certificato in tutti i nodi in: Archivio autorità di certificazione radice attendibili del computer> locale:
- Fare clic sul certificato e installarlo.
- Selezionare Computer locale e immettere la password.
- Selezionare Inserisci tutti i certificati nell'archivio seguente. Fare clic su Sfoglia. Selezionare Autorità di certificazione radice attendibili.
- Selezionare Fine per installare il certificato.
Risoluzione dei problemi
Verificare che il certificato esista nell'archivio di destinazione:
Seguire questa procedura : Visualizzare i certificati con lo snap-in MMC - WCF per visualizzare i certificati (computer locale) nello snap-in MMC.
Verificare che il certificato sia installato nell'archivio Autorità di certificazioneradice personale e attendibile (se si tratta di un certificato autofirmato).
Verificare che il certificato abbia una chiave privata e non sia scaduto.
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:
Fare clic con il pulsante destro del mouse sul certificato ->Tutte le attività ->Gestisci chiavi private.
In caso contrario, concedere l'autorizzazione , Applicare e salvare.