Activer l’accès à distance à partir de l’intranet avec un certificat TLS/SSL (avancé)

Dans ce tutoriel, vous allez découvrir comment configurer un runtime d’intégration auto-hébergé avec plusieurs ordinateurs locaux et activer l’accès à distance à partir de l’intranet avec un certificat TLS/SSL (avancé) pour sécuriser la communication entre les nœuds du runtime d’intégration.

Prérequis

  • Introduction au chiffrement fort SSL/TLS.
  • Le certificat peut être un certificat TLS général pour un serveur web. Conditions requises :
    • Le certificat doit être un certificat X509 v3 approuvé publiquement. Nous vous recommandons d’utiliser des certificats émis par une autorité de certification partenaire publique.
    • Chaque nœud de runtime d’intégration doit approuver ce certificat.
    • Nous vous recommandons d’utiliser des certificats SAN (Subject Alternative Name, autre nom d’objet), car tous les noms de domaine complets (FQDN) des nœuds du runtime d’intégration doivent être sécurisés par ce certificat. (La validation WCF TLS/SSL qui ne vérifiait que le nom du dernier DNS dans le réseau SAN a été corrigée dans .NET Framework 4.6.1. Consultez Atténuation : X509CertificateClaimSet.FindClaims, méthode pour plus d’informations.)
    • Les certificats génériques (*) ne sont pas pris en charge.
    • Le certificat doit avoir une clé privée (comme le format PFX).
    • Le certificat peut utiliser toutes les tailles de clé prises en charge par Windows Server 2012 R2 pour les certificats TLS/SSL.
    • Pour l’heure, nous prenons uniquement en charge le certificat CSP (fournisseur de services de chiffrement). Les certificats qui utilisent des clés CNG (fournisseur de stockage de clés) ne sont pas pris en charge.

Étapes

  1. Exécutez la commande PowerShell ci-dessous sur tous les ordinateurs pour accéder à leur nom de domaine complet :

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

    Par exemple, les noms de domaine complets sont node1.domain.contoso.com et node2.domain.contoso.com.

  2. Générez un certificat avec les noms de domaine complets de tous les ordinateurs dans Autre nom de l’objet.

    Capture d’écran montrant la génération de certificat dans Autre nom de l’objet.

  3. Installez le certificat sur tous les nœuds sur Ordinateur local - >Personnel afin qu’il puisse être sélectionné dans le gestionnaire de configuration du runtime d’intégration :

    1. Cliquez sur le certificat et installez-le.

    2. Sélectionnez Ordinateur local, puis entrez le mot de passe.

      Capture d’écran montrant la sélection d’un ordinateur local.

    3. Sélectionnez Placer tous les certificats dans le magasin suivant. Cliquez sur Parcourir. Sélectionnez Personnel.

    4. Sélectionnez Terminer pour installer le certificat.

  4. Activez l'accès à distance à partir de l'intranet :

    1. Lors de l’inscription du nœud du runtime d’intégration auto-hébergé :

      1. Sélectionnez Activer l’accès à distance à partir de l’intranet, puis sélectionnez Suivant.

        Capture d’écran montrant l’activation de l’accès à distance à partir de l’intranet.

      2. Définissez le Port TCP (8060 par défaut). Vérifiez que le port est ouvert sur le pare-feu.

      3. Cliquez sur Sélectionner. Dans la fenêtre contextuelle, choisissez le certificat approprié et sélectionnez Terminer.

        Capture d’écran montrant la sélection du certificat.

    2. Après que le nœud du runtime d’intégration auto-hébergé est inscrit :

      Notes

      Le runtime d’intégration auto-hébergé ne peut modifier les paramètres d’accès à distance que lorsqu’il possède un nœud unique, ce qui est le cas par défaut. Sinon, la case d’option ne peut pas être activée.

      Capture d’écran montrant l’activation avec un certificat TLS/SSL (avancé).

      1. Accédez au Gestionnaire de configuration du runtime d’intégration auto-hébergé - >Paramètres - >Accès à distance à partir de l’intranet. Cliquez sur Modifier.

      2. Choisissez Activer avec un certificat TLS/SSL (avancé).

      3. Cliquez sur Sélectionner. Dans la fenêtre contextuelle, choisissez le certificat approprié et sélectionnez OK.

        Capture d’écran montrant le choix du certificat.

    3. Vérifiez les paramètres d’accès à distance dans le Gestionnaire de configuration du runtime d’intégration Runtime auto-hébergé.

      Capture d’écran montrant la vérification des paramètres d’accès à distance dans le gestionnaire de configuration du runtime d’intégration auto-hébergé à l’étape 1.

      Capture d’écran montrant la vérification des paramètres d’accès à distance dans le gestionnaire de configuration du runtime d’intégration auto-hébergé à l’étape 2.

  5. En utilisant un certificat auto-signé si vous ne disposez pas du certificat approuvé publiquement :

    1. Générez et exportez un certificat auto-signé (cette étape peut être ignorée si vous disposez déjà du certificat) :

      1. Générez un certificat auto-signé via PowerShell (avec des privilèges élevés) :

        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. Pour exporter le certificat généré avec une clé privée dans un fichier PFX protégé par mot de passe, vous avez besoin de son empreinte. Il peut être copié à partir des résultats de la commande New-SelfSignedCertificate. Par exemple : CEB5B4372AA7BF877E56BCE27542F9F0A1AD197F.

      3. Exportez le certificat généré avec la clé privée via PowerShell (avec des privilèges élevés) :

        $CertPassword = ConvertTo-SecureString -String “Password” -Force -AsPlainText
        Export-PfxCertificate -Cert
        cert:\LocalMachine\My\CEB5B4372AA7BF877E56BCE27542F9F0A1AD197F -FilePath C:\self-signedcertificate.pfx -Password $CertPassword            
        
      4. Vous avez exporté le certificat avec la clé privée vers C:\self-signedcertificate.pfx.

    2. Installer le certificat sur tous les nœuds sur Ordinateur local ->Magasin d'autorités de certification racines de confiance :

      1. Cliquez sur le certificat et installez-le.
      2. Sélectionnez Ordinateur local, puis entrez le mot de passe.
      3. Sélectionnez Placer tous les certificats dans le magasin suivant. Cliquez sur Parcourir. Sélectionnez Autorités de certification racines de confiance.
      4. Sélectionnez Terminer pour installer le certificat.

      Capture d’écran montrant l’installation du certificat sur tous les nœuds.

  6. Résolution des problèmes

    1. Vérifiez que le certificat existe dans le magasin cible :

      1. Suivez la Procédure : afficher les certificats avec le composant logiciel enfichable MMC - WCF pour afficher les certificats (ordinateur local) dans le composant logiciel enfichable MMC.

        Capture d’écran montrant l’affichage des certificats dans le composant logiciel enfichable MMC.

      2. Vérifiez que le certificat est installé dans Personnel et Magasin d’autorités de certification racines de confiance (s’il s’agit d’un certificat auto-signé).

        Capture d’écran montrant le certificat installé dans le magasin Personnel et le magasin Autorités de certification racines de confiance.

    2. Vérifiez que le certificat possède une clé privée et qu’il n’a pas expiré.

      Capture d’écran montrant comment vérifier que le certificat a une clé privée et qu’il n’a pas expiré.

    3. Vérifiez que le compte de service du runtime d’intégration auto-hébergé (le compte par défaut est NT SERVICE\DIAHostService) dispose d’une autorisation d’accès en lecture aux clés privées du certificat :

      1. Cliquez avec le bouton droit sur le certificat- >Toutes les tâches ->Gérer les clés privées.

      2. Si ce n’est pas le cas, accordez l’autorisation, choisissez Appliquer et enregistrez.

        Capture d’écran montrant que le compte de service pour le runtime d’intégration auto-hébergé dispose d’une autorisation de lecture sur les clés privées du certificat.