Activer LDAP sur SSL avec une autorité de certification tierce

Cet article explique comment activer LDAP (Lightweight Directory Access Protocol) sur SSL (Secure Sockets Layer) avec une autorité de certification tierce.

S’applique à :   Windows Server 2012 R2
Numéro de la ko d’origine :   321051

Résumé

Le LDAP est utilisé pour lire et écrire dans Active Directory. Par défaut, le trafic LDAP est transmis sans garantie. Vous pouvez rendre le trafic LDAP confidentiel et sécurisé à l’aide de la technologie SSL/TLS (Transport Layer Security). Vous pouvez activer LDAP sur SSL (LDAPS) en installant un certificat correctement mis en forme à partir d’une autorité de certification Microsoft ou d’une autorité de certification non Microsoft conformément aux instructions de cet article.

Il n’existe aucune interface utilisateur pour configurer LDAPS. L’installation d’un certificat valide sur un contrôleur de domaine permet au service LDAP d’écouter et d’accepter automatiquement les connexions SSL pour le trafic de catalogue global et LDAP.

Conditions requises pour un certificat LDAPS

Pour activer LDAPS, vous devez installer un certificat qui répond aux exigences suivantes :

  • Le certificat LDAPS se trouve dans le magasin de certificats personnels de l’ordinateur local (appelé par programme magasin de certificats MY de l’ordinateur).

  • Une clé privée qui correspond au certificat est présente dans le magasin de l’ordinateur local et est correctement associée au certificat. La clé privée ne doit pas avoir une protection de clé privée forte activée.

  • L’extension Utilisation améliorée de la clé inclut l’identificateur d’objet Authentification serveur (1.3.6.1.5.5.7.3.1) (également appelé OID).

  • Le nom de domaine complet Active Directory du contrôleur de domaine (par exemple, dc01.contoso.com) doit apparaître à l’un des endroits suivants :

    • Nom commun (CN) dans le champ Objet.
    • Entrée DNS dans l’extension Autre nom de l’objet.
  • Le certificat a été émis par une ca que le contrôleur de domaine et les clients LDAPS ont confiance. La relation d’confiance est établie en configurant les clients et le serveur pour qu’ils font confiance à l’ac racine à laquelle l’ac émettrice est établie.

  • Utilisez le fournisseur de services de chiffrement Schannel (CSP) pour générer la clé.

Créer la demande de certificat

Tout utilitaire ou application qui crée une demande #10 PKCS valide peut être utilisé pour former la demande de certificat SSL. Utilisez Certreq pour former la demande.

Certreq.exe nécessite un fichier d’instructions texte pour générer une demande de certificat X.509 appropriée pour un contrôleur de domaine. Vous pouvez créer ce fichier à l’aide de votre éditeur de texte ASCII préféré. Enregistrez le fichier en tant que fichier .inf dans n’importe quel dossier de votre disque dur.

Pour demander un certificat d’authentification de serveur approprié pour LDAPS, suivez les étapes suivantes :

  1. Créez le fichier .inf. Voici un exemple de fichier .inf qui peut être utilisé pour créer la demande de certificat.

    ;----------------- request.inf -----------------

    [Version]

    Signature="$Windows NT$

    [NewRequest]

    Subject = "CN= <DC fqdn> " ; replace with the FQDN of the DC
    KeySpec = 1
    KeyLength = 1024
    ; Peut être 1024, 2048, 4096, 8192 ou 16384.
    ; Les plus grandes tailles de clé sont plus sécurisées, mais ont
    ; un impact plus important sur les performances.
    Exportable = TRUE
    MachineKeySet = TRUE
    SMIME = False
    PrivateKeyArchive = FALSE
    UserProtected = FALSE
    UseExistingKeySet = FALSE
    ProviderName = « Microsoft RSA SChannel Cryptographic Provider »
    ProviderType = 12
    RequestType = PKCS10
    KeyUsage = 0xa0

    [EnhancedKeyUsageExtension]

    OID=1.3.6.1.5.5.7.3.1 ; il s’agit de l’authentification du serveur

    ;-----------------------------------------------

    Coupez et collez l’exemple de fichier dans un nouveau fichier texte nommé Request.inf. Fournissez le nom DNS complet du contrôleur de domaine dans la demande.

    Certaines autorités de certification tierces peuvent nécessiter des informations supplémentaires dans le paramètre Subject. Ces informations incluent une adresse de messagerie (E), une unité d’organisation(OU), une organisation (O), une localité ou une ville (L), un département ou une province (S), et un pays ou une région (C). Vous pouvez append ces informations au nom de l’objet (CN) dans le fichier Request.inf. Par exemple :

    Subject="E= admin@contoso.com , CN= <DC fqdn> , OU=Servers, O=Contoso, L=Redmond, S=Washington, C=US."

  2. Créez le fichier de demande en exécutant la commande suivante à l’invite de commandes :

    certreq -new request.inf request.req
    

    Un nouveau fichier appelé Request.req est créé. Il s’agit du fichier de requête codé en base 64.

  3. Envoyez la demande à une ca. Vous pouvez envoyer la demande à une ca Microsoft ou à une ca tierce.

  4. Récupérez le certificat émis, puis enregistrez-le sous Certnew.cer dans le même dossier que le fichier de demande en suivant les étapes ci-après :

    1. Créez un fichier appelé Certnew.cer.
    2. Ouvrez le fichier Bloc-notes, collez le certificat codé dans le fichier, puis enregistrez le fichier.

    Notes

    Le certificat enregistré doit être codé en base64. Certaines CA tierces retournent le certificat émis au demandeur en tant que texte codé en base 64 dans un message électronique.

  5. Acceptez le certificat émis en exécutant la commande suivante à l’invite de commandes :

    certreq -accept certnew.cer
    
  6. Vérifiez que le certificat est installé dans le magasin personnel de l’ordinateur en suivant les étapes suivantes :

    1. Démarrez Microsoft Management Console (MMC).
    2. Ajoutez le logiciel en snap-in Certificats qui gère les certificats sur l’ordinateur local.
    3. Développez certificats (ordinateur local), développez Personnel, puis développez Certificats. Un nouveau certificat doit exister dans le magasin personnel. Dans la boîte de dialogue Propriétés du certificat, l’objectif prévu est l’authentification du serveur. Ce certificat est émis au nom d’hôte complet de l’ordinateur.
  7. Redémarrez le contrôleur de domaine.

Pour plus d’informations sur la création de la demande de certificat, consultez le livre blanc suivant sur l’inscription avancée des certificats et la gestion. Pour afficher ce livre blanc, voir Inscription et gestion avancées des certificats.

Vérifier une connexion LDAPS

Une fois qu’un certificat est installé, suivez les étapes suivantes pour vérifier que LDAPS est activé :

  1. Démarrez l’outil d’administration Active Directory (Ldp.exe).

  2. Dans le menu Connexion, cliquez sur Connecter.

  3. Tapez le nom du contrôleur de domaine auquel vous souhaitez vous connecter.

  4. Tapez 636 comme numéro de port.

  5. Cliquez sur OK.

    Les informations RootDSE doivent s’imprimer dans le volet droit, ce qui indique une connexion réussie.

Problèmes possibles

  • Démarrer la demande étendue TLS

    La communication LDAPS se produit sur le port TCP 636. La communication LDAPS vers un serveur de catalogue global se produit sur TCP 3269. Lors de la connexion aux ports 636 ou 3269, SSL/TLS est négocié avant l’échange du trafic LDAP.

  • Plusieurs certificats SSL

    Schannel, le fournisseur Microsoft SSL, sélectionne le premier certificat valide qu’il trouve dans le magasin d’ordinateurs local. Si plusieurs certificats valides sont disponibles dans le magasin d’ordinateurs local, Schannel risque de ne pas sélectionner le certificat correct.

  • Problème de mise en cache de certificat SSL pré-SP3

    Si un certificat LDAPS existant est remplacé par un autre certificat, soit par le biais d’un processus de renouvellement, soit parce que l’ac émettrice a changé, le serveur doit être redémarré pour que Schannel utilise le nouveau certificat.

Améliorations

La recommandation d’origine de cet article était de placer les certificats dans le magasin personnel de l’ordinateur local. Bien que cette option soit prise en charge, vous pouvez également placer des certificats dans le magasin de certificats personnels du service NTDS dans Windows Server 2008 et dans les versions ultérieures des services de domaine Active Directory (AD DS). Pour plus d’informations sur l’ajout du certificat au magasin de certificats personnels du service NTDS, voir ID d’événement 1220 - LDAP sur SSL.

AD DS recherche les certificats dans ce magasin sur le magasin de l’ordinateur local. Cela facilite la configuration d’AD DS pour utiliser le certificat que vous voulez qu’il utilise. Cela est dû au fait qu’il peut y avoir plusieurs certificats dans le magasin Personnel des ordinateurs locaux et qu’il peut être difficile de prévoir celui qui est sélectionné.

AD DS détecte lorsqu’un nouveau certificat est déposé dans son magasin de certificats, puis déclenche une mise à jour de certificat SSL sans avoir à redémarrer AD DS ou redémarrer le contrôleur de domaine.

Une nouvelle opération rootDse nommée renewServerCertificate peut être utilisée pour déclencher manuellement AD DS afin de mettre à jour ses certificats SSL sans avoir à redémarrer AD DS ou redémarrer le contrôleur de domaine. Cet attribut peut être mis à jour à l’aide d’adsiedit.msc ou en important la modification au format LDIF (Directory Interchange Format) LDAP à l’aide de ldifde.exe. Pour plus d’informations sur l’utilisation de LDIF pour mettre à jour cet attribut, voir renewServerCertificate.

Enfin, si un contrôleur de domaine Windows Server 2008 ou une version ultérieure trouve plusieurs certificats dans son magasin, il sélectionne automatiquement le certificat dont la date d’expiration est la plus longue à l’avenir. Ensuite, si votre certificat actuel approche de sa date d’expiration, vous pouvez déposer le certificat de remplacement dans le magasin, et AD DS bascule automatiquement pour l’utiliser.

Tous ces éléments fonctionnent pour Windows Server 2008 AD DS et pour les services AD LDS (Active Directory Lightweight Directory Services) 2008. Pour AD LDS, placez les certificats dans le magasin de certificats personnels pour le service qui correspond à l’instance AD LDS au lieu du service NTDS.