Vous savez probablement qu’AD supporte LDAP (Lightweight Directory Access Protocol) 3.0. Cela vous permet de faire une recherche dans le répertoire à partir d’un client conforme à LDAP. Pour vous protéger contre des attaques par DOS (Denial of Service) et des recherches susceptibles de dégrader la performance, AD impose une
Taille de page maximale LDAP
taille de page maximale de 1 000 lors du renvoi des résultats des requêtes LDAP. Autrement dit, AD ne renvoie pas plus de 1 000 enregistrements à la fois en réponse à une requête LDAP. Ainsi, si vous exécutez une recherche en sous-arborescence LDAP portant sur tous les objets utilisateur de votre domaine, elle renverra 1 000 enregistrements, et une erreur Size Limit Exceeded si votre domaine contient plus de 1 000 objets utilisateur.
Vous pouvez contourner cette limite de deux manières. La première consiste à changer la taille de page maximale à partir du client ; la seconde consiste à modifier MaxPageSize LDAP sur vos DC (domain controllers) pour hausser la limite. Il est conseillé d’utiliser la première méthode et de ne pas recourir à LDAP. Dès lors que les utilisateurs et les applications utilisent de plus en plus AD, le risque de requêtes LDAP inefficaces s’accroît. Le paramètre Taille de page maximale protège AD contre ce genre d’inefficacité. Le principal danger que l’on court en modifiant la stratégie LDAP est de diminuer la performance DC. Pour en savoir plus sur le changement des stratégies LDAP, voir l’article Microsoft « HOW TO: View and Set Lightweight Directory Access Protocol Policies by Using Ntdsutil.exe in Windows 2000 » (http://support.microsoft. com/?kbid=315071).
Une manière de fixer la taille de page maximale sur un client LDAP consiste à utiliser le client LDAP ldp.exe à partir des outils de support Windows 2000 ou Win2K. Pour utiliser cette méthode :
- Ouvrez ldp.exe.
- Connectez-vous au répertoire et liez-vous à lui. Pour cela, cliquez sur la rubrique du menu Connection, puis cliquez sur Connect. Entrez le nom du DC auquel vous voulez vous connecter, en format FQDN (Fully Qualified Domain Name) (par exemple, dc1.mydomain.com) – ou laissez simplement le champ vierge si vous voulez vous connecter à un DC de proximité dans le domaine par défaut – et cliquez sur OK. Pour effectuer un lien LDAP au DC, cliquez sur Bind dans le menu Connection, renseignez les champs utilisateur, mot de passe et domaine, en utilisant un compte de domaine muni des permissions appropriées (généralement un compte utilisateur ordinaire suffira), et cliquez sur OK. Cliquez sur Browse puis sur Search.
- Cliquez sur Options et changez les paramètres conformément au contenu de la figure 1.
La figure 1 montre que j’ai changé le Search Call Type par défaut de Sync en Paged. Ce changement ordonne au DC de renvoyer les résultats des recherches en lots spécifiés dans le paramètre Page size, avec pour effet de contourner la limite de 1 000 enregistrements. A cet égard, la terminologie est trompeuse. On se souvient que la stratégie LDAP du DC est appelée MaxPageSize. Cette stratégie n’a aucun rapport avec le paramètre Page size du client LDAP. La valeur MaxPageSize représente simplement le nombre maximum d’enregistrements que le serveur renvoie. Le paramètre Page size dans mon exemple ldp.exe ordonne au serveur de renvoyer les résultats en lots de 16 (par défaut). Il n’est pas nécessaire de changer la valeur par défaut. Je mets Timeout (s) à 60, une valeur qui, d’après mon expérience, contribue à éviter les problèmes de timeout quand on utilise le paging. J’ai aussi changé le paramètre Attributes à 1.1, pour ordonner au DC de ne renvoyer aucun attribut. (Par défaut, le DC continue à renvoyer l’attribut distinguishedName dans les résultats.) Ceux qui s’intéressent vraiment à LDAP doivent savoir que ldp.exe définit la taille de page par l’application du contrôle LDAP pageResultsControl. Vous trouverez d’autres informations sur l’utilisation de ce contrôle LDAP dans la RFC (Request for Comments) 2696 de l’IETF (Internet Engineering Task Force) (http://www.ietf.org/rfc/rfc 2696.txt).
On peut aussi définir la taille de page en utilisant ADO (ActiveX Data Objects) dans un script VBScript. Le listing 1 montre un script qui cherche tous les comptes utilisateur dans un domaine. Dans un environnement de plus de 1 000 utilisateurs, le script échouera si vous n’utilisez pas le paramètre Page size. Comme avec l’exemple ldp.exe, le fait de spécifier une valeur de taille de page spécifique ordonne au serveur de renvoyer les résultats en lots, ce qui permet de contourner la limite de 1 000 enregistrements. Pour exécuter le script, créez un nouveau fichier (PageSize.vbs), modifiez le code du renvoi A dans le listing 1 en incluant votre propre nom de domaine puis sauvegardez le fichier. Ouvrez une invite de commande, changez pour adopter le même répertoire que celui dans lequel vous avez sauvegardé le fichier, et tapez la ligne suivante :
cscript PageSize.vbs
Téléchargez cette ressource
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
- Activer la mise en veille prolongée dans Windows 10
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Et si les clients n’avaient plus le choix ?
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
Les plus consultés sur iTPro.fr
- Souveraineté des données : bâtir un stockage hybride adapté à l’ère de l’IA
- Secteur public : l’IA accélère la modernisation des infrastructures
- De l’inventaire à l’action : l’Asset Management au service d’un Numérique plus responsable
- IA et bureaucratie : la complexité qui grève les projets
Articles les + lus
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
À la une de la chaîne Tech
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
