Comment activer la signature LDAP dans Windows Server

Cet article décrit comment activer la signature LDAP dans Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 10 et Windows 11.

Sʼapplique à : Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 11 - toutes éditions, Windows 10 - toutes éditions.
Numéro de l’article d’origine dans la base de connaissances : 935834

Résumé

La sécurité d’un serveur d’annuaire peut être considérablement améliorée en le configurant pour qu’il rejette les liaisons LDAP SASL (Simple Authentication and Security Layer) qui ne demandent pas de signature (vérification d’intégrité) ou pour qu’il rejette les liaisons LDAP simples effectuées sur une connexion avec texte en clair (non chiffrée via SSL/TLS). Les liaisons SASL peuvent inclure des protocoles tels que Negotiate, Kerberos, NTLM et Digest.

Le trafic réseau non signé est susceptible de réexécuter des attaques. Dans de tels cas, un intrus intercepte la tentative d’authentification et l’émission d’un ticket. Le pirate peut réutiliser le ticket pour usurper l’identité de l’utilisateur légitime. En outre, tout trafic réseau non signé est exposé à des attaques de l’intercepteur (MIM), où le pirate intercepte des paquets entre le client et le serveur, les modifie, puis les transfère au serveur. Si ce problème se produit sur un serveur LDAP, l’attaquant peut obliger le serveur à prendre des décisions basées sur des requêtes contrefaites provenant du client LDAP.

Comment découvrir les clients qui n’utilisent pas l’option Exiger la signature

Les systèmes clients basés sur des liaisons LDAP SASL (Negotiate, Kerberos, NTLM ou Digest) non signées ou sur des liaisons LDAP simples sur une connexion non-SSL/TLS cessent de fonctionner après cette modification de configuration. Pour vous aider à identifier ces clients, le serveur d’annuaire Active Directory Domain Services (AD DS) ou Lightweight Directory Server (LDS) enregistre un ID d’événement récapitulatif 2887 une fois toutes les 24 heures pour indiquer le nombre de liaisons de ce type. Nous vous recommandons de configurer les systèmes clients afin d’éviter d’utiliser ces types de liaisons. Si aucun événement correspondant n’est observé durant une longue période, il est recommandé de configurer le serveur de sorte qu’il rejette ces liaisons.

Si vous avez besoin de plus d’informations pour identifier ces clients, vous pouvez configurer le serveur d’annuaire pour qu’il fournisse des journaux plus détaillés. Cette journalisation supplémentaire enregistrera un ID d’événement 2889 lorsqu’un client essaie d’établir une liaison LDAP non signée. L’entrée du journal affiche l’adresse IP du client et l’identité que le client a essayé d’utiliser pour l’authentification. Vous pouvez activer ces informations supplémentaires en définissant le paramètre de diagnostic 16 événements d’interface LDAP sur 2 (de base). Pour plus d’informations sur la modification des paramètres de diagnostic, consultez la section Comment configurer la journalisation des événements de diagnostic Active Directory et LDS.

Si le serveur d’annuaire est configuré pour rejeter les liaisons LDAP simples ou les liaisons LDAP SASL non signées sur une connexion non-SSL/TLS, le serveur d’annuaire enregistre un ID d’événement récapitulatif 2888 une fois toutes les 24 heures lorsque ces tentatives de liaison se produisent.

Comment configurer l’annuaire pour exiger la signature du serveur LDAP pour AD DS

Pour plus d’informations sur les conséquences possibles de la modification des paramètres de sécurité, consultez la section Incompatibilités au niveau des clients, des services et des programmes pouvant survenir lors de la modification des paramètres de sécurité et des attributions de droits d’utilisateur.

Utilisation de la stratégie de groupe

Comment définir la condition pour la signature de serveur LDAP

  1. Cliquez sur Démarrer>Exécuter, tapez mmc.exe, puis sélectionnez OK.
  2. Sélectionnez Fichier>Ajouter/Supprimer un composant logiciel enfichable, sélectionnez Éditeur de gestion des stratégies de groupe, puis cliquez sur Ajouter.
  3. Sélectionnez Objet de stratégie de groupe>Rechercher.
  4. Dans la boîte de dialogue Rechercher un objet de stratégie de groupe, cliquez sur Stratégie du contrôleur de domaine par défaut sous la section Domaines, unités d’organisation et objets de stratégie de groupe liés, puis cliquez sur OK.
  5. Sélectionnez Terminer.
  6. Sélectionnez OK.
  7. Développez Stratégie par défaut des contrôleurs de domaine>Configuration ordinateur>Stratégies>Paramètres Windows>Paramètres de sécurité>Stratégies locales, puis cliquez sur Options de sécurité.
  8. Cliquez avec le bouton droit sur Contrôleur de domaine : exigences de signature du serveur LDAP, puis sélectionnez Propriétés.
  9. Dans la boîte de dialogue Propriétés de conditions requises pour la signature de serveur LDAP, activez l’option Définir ce paramètre de stratégie, cliquez sur Exiger la signature dans la liste déroulante Définir ce paramètre de stratégie, puis cliquez sur OK.
  10. Dans la boîte de dialogue Confirmer la modification du paramètre, sélectionnez Oui.

Comment définir la condition pour la signature de client LDAP via une stratégie d’ordinateur local

  1. Cliquez sur Démarrer>Exécuter, tapez mmc.exe, puis sélectionnez OK.
  2. Sélectionnez Fichier>Ajouter/Supprimer un composant logiciel enfichable.
  3. Dans la boîte de dialogue Ajouter ou supprimer des composants logiciels enfichables, cliquez sur Éditeur d’objets de stratégie de groupe, puis sur Ajouter.
  4. Sélectionnez Terminer.
  5. Sélectionnez OK.
  6. Sélectionnez Stratégie d’ordinateur local>Configuration ordinateur>Stratégies>Paramètres Windows>Paramètres de sécurité>Stratégies locales, puis cliquez sur Options de sécurité.
  7. Cliquez avec le bouton droit sur Sécurité réseau : conditions de signature du client LDAP, puis sélectionnez Propriétés.
  8. Dans la boîte de dialogue Sécurité réseau : propriétés des conditions de signature du client LDAP, cliquez sur Exiger la signature dans la liste, puis sélectionnez OK.
  9. Dans la boîte de dialogue Confirmer la modification du paramètre, sélectionnez Oui.

Comment définir la condition de signature du client LDAP via un objet de stratégie de groupe de domaine

  1. Cliquez sur Démarrer>Exécuter, tapez mmc.exe, puis sélectionnez OK.
  2. Sélectionnez Fichier>Ajouter/Supprimer un composant logiciel enfichable.
  3. Dans la boîte de dialogue Ajouter ou supprimer des composants logiciels enfichables, cliquez sur Éditeur d’objets de stratégie de groupe, puis sur Ajouter.
  4. Cliquez sur Parcourir, puis sélectionnez Stratégie de domaine par défaut (ou l’objet de stratégie de groupe pour lequel vous voulez activer la signature du client LDAP).
  5. Sélectionnez OK.
  6. Sélectionnez Terminer.
  7. Sélectionnez Fermer.
  8. Sélectionnez OK.
  9. Sélectionnez Stratégie de domaine par défaut>Configuration ordinateur>Paramètres Windows>Paramètres de sécurité>Stratégies locales, puis cliquez sur Options de sécurité.
  10. Dans la boîte de dialogue Sécurité réseau : propriétés des conditions de signature du client LDAP, cliquez sur Exiger la signature dans la liste, puis sélectionnez OK.
  11. Dans la boîte de dialogue Confirmer la modification du paramètre, sélectionnez Oui.

Comment définir la condition de signature du client LDAP avec les clés du registre

Importante

Suivez attentivement les étapes de cette section. Des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Avant de modifier le Registre, sauvegardez-le pour restauration en cas de problèmes.

Par défaut, la clé de Registre n’est pas disponible pour les services AD LDS (Active Directory Lightweight Directory Services). Par conséquent, vous devez créer une entrée de registre LDAPServerIntegrity de type REG_DWORD sous la sous-clé de registre suivante :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<InstanceName>\Parameters

Remarque

L’espace réservé à <InstanceName> représente le nom de l’instance AD LDS à modifier.

L’entrée de Registre a les valeurs possibles suivantes :

  • 0 : la signature est désactivée.
  • 2 : La signature est activée.

Lorsque vous modifiez cette valeur, la nouvelle valeur prend effet immédiatement. À ce stade, vous n’avez pas à redémarrer l’ordinateur.

Comment vérifier les modifications de la configuration

  1. Connectez-vous à un ordinateur sur lequel les outils d’administration AD DS sont installés.

  2. Sélectionnez Démarrer>Exécuter, tapez ldp.exe, puis cliquez sur OK.

  3. Sélectionnez Connexion>Connecter.

  4. Dans les champs Serveur et Port, tapez le nom du serveur et le port non-SSL/TLS de votre serveur d’annuaire, puis cliquez sur OK.

    Remarque

    Pour un contrôleur de domaine Active Directory, le port applicable est 389.

  5. Une fois la connexion établie, sélectionnez Connexion>Liaison.

  6. Sous Type de liaison, sélectionnez Liaison simple.

  7. Tapez le nom d’utilisateur et le mot de passe, puis cliquez sur OK.

    Si le message d’erreur ci-dessous s’affiche, cela signifie que vous avez correctement configuré votre serveur d’annuaire :

    Ldap_simple_bind_s() a échoué : authentification forte requise

Informations de référence sur les événements pour les exigences de signature LDAP

ID d’événement 2886

Après le démarrage des services DS, l’ID d’événement 2886 est journalisé pour rappeler aux administrateurs d’activer les exigences de signature :

Log Name:      Directory Service
Source:        Microsoft-Windows-ActiveDirectory_DomainService
Event ID:      2886
Task Category: LDAP Interface
Level:         Warning
Keywords:      Classic
Description:
The security of this directory server can be significantly enhanced by configuring the server to reject SASL (Negotiate, Kerberos, NTLM, or Digest) LDAP binds that do not request signing (integrity verification) and LDAP simple binds that are performed on a clear text (non-SSL/TLS-encrypted) connection. Even if no clients are using such binds, configuring the server to reject them will improve the security of this server. 
 
Some clients may currently be relying on unsigned SASL binds or LDAP simple binds over a non-SSL/TLS connection, and will stop working if this configuration change is made. To assist in identifying these clients, if such binds occur this directory server will log a summary event once every 24 hours indicating how many such binds occurred. You are encouraged to configure those clients to not use such binds. Once no such events are observed for an extended period, it is recommended that you configure the server to reject such binds. 
 
For more details and information on how to make this configuration change to the server, please see http://go.microsoft.com/fwlink/?LinkID=87923. 
 
You can enable additional logging to log an event each time a client makes such a bind, including information on which client made the bind. To do so, please raise the setting for the "LDAP Interface Events" event logging category to level 2 or higher.

ID d’événement 2887

Lorsqu’un client problématique est détecté mais autorisé, un événement de synthèse (ID d’événement 2887) des dernières 24 heures est journalisé :

Log Name:      Directory Service
Source:        Microsoft-Windows-ActiveDirectory_DomainService
Event ID:      2887
Task Category: LDAP Interface
Level:         Warning
Keywords:      Classic
Description:
During the previous 24 hour period, some clients attempted to perform LDAP binds that were either:
(1) A SASL (Negotiate, Kerberos, NTLM, or Digest) LDAP bind that did not request signing (integrity validation), or
(2) A LDAP simple bind that was performed on a clear text (non-SSL/TLS-encrypted) connection

This directory server is not currently configured to reject such binds. The security of this directory server can be significantly enhanced by configuring the server to reject such binds. For more details and information on how to make this configuration change to the server, please see http://go.microsoft.com/fwlink/?LinkID=87923.

Summary information on the number of these binds received within the past 24 hours is below.

You can enable additional logging to log an event each time a client makes such a bind, including information on which client made the bind. To do so, please raise the setting for the "LDAP Interface Events" event logging category to level 2 or higher.

Number of simple binds performed without SSL/TLS: <count of binds>
Number of Negotiate/Kerberos/NTLM/Digest binds performed without signing: <count of binds>

ID d’événement 2888

Lorsqu’un client problématique est rejeté, un événement récapitulatif (ID d’événement 2888) des dernières 24 heures est journalisé :

Log Name:      Directory Service
Source:        Microsoft-Windows-ActiveDirectory_DomainService
Event ID:      2888
Task Category: LDAP Interface
Level:         Information
Keywords:      Classic
Description:
During the previous 24 hour period, some clients attempted to perform LDAP binds that were either:
(1) A SASL (Negotiate, Kerberos, NTLM, or Digest) LDAP bind that did not request signing (integrity validation), or
(2) A LDAP simple bind that was performed on a clear text (non-SSL/TLS-encrypted) connection

This directory server is configured to reject such binds.  This is the recommended configuration setting, and significantly enhances the security of this server. For more details, please see http://go.microsoft.com/fwlink/?LinkID=87923.

Summary information on the number of such binds received within the past 24 hours is below.

You can enable additional logging to log an event each time a client makes such a bind, including information on which client made the bind. To do so, please raise the setting for the "LDAP Interface Events" event logging category to level 2 or higher.

Number of simple binds rejected because they were performed without SSL/TLS: <count of binds>
Number of Negotiate/Kerberos/NTLM/Digest binds rejected because they were performed without signing: <count of binds>

ID d’événement 2889

Lorsqu’un client en problème tente de se connecter, l’ID d’événement 2889 est journalisé :

Log Name:      Directory Service
Source:        Microsoft-Windows-ActiveDirectory_DomainService
Event ID:      2889
Task Category: LDAP Interface
Level:         Information
Keywords:      Classic
Description:
The following client performed a SASL (Negotiate/Kerberos/NTLM/Digest) LDAP bind without requesting signing (integrity verification), or performed a simple bind over a clear text (non-SSL/TLS-encrypted) LDAP connection. 
 
Client IP address:
<IP address>:<TCP port>
Identity the client attempted to authenticate as:
contoso\<username>
Binding Type:
0 – Simple Bind that does not support signing
1 – SASL Bind that does not use signing

References