Afficher et définir une stratégie LDAP dans Active Directory à l’aide de Ntdsutil.exe
Cet article explique comment gérer les stratégies LDAP (Lightweight Directory Access Protocol) à l’aide de l’outil Ntdsutil.exe.
Numéro de base de connaissances d’origine : 315071
Résumé
Pour vous assurer que les contrôleurs de domaine peuvent prendre en charge les garanties au niveau du service, vous devez spécifier des limites opérationnelles pour de nombreuses opérations LDAP. Ces limites empêchent les opérations spécifiques d’affecter négativement les performances du serveur. Ils rendent également le serveur plus résilient à certains types d’attaques.
Les stratégies LDAP sont implémentées à l’aide d’objets de la queryPolicy
classe. Les objets de stratégie de requête peuvent être créés dans le conteneur Stratégies de requête, qui est un enfant du conteneur du service d’annuaire dans le contexte d’affectation de noms de configuration. Par exemple, cn=Query-Policies,cn=Directory Service,cn=Windows NT,cn=Services configuration naming context.
Limites d’administration LDAP
Les limites d’administration LDAP sont les suivantes :
InitRecvTimeout : cette valeur définit la durée maximale en secondes pendant laquelle un contrôleur de domaine attend que le client envoie la première requête une fois que le contrôleur de domaine reçoit une nouvelle connexion. Si le client n’envoie pas la première requête dans ce délai, le serveur déconnecte le client.
Valeur par défaut : 120 secondes
MaxActiveQueries : nombre maximal d’opérations de recherche LDAP simultanées autorisées à s’exécuter simultanément sur un contrôleur de domaine. Lorsque cette limite est atteinte, le serveur LDAP retourne une erreur occupée .
Valeur par défaut : 20
Note
Ce contrôle a une interaction incorrecte avec la valeur MaxPoolThreads. MaxPoolThreads est un contrôle par processeur, tandis que MaxActiveQueries définit un nombre absolu. À compter de Windows Server 2003, MaxActiveQueries n’est plus appliqué. En outre, MaxActiveQueries n’apparaît pas dans la version 2003 de Windows Server NTDSUTIL.
Valeur par défaut : 20
MaxConnections : nombre maximal de connexions LDAP simultanées qu’un contrôleur de domaine acceptera. Si une connexion se produit une fois que le contrôleur de domaine atteint cette limite, le contrôleur de domaine supprime une autre connexion.
Valeur par défaut : 5000
MaxConnIdleTime : durée maximale en secondes pendant laquelle le client peut être inactif avant que le serveur LDAP ferme la connexion. Si une connexion est inactive pendant plus de cette période, le serveur LDAP retourne une notification de déconnexion LDAP.
Valeur par défaut : 900 secondes
MaxDatagramRecv : taille maximale d’une demande de datagramme qu’un contrôleur de domaine traitera. Les requêtes supérieures à la valeur de MaxDatagramRecv sont ignorées.
Valeur par défaut : 4 096 octets
MaxNotificationPerConnection : nombre maximal de demandes de notification en attente autorisées sur une seule connexion. Lorsque cette limite est atteinte, le serveur retourne une erreur occupée à toutes les nouvelles recherches de notification effectuées sur cette connexion.
Valeur par défaut : 5
MaxPageSize : cette valeur contrôle le nombre maximal d’objets retournés dans un résultat de recherche unique, indépendamment de la taille de chaque objet retourné. Pour effectuer une recherche dans laquelle le résultat peut dépasser ce nombre d’objets, le client doit spécifier le contrôle de recherche paginé. Il s’agit de regrouper les résultats retournés dans les groupes qui ne sont pas supérieurs à la valeur MaxPageSize. Pour résumer, MaxPageSize contrôle le nombre d’objets retournés dans un résultat de recherche unique.
Valeur par défaut : 1 000
MaxPoolThreads : nombre maximal de threads par processeur qu’un contrôleur de domaine consacre à l’écoute de l’entrée ou de la sortie réseau (E/S). Cette valeur détermine également le nombre maximal de threads par processeur qui peuvent fonctionner simultanément sur les requêtes LDAP.
Valeur par défaut : 4 threads par processeur
MaxResultSetSize : entre les recherches individuelles qui composent une recherche de résultats paginées, le contrôleur de domaine peut stocker des données intermédiaires pour le client. Le contrôleur de domaine stocke ces données pour accélérer la partie suivante de la recherche de résultats paginées. La valeur MaxResultSize contrôle la quantité totale de données que le contrôleur de domaine stocke pour ce type de recherche. Lorsque cette limite est atteinte, le contrôleur de domaine ignore le plus ancien de ces résultats intermédiaires pour faire de la place pour stocker de nouveaux résultats intermédiaires.
Valeur par défaut : 262 144 octets
MaxQueryDuration : durée maximale en secondes pendant laquelle un contrôleur de domaine passe sur une seule recherche. Lorsque cette limite est atteinte, le contrôleur de domaine retourne une erreur « timeLimitExceededed ». Les recherches nécessitant plus de temps doivent spécifier le contrôle de résultats paginés.
Valeur par défaut : 120 secondes
MaxTempTableSize : pendant qu’une requête est traitée, il
dblayer
peut essayer de créer une table de base de données temporaire pour trier et sélectionner des résultats intermédiaires. La limite MaxTempTableSize contrôle la taille de cette table de base de données temporaire. Si la table de base de données temporaire contient plus d’objets que la valeur de MaxTempTableSize, elledblayer
effectue une analyse beaucoup moins efficace de la base de données DS complète et de tous les objets de la base de données DS.Valeur par défaut : 10 000 enregistrements
MaxValRange : cette valeur contrôle le nombre de valeurs retournées pour un attribut d’un objet, indépendamment du nombre d’attributs de cet objet ou du nombre d’objets qui se trouvaient dans le résultat de la recherche. Dans Windows 2000, ce contrôle est codé en dur à 1 000. Si un attribut a plus que le nombre de valeurs spécifiées par la valeur MaxValRange, vous devez utiliser des contrôles de plage de valeurs dans LDAP pour récupérer les valeurs qui dépassent la valeur MaxValRange. MaxValueRange contrôle le nombre de valeurs retournées sur un seul attribut sur un seul objet.
- Valeur minimale : 30
- Valeur par défaut : 1500
Démarrer Ntdsutil.exe
Ntdsutil.exe se trouve dans le dossier Outils de support sur le CD-ROM d’installation de Windows. Par défaut, Ntdsutil.exe est installé dans le dossier System32.
- Cliquez sur Démarrer, puis sur Exécuter.
- Dans la zone de texte Ouvrir , tapez ntdsutil, puis appuyez sur Entrée. Pour afficher de l’aide à tout moment, tapez
?
à l’invite de commandes.
Afficher les paramètres de stratégie actuels
- À l’invite de commandes Ntdsutil.exe, tapez
LDAP policies
, puis appuyez sur Entrée. - À l’invite de commandes de stratégie LDAP, tapez
connections
, puis appuyez sur Entrée. - À l’invite de commandes de connexion au serveur, tapez
connect to server <DNS name of server>
, puis appuyez sur Entrée. Vous souhaitez vous connecter au serveur avec lequel vous travaillez actuellement. - À l’invite de commandes de connexion au serveur, tapez
q
, puis appuyez sur Entrée pour revenir au menu précédent. - À l’invite de commandes de stratégie LDAP, tapez
Show Values
, puis appuyez sur Entrée.
Affichage des stratégies telles qu’elles existent.
Modifier les paramètres de stratégie
À l’invite de commandes Ntdsutil.exe, tapez
LDAP policies
, puis appuyez sur Entrée.À l’invite de commandes de stratégie LDAP, tapez
Set <setting> to <variable>
, puis appuyez sur Entrée. Par exemple, tapez Définir MaxPoolThreads sur 8.Ce paramètre change si vous ajoutez un autre processeur à votre serveur.
Vous pouvez utiliser la
Show Values
commande pour vérifier vos modifications.Pour enregistrer les modifications, utilisez Commit Changes.
Lorsque vous avez terminé, tapez
q
, puis appuyez sur Entrée.Pour quitter Ntdsutil.exe, à l’invite de commandes, tapez
q
, puis appuyez sur Entrée.
Note
Cette procédure affiche uniquement les paramètres de stratégie de domaine par défaut. Si vous appliquez votre propre paramètre de stratégie, vous ne pouvez pas le voir.
Redémarrage obligatoire
Si vous modifiez les valeurs de la stratégie de requête qu’un contrôleur de domaine utilise actuellement, ces modifications prennent effet sans redémarrage. Toutefois, si une nouvelle stratégie de requête est créée, un redémarrage est nécessaire pour que la nouvelle stratégie de requête prenne effet.
Considérations relatives à la modification des valeurs de requête
Pour maintenir la résilience du serveur de domaine, nous vous déconseillons d’augmenter la valeur de délai d’expiration de 120 secondes. La création de requêtes plus efficaces est une solution préférée. Pour plus d’informations sur la création de requêtes efficaces, consultez Création d’applications Microsoft Active Directory plus efficaces.
Toutefois, si la modification de la requête n’est pas une option, augmentez la valeur de délai d’expiration uniquement sur un seul contrôleur de domaine ou sur un seul site. Pour obtenir des instructions, reportez-vous à la section suivante. Si le paramètre est appliqué à un contrôleur de domaine, réduisez la priorité LDAP DNS sur le contrôleur de domaine afin que les clients utilisent moins probablement le serveur pour l’authentification. Sur le contrôleur de domaine avec la priorité accrue, utilisez le paramètre de Registre suivant pour définir LdapSrvPriority
:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
Dans le menu Modifier , sélectionnez Ajouter une valeur, puis ajoutez la valeur de Registre suivante :
- Nom de l’entrée : LdapSrvPriority
- Type de données : REG_DWORD
- Valeur : définissez la valeur sur la valeur de la priorité souhaitée.
Pour plus d’informations, consultez Comment optimiser l’emplacement d’un contrôleur de domaine ou d’un catalogue global qui réside en dehors du site d’un client.
Instructions pour la configuration par contrôleur de domaine ou par stratégie de site
Créez une stratégie de requête sous CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration, racine de forêt.
Définissez le contrôleur de domaine ou le site pour qu’il pointe vers la nouvelle stratégie en entrant le nom unique de la nouvelle stratégie dans l’attribut Query-Policy-Object . L’emplacement de l’attribut est le suivant :
L’emplacement du contrôleur de domaine est CN=NTDS Settings, CN= DomainControllerName, CN=Servers,CN= site name,CN=Sites,CN=Configuration, forest root.
L’emplacement du site est CN=NTDS Site Settings,CN= site name,CN=Sites,CN=Configuration, forest root.
Exemple de script
Vous pouvez utiliser le texte suivant pour créer un fichier Ldifde. Vous pouvez importer ce fichier pour créer la stratégie avec une valeur de délai d’expiration de 10 minutes. Copiez ce texte dans Ldappolicy.ldf, puis exécutez la commande suivante, où la racine de forêt est le nom unique de votre racine de forêt. Laissez DC=X tel qu’il est. Il s’agit d’une constante qui sera remplacée par le nom racine de la forêt lors de l’exécution du script. La constante X n’indique pas de nom de contrôleur de domaine.
ldifde -i -f ldappolicy.ldf -v -c DC=X DC= forest root
Démarrer le script Ldifde
dn: CN=Extended Timeout,CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=X
changetype: add
instanceType: 4
lDAPAdminLimits: MaxReceiveBuffer=10485760
lDAPAdminLimits: MaxDatagramRecv=1024
lDAPAdminLimits: MaxPoolThreads=4
lDAPAdminLimits: MaxResultSetSize=262144
lDAPAdminLimits: MaxTempTableSize=10000
lDAPAdminLimits: MaxQueryDuration=300
lDAPAdminLimits: MaxPageSize=1000
lDAPAdminLimits: MaxNotificationPerConn=5
lDAPAdminLimits: MaxActiveQueries=20
lDAPAdminLimits: MaxConnIdleTime=900
lDAPAdminLimits: InitRecvTimeout=120
lDAPAdminLimits: MaxConnections=5000
objectClass: queryPolicy
showInAdvancedViewOnly: TRUE
Après avoir importé le fichier, vous pouvez modifier les valeurs de requête à l’aide d’Adsiedit.msc ou de Ldp.exe. Le paramètre MaxQueryDuration dans ce script est de 5 minutes.
Pour lier la stratégie à un contrôleur de domaine, utilisez un fichier d’importation LDIF comme suit :
dn: CN=NTDS
Settings,CN=DC1,CN=Servers,CN=site1,CN=Sites,CN=Configuration, DC=X
changetype: modify
add: queryPolicyobject
queryPolicyobject: CN=Extended Timeout,CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=X
Importez-le à l’aide de la commande suivante :
ldifde -i -f link-policy-dc.ldf -v -c DC=X DC= **forest root**
Pour un site, le fichier d’importation LDIF contient :
dn: CN=NTDS Site Settings,CN=site1,CN=Sites,CN=Configuration, DC=X
changetype: modify
add: queryPolicyobject
queryPolicyobject: CN=Extended Timeout,CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=X
Note
Ntdsutil.exe affiche uniquement la valeur dans la stratégie de requête par défaut. Si des stratégies personnalisées sont définies, elles ne sont pas affichées par Ntdsutil.exe.