Włączanie dostępu zdalnego z intranetu przy użyciu certyfikatu TLS/SSL (zaawansowane)

W tym samouczku nauczysz się, jak skonfigurować self-hosted Integration Runtime z wieloma maszynami lokalnymi oraz umożliwić zdalny dostęp z intranetu za pomocą certyfikatu TLS/SSL (zaawansowany), aby zapewnić bezpieczną komunikację między węzłami Integration Runtime.

Prerequisites

  • Wprowadzenie do silnego szyfrowania SSL/TLS.
  • Certyfikat może być ogólnym certyfikatem TLS dla serwera WWW. Wymagania:
    • Certyfikat musi być publicznie zaufanym certyfikatem X509 v3. Zalecamy korzystanie z certyfikatów wydawanych przez publiczny partnerski organ certyfikacyjny (CA).
    • Każdy węzeł wykonawczy integracji musi ufać temu certyfikatowi.
    • Zalecamy certyfikaty Subject Alternative Name (SAN), ponieważ wszystkie w pełni kwalifikowane nazwy domen (FQDN) węzłów integracyjnych muszą być zabezpieczone tym certyfikatem. (Weryfikacja sprawdzała tylko ostatnią nazwę DNS w SAN w WCF TLS/SSL; zostało to naprawione w .NET Framework 4.6.1. Więcej informacji można znaleźć w Mitigation: X509CertificateClaimSet.FindClaims Method.)
    • Certyfikaty wieloznaczne (*) nie są obsługiwane.
    • Certyfikat musi mieć klucz prywatny (np. w formacie PFX).
    • Certyfikat może używać dowolnego rozmiaru klucza obsługiwanego przez Windows Server 2012 R2 dla certyfikatów TLS/SSL.
    • Na razie obsługujemy tylko certyfikat CSP (Cryptographic Service Provider). Certyfikaty wykorzystujące klucze CNG (Key Storage Provider) nie są obsługiwane.

Steps

  1. Uruchom poniższe polecenie PowerShell na wszystkich komputerach, aby uzyskać ich nazwy FQDN:

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

    Na przykład FQDN to node1.domain.contoso.com i node2.domain.contoso.com.

  2. Wygeneruj certyfikat z FQDN wszystkich maszyn w polu Subject Alternative Name.

    Zrzut ekranu pokazujący generowanie certyfikatu w polu Subject Alternative Name (SAN).

  3. Zainstaluj certyfikat na wszystkich węzłach w magazynie certyfikatów Local Machine ->Personal, aby można go było wybrać w menedżerze konfiguracji Integration Runtime:

    1. Kliknij na certyfikat i go zainstaluj.

    2. Wybierz Local Machine i wpisz hasło.

      Zrzut ekranu pokazujący wybór lokalnej maszyny.

    3. Wybierz opcję Umieść wszystkie certyfikaty w następującym repozytorium. Kliknij Przeglądaj. Wybierz opcję Prywatne.

    4. Wybierz Zakończ, aby zainstalować certyfikat.

  4. Włącz zdalny dostęp z intranetu:

    1. Podczas rejestracji węzła środowiska Integration Runtime hostowanego samodzielnie:

      1. Wybierz Włącz zdalny dostęp z intranetu i wybierz Dalej.

        Zrzut ekranu pokazujący możliwość włączenia zdalnego dostępu z intranetu.

      2. Ustaw port Tcp (domyślnie 8060). Upewnij się, że port jest otwarty na zaporze.

      3. Kliknij opcję Wybierz. W oknie wyskakującym wybierz odpowiedni certyfikat i wybierz Zakończ.

        Zrzut ekranu pokazujący wybór certyfikatu.

    2. Po zarejestrowaniu węzła środowiska Integration Runtime hostowanego samodzielnie:

      Note

      Środowisko uruchomieniowe integracji hostowanej samodzielnie może zmieniać ustawienia zdalnego dostępu tylko wtedy, gdy ma pojedynczy węzeł, co jest założone. W przeciwnym razie przycisk opcji nie może być zaznaczony.

      Zrzut ekranu pokazujący włączenie z użyciem certyfikatu TLS/SSL (zaawansowane).

      1. Przejdź do Menedżera konfiguracji hostowanego lokalnie środowiska Integration Runtime ->Ustawienia ->Zdalny dostęp z intranetu. Kliknij przycisk Zmień.

      2. Wybierz Włącz z użyciem certyfikatu TLS/SSL (Zaawansowane).

      3. Kliknij opcję Wybierz. W oknie wyskakującym wybierz odpowiedni certyfikat i wybierz OK.

        Zrzut ekranu pokazujący wybór certyfikatu.

    3. Sprawdź ustawienia zdalnego dostępu w Integration Runtime Configuration Manager hostowanym samodzielnie.

      Zrzut ekranu pokazujący weryfikację ustawień zdalnego dostępu w kroku 1 programu Self-hosted Integration Runtime Configuration Manager.

      Zrzut ekranu pokazujący weryfikację ustawień zdalnego dostępu w kroku 2 menedżera konfiguracji Self-hosted Integration Runtime.

  5. Używanie certyfikatu z podpisem własnym, jeśli nie posiadasz publicznie zaufanego certyfikatu:

    1. Wygeneruj i wyeksportuj certyfikat podpisany samodzielnie (ten krok można pominąć, jeśli już posiadasz certyfikat):

      1. Wygeneruj certyfikat podpisany samodzielnie za pomocą PowerShell (z podwyższonymi uprawnieniami):

        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. Aby wyeksportować wygenerowany certyfikat z kluczem prywatnym do pliku PFX chronionego hasłem, potrzebujesz jego odcisku palca. Można go skopiować z wyników polecenia New-SelfSignedCertificate. Na przykład jest to AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00.

      3. Eksportuj wygenerowany certyfikat z kluczem prywatnym za pomocą PowerShell (z podwyższonymi uprawnieniami):

        $CertPassword = ConvertTo-SecureString -String “Password” -Force -AsPlainText
        Export-PfxCertificate -Cert
        cert:\LocalMachine\My\AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00 -FilePath C:\self-signedcertificate.pfx -Password $CertPassword            
        
      4. Eksportowałeś certyfikat z kluczem prywatnym do C:\self-signedcertificate.pfx.

    2. Zainstaluj certyfikat na wszystkich węzłach w: Lokalna maszyna –>magazyn Zaufane główne urzędy certyfikacji:

      1. Kliknij na certyfikat i go zainstaluj.
      2. Wybierz Local Machine i wpisz hasło.
      3. Wybierz opcję Umieść wszystkie certyfikaty w następującym repozytorium. Kliknij Przeglądaj. Wybierz Zaufane główne urzędy certyfikacji.
      4. Wybierz Zakończ, aby zainstalować certyfikat.

      Zrzut ekranu przedstawiający instalację certyfikatu na wszystkich węzłach.

  6. Troubleshooting

    1. Sprawdź, czy certyfikat istnieje w docelowym magazynie:

      1. Postępuj zgodnie z tą procedurą Jak wyświetlić certyfikaty za pomocą przystawki MMC — WCF, aby wyświetlić certyfikaty (komputer lokalny) w przystawce MMC.

        Zrzut ekranu pokazujący przeglądanie certyfikatów w przystawce MMC.

      2. Potwierdź, że certyfikat jest zainstalowany w Personal i sklepie Trusted Root Certification Authorities (jeśli jest to certyfikat podpisany samodzielnie).

        Zrzut ekranu pokazujący certyfikat zainstalowany w magazynach Personal oraz Trusted Root Certification Authorities.

    2. Sprawdź, czy certyfikat ma klucz prywatny i nie jest wygasły.

      Zrzut ekranu pokazuje, że certyfikat ma klucz prywatny i nie jest wygasły.

    3. Upewnij się, że konto usługi dla samodzielnie hostowanego środowiska uruchomieniowego integracji (domyślne konto to NT SERVICE\DIAHostService) ma uprawnienia do odczytu kluczy prywatnych certyfikatu:

      1. Kliknij prawym przyciskiem myszy certyfikat ->Wszystkie zadania ->Zarządzaj kluczami prywatnymi.

      2. Jeśli nie, udziel pozwolenia, Zastosuj i zapisz.

        Zrzut ekranu pokazuje, że konto serwisowe dla samodzielnie hostowanego środowiska uruchomieniowego integracji ma uprawnienia do odczytu kluczy prywatnych certyfikatu.