Просмотр и настройка политики LDAP в Active Directory с помощью Ntdsutil.exe

В этой статье описывается управление политиками протокола доступа к облегченным каталогам (LDAP) с помощью Ntdsutil.exe.

Применяется к:   Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Исходный номер КБ:   315071

Сводка

Чтобы контроллеры домена могли поддерживать гарантии на уровне службы, необходимо указать операционные ограничения для многих операций LDAP. Эти ограничения не помешали определенным операциям отрицательно повлиять на производительность сервера. Они также делают сервер более устойчивым к некоторым типам атак.

Политики LDAP реализуются с помощью объектов queryPolicy класса. Объекты политики запросов могут создаваться в контейнере Политики запросов, который является ребенком контейнера службы каталогов в контексте имен конфигурации. Например, cn=Query-Policies, cn=Directory Service,cn=Windows NT,cn=Services configuration naming context.

Ограничения администрирования LDAP

Ограничения администрирования LDAP:

  • InitRecvTimeout . Это значение определяет максимальное время в секундах, которое контроллер домена ждет от клиента отправки первого запроса после получения контроллером домена нового подключения. Если клиент не отправляет первый запрос за это время, сервер отключает клиента.

    Значение по умолчанию: 120 секунд

  • MaxActiveQueries — максимальное количество одновоенных поисковых операций LDAP, которые разрешены одновременно запускать на контроллере домена. Когда это ограничение достигнуто, сервер LDAP возвращает занятую ошибку.

    Значение по умолчанию: 20

    Примечание

    Этот контроль имеет неправильное взаимодействие со значением MaxPoolThreads. MaxPoolThreads — это управление на обработчик, в то время как MaxActiveQueries определяет абсолютное число. Начиная с Windows Server 2003, MaxActiveQueries больше не выполняется. Кроме того, MaxActiveQueries не появляется в версии Windows Server 2003 NTDSUTIL.

    Значение по умолчанию: 20

  • MaxConnections — максимальное количество одновременных подключений LDAP, которые будет принимать контроллер домена. Если подключение поступает после достижения этого ограничения контроллером домена, контроллер домена отбрасняет другое подключение.

    Значение по умолчанию: 5000

  • MaxConnIdleTime — максимальное время в секундах, когда клиент может простаивать до того, как сервер LDAP закроет подключение. Если подключение более этого времени не работает, сервер LDAP возвращает уведомление об отключении LDAP.

    Значение по умолчанию: 900 секунд

  • MaxDatagramRecv — максимальный размер запроса на передачу данных, который будет обрабатывать контроллер домена. Запросы, которые больше значения для MaxDatagramRecv, игнорируются.

    Значение по умолчанию: 4096 bytes

  • MaxNotificationPerConnection — максимальное количество невыполнения запросов уведомлений, разрешенных для одного подключения. Когда это ограничение достигнуто, сервер возвращает занятую ошибку в любые новые поиски уведомлений, которые выполняются на этом подключении.

    Значение по умолчанию: 5

  • MaxPageSize — это значение управляет максимальным количеством объектов, возвращаемых в одном результате поиска, независимо от размера каждого возвращенного объекта. Чтобы выполнить поиск, при котором результат может превысить это число объектов, клиент должен указать на странице управление поиском. Возвращаемые результаты сгруппировать в группы, которые не больше значения MaxPageSize. Подводя итог, MaxPageSize управляет количеством объектов, возвращаемых в одном результате поиска.

    Значение по умолчанию: 1000

  • MaxPoolThreads — максимальное количество потоков на процессор, которое контроллер домена посвящает прослушивать для ввода или вывода сети (I/O). Это значение также определяет максимальное количество потоков на процессор, которые могут одновременно работать с запросами LDAP.

    Значение по умолчанию: 4 потока на процессор

  • MaxResultSetSize . Между отдельными поисками, которые составляют поиск результатов на странице, контроллер домена может хранить промежуточные данные для клиента. Контроллер домена сохраняет эти данные, чтобы ускорить следующую часть поиска результатов на странице. Значение MaxResultSize контролирует общее количество данных, которые хранит контроллер домена для такого поиска. Когда это ограничение достигнуто, контроллер домена отбрасывается старейший из этих промежуточных результатов, чтобы сделать место для хранения новых промежуточных результатов.

    Значение по умолчанию: 262 144 bytes

  • MaxQueryDuration — максимальное время в секундах, которое контроллер домена будет тратить на один поиск. Когда это ограничение достигнуто, контроллер домена возвращает ошибку "timeLimitExceeded". Поиски, которые требуют больше времени, должны указывать управление результатами страницы.

    Значение по умолчанию: 120 секунд

  • MaxTempTableSize . Во время обработки запроса можно попытаться создать временную таблицу баз данных для сортировки и выбора dblayer промежуточных результатов. Ограничение MaxTempTableSize контролирует размер этой временной таблицы баз данных. Если в таблице временной базы данных будет больше объектов, чем для MaxTempTableSize, выполняется гораздо менее эффективная размыкание полной базы данных DS и всех объектов в базе данных dblayer DS.

    Значение по умолчанию: 10 000 записей

  • MaxValRange . Это значение контролирует количество значений, возвращаемых для атрибута объекта, независимо от количества атрибутов этого объекта или количества объектов в результате поиска. В Windows 2000 этот контроль жестко закодироваться в 1000. Если атрибут имеет большее количество значений, заданных значением MaxValRange, необходимо использовать элементы управления диапазоном значений в LDAP для получения значений, которые превышают значение MaxValRange. MaxValueRange управляет количеством значений, возвращаемого в одном атрибуте на одном объекте.

    • Минимальное значение: 30
    • Значение по умолчанию: 1500

Начало Ntdsutil.exe

Ntdsutil.exe находится в папке инструментов поддержки на Windows cd-ROM установки. По умолчанию Ntdsutil.exe устанавливается в папке System32.

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открытый текст введите ntdsutil и нажмите кнопку ENTER. Чтобы просмотреть справку в любое время, ? введите в командной подсказке.

Просмотр текущих параметров политики

  1. В командной Ntdsutil.exe введите и нажмите LDAP policies кнопку ENTER.
  2. В командной команде политики LDAP введите connections и нажмите кнопку ENTER.
  3. В командной подсказке подключения к серверу введите connect to server <DNS name of server> и нажмите кнопку ENTER. Вы хотите подключиться к серверу, с который вы в настоящее время работаете.
  4. В командной подсказке подключения к серверу введите и нажмите **q** кнопку ENTER, чтобы вернуться в предыдущее меню.
  5. В командной команде политики LDAP введите Show Values и нажмите кнопку ENTER.

Отображается отображение политик в их существовании.

Изменение параметров политики

  1. В командной Ntdsutil.exe введите и нажмите LDAP policies кнопку ENTER.

  2. В командной команде политики LDAP введите Set <setting> to <variable> и нажмите кнопку ENTER. Например, введите Набор MaxPoolThreads до 8.

    Этот параметр изменяется при добавлении другого процессора на сервер.

  3. Вы можете использовать команду Show Values для проверки изменений.

    Чтобы сохранить изменения, используйте изменения фиксации.

  4. Когда вы закончите, q введите, а затем нажмите ВВОД.

  5. Чтобы выйти Ntdsutil.exe, в командной подсказке введите q и нажмите КНОПКУ ВВОДА.

Примечание

В этой процедуре показаны только параметры политики домена по умолчанию. Если применить собственный параметр политики, его невозможно увидеть.

Требование перезагрузки

Если вы измените значения политики запросов, используемой контроллером домена, эти изменения вступает в силу без перезагрузки. Однако, если создается новая политика запросов, требуется перезагрузка для того, чтобы новая политика запросов вступила в силу.

Соображения по изменению значений запросов

Для поддержания устойчивости сервера домена не рекомендуется увеличивать время от времени до 120 секунд. Формирование более эффективных запросов является предпочтительным решением. Дополнительные сведения о создании эффективных запросов см. в дополнительных сведениях о создании более эффективных приложений Microsoft Active Directory-Enabled.

Однако, если изменение запроса не является вариантом, увеличение значения времени выходного времени только на одном контроллере домена или только на одном сайте. Инструкции см. в следующем разделе. Если параметр применяется к одному контроллеру домена, уменьшите приоритет DNS LDAP на контроллере домена, чтобы клиенты реже использовали сервер для проверки подлинности. На контроллере домена с приоритетом увеличения используйте следующий параметр реестра, чтобы LdapSrvPriority установить:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters

В меню Редактирование выберите Добавить значение, а затем добавьте следующее значение реестра:

  • Имя входа: LdapSrvPriority
  • Тип данных: REG_DWORD
  • Значение. Установите значение значения приоритета, который вы хотите.

Дополнительные сведения см. в книге Как оптимизировать расположение контроллера домена или глобального каталога, расположенного за пределами сайта клиента.

Инструкции по настройке каждого контроллера домена или политики сайта

  1. Создайте новую политику запросов в соответствии с CN=Query-Policies, CN=Directory Service,CN=Windows NT,CN=Services, CN=Configuration, forest root.

  2. Установите контроллер домена или сайт, чтобы указать на новую политику, введите отличительное имя новой политики в атрибуте Query-Policy-Object. Расположение атрибута следующим образом:

    • Расположение контроллера домена : CN=NTDS Параметры, CN= DomainControllerName, CN=Servers,CN= имя сайта ,CN=Sites,CN=Configuration, корень леса.

    • Расположение сайта — CN=NTDS Site Параметры,CN= имя сайта ,CN=Sites,CN=Configuration, корень леса.

Образец сценария

Для создания файла Ldifde можно использовать следующий текст. Этот файл можно импортировать, чтобы создать политику со значением времени в 10 минут. Скопируйте этот текст в Ldappolicy.ldf и запустите следующую команду, где корень леса — это отличительное имя корневого леса. Оставьте DC=X как есть. Это константа, которая будет заменена корневым именем леса при запуске сценария. Постоянная X не указывает имя контроллера домена.

ldifde -i -f ldappolicy.ldf -v -c DC=X DC= forest root

Запуск сценария 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

После импорта файла можно изменить значения запросов с помощью Adsiedit.msc или Ldp.exe. Параметр MaxQueryDuration в этом скрипте составляет 5 минут.

Чтобы связать политику с dc, используйте файл импорта LDIF вот так:

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

Импортировать его с помощью следующей команды:

ldifde -i -f link-policy-dc.ldf -v -c DC=X DC= **forest root**

Для сайта файл импорта LDIF будет содержать:

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

Примечание

Ntdsutil.exe отображает только значение в политике запроса по умолчанию. Если какие-либо настраиваемые политики определены, они не отображаются Ntdsutil.exe.