Modifier les limites d’administration LDAP sur Active Directory

Envoyer

Sommaire

 

 

Les règles de requêtes LDAP

Les requêtes LDAP sous Active Directory disposent d’un ensemble de limites afin d’en assurer la performance et la sécurité. Ces règles définissent entre autres le nombre de requêtes LDAP exécutées simultanément, le nombre de connexions simultanées ou le nombre maximum d’objets retournés pour une requête (Pour la liste des valeurs possibles, veuillez consulter l’article Microsoft LDAP policies).

Par exemple, une requête LDAP sur l’annuaire Active Directory retourne par défaut un maximum de 1000 objets via la valeur MaxPageSize. Nous allons donc voir comment modifier cette valeur à titre d’exemple.

ATTENTION !!! Ces valeurs ne doivent pas être modifiées à la légère car elles peuvent entrainer des problèmes de stabilité sur votre annuaire Active Directory.

 

 

Modifier MaxPageSize avec NTDSUTIL

En guise de démonstration, nous allons modifier la valeur MaxPageSize.  Pour cela, nous allons passer par l’outil ntdsutil.

ATTENTION !!! la modification d'une valeur impactera l’ensemble de votre forêt.

Débutons par l’exécution de « ntdsutil » depuis une invite de commandes.

 

Une fois dans ntdsutil, exécutez la commande « ldap policies ».

 

Nous allons devoir maintenant nous connecter sur un contrôleur de domaine. Saisissez donc la commande « Connections » et ensuite « Connect to server SERVEUR » où SERVEUR est le nom d’un de vos contrôleurs de domaine. Une fois la connexion établie, quittez le menu server connections à l’aide de la commande « q ».

 

Vous pouvez maintenant visualiser la liste des valeurs définies pour les limites fixées aux requêtes LDAP à l’aide de la commande « show values ». Nous pouvons constater que la valeur par défaut de MaxPageSize est de 1000.

 

Pour modifier cette valeur à 2500, saisissez la commande  « set MaxPageSize to 2500 ».

 

Vérifiez que la nouvelle valeur a bien été prise en compte de nouveau à l’aide de la commande « show values ». La nouvelle valeur apparait entre parenthèses.

 

Pour terminer, il faut valider la modification à l’aide de la commande « commit changes ». La prise en compte de cette modification est immédiate et ne nécessite pas de redémarrage des contrôleurs de domaine.

 

 

Modifier MaxPageSize avec ADSIEDIT

Si vous n’êtes pas à l’aise avec ntdsutil, il est possible de réaliser la même opération via adsiedit.

Nous exécutons « adsiedit.msc » depuis « Démarrer » | « Exécuter ».

 

 

 

 

 

La stratégie LDAP est stockée dans le contexte d’attribution de noms configuration. Nous allons donc nous connecter sur la partition de configuration. Pour cela, réalisons un clic droit sur « Modification ADSI » et choisissons « Connexion… ». Il suffit de préciser dès lors le point de connexion « Configuration » dans la liste « Sélectionnez un contexte d’attribution de noms connu : » depuis la fenêtre Paramètres de connexion.

 

 

 

 

 

 

 

 

Réalisez un clic droit sur l’objet « CN=Default Query Policy » ayant pour chemin « CN=Query-Policies,CN=Windows NT,CN=Services,CN=Configuration,DC=corpnet,DC=net » (pour la forêt corpnet.net) et sélectionnez « Propriétés ».

 

 

 

 

 

 

Remarque: CN=Default Query Policy  est un objet de la classe queryPolicy.

ATTENTION !!! Si vous modifiez CN=Default Query Policy cela aura un impact sur l’ensemble de votre forêt.

Repérez et sélectionnez l’attribut « lDAPAdminLimits » puis cliquez sur « Modifier ».

 

 

 

 

 

 

 

 

 

Choisissez la valeur « MaxPageSize=1000 » et supprimez-là à l’aide du bouton « Supprimer ». Il ne reste plus qu’à préciser la nouvelle valeur (dans notre exemple MaxPageSize=2500) et cliquez sur le bouton « Ajouter ».

 

 

 

 

 

 

 

 

 

Remarque: notez que l’attribut lDAPAdminLimits contient l’ensemble des valeurs des limites d’administration LDAP.

 

 

 

Appliquer une limite d’administration LDAP sur un contrôleur ou site spécifique

Les modifications des valeurs de limite d’administration LDAP réalisées via ntdsutil ou sur l’objet « CN=Default Query Policy,CN=Query-Policies,CN=Windows NT,CN=Services,CN=Configuration,DC=corpnet,DC=net » concerne l’ensemble de la forêt. Il est par contre possible de modifier ces valeurs pour un site ou un contrôleur de domaine en particulier.

Premièrement, il faut créer un nouvel objet issu de la classe queryPolicy au sein du conteneur « CN=Query-Policies,CN=Windows NT,CN=Services,CN=Configuration,DC=corpnet,DC=net ». Comme le propose Microsoft dans sa KB, nous allons l’injecter à l’aide d’un fichier .ldf et de l’outil ldifde.

Créez donc un fichier avec l’extension .ldf et, à l’aide de Notepad, ajoutez le contenu suivant (Modifiez les valeurs en fonction de vos besoins) :

dn: CN=Extended MaxPageSize,CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=CORPNET,DC=NET
changetype: add
instanceType: 4
lDAPAdminLimits: InitRecvTimeout=120
lDAPAdminLimits: MaxConnections=5000
lDAPAdminLimits: MaxConnIdleTime=900
lDAPAdminLimits: MaxDatagramRecv=4096
lDAPAdminLimits: MaxNotificationPerConn=5
lDAPAdminLimits: MaxPageSize=1500
lDAPAdminLimits: MaxPoolThreads=4
lDAPAdminLimits: MaxQueryDuration=120
lDAPAdminLimits: MaxReceiveBuffer=10485760
lDAPAdminLimits: MaxResultSetSize=262144
lDAPAdminLimits: MaxTempTableSize=10000
lDAPAdminLimits: MaxValRange=1500
objectClass: queryPolicy
showInAdvancedViewOnly: TRUE

Remarque: faites attention aux espaces possibles à la fin de chaque ligne.

Nous avons pris comme DN « CN=Extended MaxPageSize,CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=CORPNET,DC=NET » où « CN=Extended MaxPageSize » sera le nom de notre nouvelle stratégie et « DC=CORPNET,DC=NET » est le nom de notre forêt.

Une fois le fichier créé et depuis un invite de commandes, saisissez la commande suivante : ldifde -i -f ldap-policy.ldf -v -c DC=X DC=CORPNET,DC=NET

 

 

 

 

 

Remarque: Modifiez DC=CORPNET,DC=NET en fonction du nom de votre forêt. Conservez DC=X tel quel.

La nouvelle stratégie est créée. Elle est désormais disponible depuis le conteneur « CN=Query-Policies,CN=Windows NT,CN=Services,CN=Configuration,DC=corpnet,DC=net ».

 

 

 

 

 

 

Il faut maintenant la lier à l’objet « NTDS Settings » du contrôleur de domaine ou du site concerné à l’aide de l’attribut « queryPolicyObject ».

  • L’objet « NTDS Settings » d’un site sera localisé dans le conteneur « CN=MONSITE,CN=Sites,CN=Configuration,DC=corpnet,DC=net ».
  • L’objet « NTDS Settings » d’un contrôleur de domaine sera localisé dans le conteneur « CN=MONSERVER,CN=Servers,CN=MONSITE,CN=Sites,CN=Configuration,DC=corpnet,DC=net ».

A titre d’exemple, nous allons référencer notre nouvelle stratégie au contrôleur de domaine WIN2008-1. A l’aide de adsiedit, nous naviguons jusqu’à l’objet NTDS Settings du contrôleur de domaine, nous réalisons un clic droit sur ce dernier et sélectionnons « Propriétés ». Nous localisons ensuite l’attribut « queryPolicyObject » pour le modifier et y entrer le distinguishedName de notre nouvelle police.

 

 

 

 

 

 

 

 

 

Le contrôleur de domaine dispose désormais d’une stratégie spécifique sur les limites d’administration LDAP. Notez qu’il sera toutefois nécessaire de redémarrer le ou les contrôleurs de domaine concernés lorsque vous tentez d’appliquer une nouvelle stratégie.

ATTENTION !!! ntdsutil n’affichera que la stratégie par défaut du domaine mais si vous êtes connecté sur le contrôleur de domaine concerné. Il n’est pas possible de visualiser une stratégie spécifique avec ntdsutil.

Mise à jour le Lundi, 14 Novembre 2011 11:38