Änderungen an LDAP Policies – sinnvoll oder nicht?

Änderungen an LDAP Policies – sinnvoll oder nicht?

  • Comments 4
  • Likes

Hallo, Fabian hier. Oft bekommen wir Anfragen unserer Kunden, die das "Tuning" von Active Directory bzw. LDAP Parametern betreffen, so z.B. "MaxPageSize" oder "MaxResultSetSize". In einer Vielzahl dieser Fälle soll in der jeweiligen Active Directory Umgebung eine Software eingesetzt werden, die bei Active Directory LDAP Abfragen z.B. Timeouts bekommt bzw. nicht die erwarteten Ergebnisse zurückgegeben werden. In letzterem Fall werden entweder 1.000 (Windows 2000 Server) oder 1.5000 (Windows Server 2003) Werte zurückgegeben, auch wenn mehr Objekte erwartet werden (siehe http://msdn.microsoft.com/en-us/library/ms676302.aspx).

Der vermeintlich "leichteste Weg" ist dann oftmals die Anfrage, ob Werte wie "MaxPageSize" und "MaxResultSetSize" problemlos angepaßt werden können (siehe http://support.microsoft.com/kb/315071/en-US). Ein Kollege aus den USA hat dazu einmal ein paar passende Sätze gesagt, die ich im Wortlaut und einigen zusätzlichen Anmerkungen hier darstellen möchte:

Ich kann diese Änderung nicht empfehlen und rate in den meisten Fällen davon ab, diese Werte zu verändern.

Die von uns standardmäßig ausgelieferten Werte sind das Ergebnis langwieriger Tests und Erfahrungswerte. Das Verändern der Werte kann schwerwiegende Konsequenzen für die Funktionalität einer Active Directory Umgebung nach sich ziehen.

Der jeweilige Einfluß einer Veränderung der im KB-Artikel 315071 aufgeführten Werte kann natürlich nur im konkreten Fall betrachtet werden und wenn alle Eckdaten der Active Directory Umgebung bekannt sind. Jedoch haben wir diverse Erfahrungswerte, die mich von einem solchen Vorgehen abraten lassen:

So sind uns z.B. Szenarien bekannt, in denen (insbesondere auf 32 Bit Systemen) LDAP Abfragen abbrechen, die Serverperformance der DCs massiv bei Abfragen einbricht (und infolge dessen diverse Probleme in der AD-Umgebung auftreten können) und in "worst case" Szenarien auch Serverabstürze die Folge sein können.

Weiterhin ist die Anpassung der Werte meist nur temporär erfolgreich, da später Änderungen in der Umgebung eintreten können, die die Grenzen wieder verschieben. Somit ist unter Umständen auch die Wertanpassung nur von eingeschränkter Dauer.

Daher ist es in der Mehrzahl der Fälle sinnvoller, die Applikation mittels "Paged Searches" / "Attribute Range Retrieval" auszustatten. Da diese Begrenzung der Rückgabewerte nicht erst seit gestern existiert, haben sich die meisten Applikationshersteller schon darauf eingerichtet – bei Applikationen, die diese Möglichkeit noch nicht besitzen, könnte mit einer Änderung im Code ausgeholfen werden.

Wir haben einige Codebeispiele zur Verfügung gestellt, um ggf. den Applikationscode noch einmal zu überarbeiten bzw. anzupassen:

Retrieving Large Results Sets
http://msdn2.microsoft.com/en-us/library/aa746459.aspx

Paging Search Results
http://msdn2.microsoft.com/en-us/library/aa367011.aspx

ldap_search_ext
http://msdn2.microsoft.com/en-us/library/aa366971.aspx

LDAP_PAGED_RESULT_OID_STRING
http://msdn2.microsoft.com/en-us/library/aa366953.aspx

http://msdn2.microsoft.com/en-us/library/aa367017.aspx

Rein theoretisch wäre es übrigens auch möglich, eine Änderung der LDAP Policies nicht für alle DCs der Domäne durchzuführen, sondern nur für DCs einer Site. Sollte es also unbedingt notwendig sein die Änderung doch durchzuführen (wovon wir wie gesagt im Normalfall abraten), ließe sich ein oder mehrere DCs in eine eigene Site verschieben, die mit veränderten LDAP Policy Werten ausgestattet wird. Diese Veränderung greift dann nur für DCs dieser Site, siehe http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/distrib/dsfl_utl_cazy.mspx?mfr=true und http://technet2.microsoft.com/windowsserver/en/library/39658d2d-ddd4-41bf-b5fe-8bc5094662f31033.mspx?mfr=true.

Bindet man dann die entsprechende Applikation oder Applikationen direkt auf diese Site bzw. die DCs der Site, ist das Risiko von Problemen geringer, als wenn man die Einstellung für alle DCs setzt.

Soweit erstmal, ich gehe nun in einen ausgedehnten Urlaub. ;-)

Viele Grüße, Fabian.

Comments
  • Hallo,

    sehr interessanter Artikel. Endlich stichfeste "Beweise" sollte eine Applikation damit Probleme bekommen wo hier angesetzt werden kann.

    Kleines Feedback hätte ich noch: Ich vermute mal Ihr verwendet auch den Windows Live Writer zum Bloggen. Die Hyperlinks sollten meiner Meinung nach mit der Option "Link in neuem Fenster öffnen" eingefügt werden. Ist ziemlich nervig wenn man vergisst die Shift-Taste zu drücken und dann weg vom Artikel ist.

    @Fabian: Viel Spaß im Urlaub!

    Schöne Grüße

    Peter Forster, MVP Virtual Machine, Austria

  • Hallo Peter,

    vielen Dank für Deinen Hinweis. Wir haben uns jedoch in diesem Fall bewußt dafür entschieden, die Links nicht automatisch in einem anderen Fenster oder Tab öffnen zu lassen. Das soll jeder Leser selbst entscheiden - zumal ein Klick der mittleren Maustaste bzw. den Mausrädchens den gleichen Effekt hat wie "Shift" oder der Rechtsklick auf den Link (und anschließenden Nutzung des Kontextmenüs).

    Danke für Deine Urlaubswünsche, Dir ein schönes Wochenende und viele Grüße,

    Fabian

  • Hallo,

    wirklich ein sehr interessanter Artikel! Gibt es Seitens Microsoft denn ein offizielles Statement (englisch?) zu diesem Thema? Das Problem ist, dass einige Hersteller sich leider nicht für die Implementierung des pagedResultsControl entscheiden. Ein freundlicher Hinweis von Microsoft könnte überzeugender sein, als das Klagen von Kunden. Auch wenn das recht traurig ist.

    Gruß,

    Simon

  • Hi Simon,

    vielen Dank für Deine Rückmeldung. Auch wenn dieser Blog kein "offizielles" Support Statement geben kann, kannst Du den Beitrag jedoch problemlos bei den jeweiligen Herstellern zitieren. Letztendlich entscheiden ja auch Hersteller solcher Applikationen meist nicht nur nach Microsoft Support Statement, sondern nach Sinnhaftigkeit und ggf. Nachfrage eines Anliegens.

    Ein offizielles Support Statement, das besagt, daß man die Werte nicht verändern soll, gibt es nicht: Wenn wir die Änderungen nicht supporten würden, hätten wir wahrscheinlich keine "so einfache" Möglichkeit eingebaut, die Werte zu verändern. Die Frage ist also eher, was man sich mit der Änderung für Probleme einfängt und welchen negativen Einfluß auf die Umgebung eine solche Änderung haben kann. Deshalb der Blog Artikel dazu.

    Einige weitere Hinweise zu möglichen Problemen liefert der folgende Artikel:

    MaxPageSize is non-default: http://technet.microsoft.com/en-us/library/aa997076.aspx
    Zitat: "The LDAP administrative limits balance the Active Directory operational capabilities and its performance. These limits prevent specific operations from adversely affecting the performance of the server, and also make the server resilient to denial of service attacks. Increasing this setting beyond its default value could have an adverse impact on your Active Directory infrastructure."

    Vielleicht bringt Dich das ja schon ein wenig weiter mit der Argumentation beim Hersteller. Ansonsten liefert der Blog Eintrag selbst ja genug Gründe, die Du beim Hersteller anbringen kannst. :)

    Viele Grüße
    Fabian

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment