Fernzugriff aus dem Intranet mit TLS/SSL-Zertifikat aktivieren (Erweitert)
In diesem Tutorial erfahren Sie, wie Sie eine selbst gehostete Integrationslaufzeit mit mehreren lokalen Rechnern einrichten und den Fernzugriff aus dem Intranet mit TLS/SSL-Zertifikat (Advanced) aktivieren, um die Kommunikation zwischen den Knoten der Integrationslaufzeit zu sichern.
Voraussetzungen
- Eine Einführung in SSL/TLS Strong Encryption.
- Das Zertifikat könnte ein allgemeines TLS-Zertifikat für einen Webserver sein. Anforderungen:
- Das Zertifikat muss ein öffentlich vertrauenswürdiges Zertifikat vom Typ „X509 v3“ sein. Wir empfehlen Ihnen die Verwendung von Zertifikaten, die von einer öffentlichen Zertifizierungsstelle für Partner ausgestellt werden.
- Jeder Integration Runtime-Knoten muss diesem Zertifikat vertrauen.
- Wir empfehlen Subject Alternative Name (SAN)-Zertifikate, da alle vollständig qualifizierten Domänennamen (FQDN) von Integrationslaufzeitknoten durch dieses Zertifikat gesichert werden müssen. (WCF TLS/SSL validate only check last DNS Name in SAN wurde in .NET Framework 4.6.1 behoben. Weitere Informationen finden Sie unter Entschärfung: X509CertificateClaimSet.FindClaims-Methode.)
- Wildcard-Zertifikate (*) werden nicht unterstützt.
- Das Zertifikat muss einen privaten Schlüssel enthalten (wie im PFX-Format).
- Für das Zertifikat können alle Schlüsselgrößen verwendet werden, die von Windows Server 2012 R2 für TLS/SSL-Zertifikate unterstützt werden.
- Wir unterstützen bisher nur CSP-Zertifikate (Cryptographic Service Provider). Zertifikate, die CNG-Schlüssel (Key Storage Provider) verwenden, werden nicht unterstützt.
Schritte
Führen Sie den folgenden PowerShell-Befehl auf allen Computern aus, um ihre FQDNs abzurufen:
[System.Net.Dns]::GetHostByName("localhost").HostName
Die FQDNs lauten zum Beispiel node1.domain.contoso.com und node2.domain.contoso.com.
Erzeugen Sie ein Zertifikat mit den FQDNs aller Rechner im Subject Alternative Name.
Installieren Sie das Zertifikat auf allen Knoten auf Lokale Maschine ->Persönlich, damit es im Konfigurationsmanager der Integrationslaufzeit ausgewählt werden kann:
Klicken Sie auf das Zertifikat und installieren Sie es.
Wählen Sie Lokales Gerät und geben Sie das Passwort ein.
Wählen Sie Alle Zertifikate im folgenden Speicher ablegen. Klicken Sie auf Durchsuchen. Wählen Sie Persönlich.
Wählen Sie Fertigstellen, um das Zertifikat zu installieren.
Aktivieren Sie den Fernzugriff vom Intranet aus:
Während der Registrierung des selbst gehosteten Integrationslaufzeitknotens:
Wählen Sie Fernzugriff vom Intranet aktivieren und wählen Sie Weiter.
Stellen Sie den Tcp Port ein (standardmäßig 8060). Stellen Sie sicher, dass der Port in der Firewall offen ist.
Klicken Sie auf Auswählen. Wählen Sie im Pop-up-Fenster das richtige Zertifikat und wählen Sie Fertigstellen.
Nachdem der selbst gehostete Integrations-Laufzeitknoten registriert ist:
Hinweis
Die selbst gehostete Integrationslaufzeit kann die Fernzugriffseinstellungen nur ändern, wenn sie über einen einzelnen Knoten verfügt, was beabsichtigt ist. Andernfalls kann das Optionsfeld nicht markiert werden.
Gehen Sie zu selbst gehostetem Integration Runtime Configuration Manager ->Einstellungen ->Fernzugriff vom Intranet. Klicken Sie auf Ändern.
Wählen Sie Mit TLS/SSL-Zertifikat aktivieren (Erweitert).
Klicken Sie auf Auswählen. Wählen Sie im Pop-up-Fenster das richtige Zertifikat und wählen Sie OK.
Überprüfen Sie die Fernzugriffseinstellungen im selbst gehosteten Integration Runtime Configuration Manager.
Verwendung eines selbstsignierten Zertifikats, wenn Sie kein öffentlich vertrauenswürdiges Zertifikat haben:
Erzeugen und exportieren Sie ein selbstsigniertes Zertifikat (dieser Schritt kann übersprungen werden, wenn Sie das Zertifikat bereits besitzen):
Generieren Sie ein selbstsigniertes Zertifikat über PowerShell (mit erhöhten Rechten):
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
Um das generierte Zertifikat mit einem privaten Schlüssel in eine passwortgeschützte PFX-Datei zu exportieren, benötigen Sie dessen Thumbprint. Sie kann aus den Ergebnissen des Befehls
New-SelfSignedCertificate
kopiert werden. Zum Beispiel ist esCEB5B4372AA7BF877E56BCE27542F9F0A1AD197F
.Exportieren Sie das generierte Zertifikat mit dem privaten Schlüssel über PowerShell (mit erhöhten Rechten):
$CertPassword = ConvertTo-SecureString -String “Password” -Force -AsPlainText Export-PfxCertificate -Cert cert:\LocalMachine\My\CEB5B4372AA7BF877E56BCE27542F9F0A1AD197F -FilePath C:\self-signedcertificate.pfx -Password $CertPassword
Sie haben das Zertifikat mit dem privaten Schlüssel nach C:\self-signedcertificate.pfx exportiert.
Installieren Sie das Zertifikat auf allen Knoten nach: Lokaler Rechner ->Speicher für vertrauenswürdige Stammzertifizierungsstellen:
- Klicken Sie auf das Zertifikat und installieren Sie es.
- Wählen Sie Lokales Gerät und geben Sie das Passwort ein.
- Wählen Sie Alle Zertifikate im folgenden Speicher ablegen. Klicken Sie auf Durchsuchen. Wählen Sie Vertraute Stammzertifizierungsstellen.
- Wählen Sie Fertigstellen, um das Zertifikat zu installieren.
Problembehandlung
Überprüfen Sie, ob das Zertifikat im Zielspeicher vorhanden ist:
Befolgen Sie diese Prozedur Anleitung: Anzeigen von Zertifikaten mit dem MMC-Snap-In - WCF zum Anzeigen von Zertifikaten (Lokaler Computer) im MMC-Snap-In.
Bestätigen Sie, dass das Zertifikat im Speicher Persönlich und Vertraute Stammzertifizierungsstellen installiert ist (wenn es sich um ein selbstsigniertes Zertifikat handelt).
Überprüfen Sie, ob das Zertifikat einen privaten Schlüssel hat und nicht abgelaufen ist.
Stellen Sie sicher, dass das Dienstkonto für die selbst gehostete Integrationslaufzeit (Standardkonto ist NT SERVICE\DIAHostService) Leseberechtigung für die privaten Schlüssel des Zertifikats hat:
Rechtsklick auf das Zertifikat ->Alle Aufgaben ->Private Schlüssel verwalten.
Wenn nein, erteilen Sie die Erlaubnis, Anwenden und speichern.