Не работает ldap авторизация

Устранение неполадок LDAP из-за проблем с подключением SSL

В этой статье обсуждаются действия по устранению неполадок с подключением LDAP по SSL (LDAPS).

Применяется к: Windows Server 2003
Исходный номер КБ: 938703

Шаг 1. Проверка сертификата проверки подлинности сервера

Убедитесь, что сертификат проверки подлинности сервера, который вы используете, соответствует следующим требованиям:

Полное доменное имя контроллера домена Active Directory отображается в одном из следующих местоположений:

  • Общее имя (CN) в поле Subject.
  • Расширение альтернативного имени субъекта (SAN) в записи DNS.

Расширенное расширение использования ключей включает идентификатор объекта проверки подлинности сервера (1.3.3.6.1.5.5.7.3.1).

Связанный закрытый ключ доступен на контроллере домена. Чтобы убедиться, что ключ доступен, используйте certutil -verifykeys команду.

Цепочка сертификатов действительна на клиентский компьютер. Чтобы определить, является ли сертификат допустимым, выполните следующие действия:

На контроллере домена используйте оснастку Сертификаты для экспорта сертификата SSL в файл с именем Serverssl.cer.

Скопируйте файл Serverssl.cer на клиентский компьютер.

На клиентном компьютере откройте окно Командная подсказка.

В командной подсказке введите следующую команду, чтобы отправить вывод команды в файл с именемOutput.txt:

Чтобы следовать этому шагу, необходимо установить средство командной строки Certutil.

Откройте файл Output.txt, а затем поиск ошибок.

Шаг 2. Проверка сертификата проверки подлинности клиента

В некоторых случаях LDAPS использует сертификат проверки подлинности клиента, если он доступен на клиентский компьютер. Если такой сертификат доступен, убедитесь, что сертификат соответствует следующим требованиям:

Расширенное расширение использования ключей включает идентификатор объекта проверки подлинности клиента (1.3.3.6.1.5.5.7.3.2).

Связанный закрытый ключ доступен на клиентский компьютер. Чтобы убедиться, что ключ доступен, используйте certutil -verifykeys команду.

Цепочка сертификатов действительна на контроллере домена. Чтобы определить, является ли сертификат допустимым, выполните следующие действия:

На клиентном компьютере используйте оснастку Сертификаты для экспорта сертификата SSL в файл с именем Clientssl.cer.

Скопируйте файл Clientssl.cer на сервер.

На сервере откройте окно Командная подсказка.

В командной подсказке введите следующую команду, чтобы отправить вывод команды в файл с именемOutputclient.txt:

Откройте файл Outputclient.txt, а затем поиск ошибок.

Шаг 3. Проверка нескольких сертификатов SSL

Определите, соответствуют ли несколько SSL-сертификатов требованиям, описанным в шаге 1. Schannel (поставщик SSL Майкрософт) выбирает первый действительный сертификат, который Schannel находит в локальном хранилище компьютеров. Если в локальном магазине компьютеров доступно несколько допустимых сертификатов, Schannel может не выбрать правильный сертификат. Конфликт с сертификатом сертификационного органа (CA) может возникнуть, если ЦС установлен на контроллер домена, к который вы пытаетесь получить доступ через LDAPS.

Читайте также:  Если термостат не работает что происходит с печкой

Шаг 4. Проверка подключения LDAPS на сервере

Используйте средство Ldp.exe контроллера домена, чтобы попытаться подключиться к серверу с помощью порта 636. Если вы не можете подключиться к серверу с помощью порта 636, см. ошибки, которые Ldp.exe создает. Кроме того, просмотр журналов просмотра событий для поиска ошибок. Дополнительные сведения об использовании Ldp.exe для подключения к порту 636 см. в этой ссылке Как включить LDAP над SSLс помощью стороннего органа сертификации.

Шаг 5. Включить ведение журнала Schannel

Включить ведение журнала событий Schannel на сервере и клиентского компьютера. Дополнительные сведения о том, как включить ведение журнала событий Schannel, см. в журнале Как включить ведение журнала событий Schannelв Windows и Windows Server.

Источник

Устранение неполадок с подключениями LDAP с помощью ETW

трассировка событий для Windows (ETW) может быть важным средством устранения неполадок для служб домен Active Directory Services (AD DS). ETW можно использовать для трассировки обмена данными по протоколуldapмежду клиентами Windows и серверами ldap, включая AD DS контроллеры домена.

Как включить ETW и запустить трассировку

Включение трассировки событий Windows

Откройте редактор реестра и создайте следующий подраздел реестра:

HKEY _ локальный _ компьютер \ система \ CurrentControlSet \ службы \ LDAP \ Трассировка \ * processName*

В этом подразделе processName — это полное имя процесса, который необходимо отследить, включая его расширение (например, «Svchost.exe»).

(Необязательно) В этом подразделе создайте новую запись с именем PID. Чтобы использовать эту запись, назначьте идентификатор процесса в виде значения типа DWORD.

Если указать идентификатор процесса, ETW будет отслеживать только экземпляр приложения с этим ИДЕНТИФИКАТОРом процесса.

Запуск сеанса трассировки

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

Заполнители в этой команде представляют следующие значения.

  • — это произвольный идентификатор, который используется для обозначения сеанса трассировки.

Вы должны будете обращаться к этому имени сеанса позже, когда вы останавливаете сеанс трассировки.

  • Указывает файл журнала, в который будут записываться события.
  • должно быть одним или несколькими значениями, перечисленными в таблице флаги трассировки.

Завершение сеанса трассировки и отключение трассировки событий

Завершение трассировки

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

В этой команде используется то же имя, которое использовалось в команде tracelog.exe-Start .

Отключение ETW

  • В редакторе реестра удалите подраздел hKey _ Local _ Machine \ System \ CurrentControlSet \ Services \ LDAP \ Tracing \ * processName*.

Значения для флагов трассировки

Чтобы использовать флаг, замените значение флага заполнитель в аргументах команды tracelog.exe-Start .

Можно указать несколько флагов, используя сумму соответствующих значений флагов. Например, чтобы указать флаги _ поиска отладки (0x00000001) и _ кэша отладки (0x00000010), соответствующее значение — 0x00000011.

Читайте также:  Как починить терморегулятор danfoss
Имя флага Значение флага Описание флага
DEBUG_SEARCH 0x00000001 Записывает в журнал запросы поиска и параметры, которые передаются в эти запросы. Ответы не регистрируются здесь. В журнал заносятся только запросы поиска. (Используйте DEBUG_SPEWSEARCH , чтобы регистрировать ответы на запросы поиска.)
DEBUG_WRITE 0x00000002 Записывает в журнал запросы на запись и параметры, которые передаются в эти запросы. Запросы на запись включают в себя операции добавления, удаления, изменения и расширенных операций.
DEBUG_REFCNT 0x00000004 Записывает данные подсчета ссылок и операции для подключений и запросов.
DEBUG_HEAP 0x00000008 Записывает в журнал все выделения памяти и выпуски памяти.
DEBUG_CACHE 0x00000010 Регистрирует активность кэша. Это действие включает в себя добавление, удаление, попаданий, промахов и т. д.
DEBUG_SSL 0x00000020 Записывает сведения о SSL и ошибки.
DEBUG_SPEWSEARCH 0x00000040 Записывает все ответы сервера на запросы поиска. Эти ответы включают атрибуты, которые были запрошены, а также все полученные данные.
DEBUG_SERVERDOWN 0x00000080 Записывает ошибки сервера и подключения.
DEBUG_CONNECT 0x00000100 Записывает данные, связанные с установлением соединения.
Используйте DEBUG_CONNECTION для записи в журнал других данных, связанных с подключениями.
DEBUG_RECONNECT 0x00000200 Регистрирует действие автоматического повторного подключения. Это действие включает повторные попытки подключения, сбои и связанные ошибки.
DEBUG_RECEIVEDATA 0x00000400 Регистрирует действия, связанные с получением сообщений с сервера. Это действие включает в себя такие события, как «ожидание ответа от сервера» и ответ, полученный от сервера.
DEBUG_BYTES_SENT 0x00000800 Записывает в журнал все данные, отправленные клиентом LDAP на сервер. Эта функция по сути ведет журнал пакетов, но всегда записывает в журнал незашифрованные данные. (Если пакет отправляется по протоколу SSL, эта функция записывает в журнал незашифрованный пакет.) Это ведение журнала может быть подробным. Этот флаг, вероятно, лучше всего использовать отдельно или в сочетании с DEBUG_BYTES_RECEIVED.
DEBUG_EOM 0x00001000 Записывает события, связанные с достижением конца списка сообщений. Эти события включают такие сведения, как «список сообщений удалены» и т. д.
DEBUG_BER 0x00002000 Записывает в журнал операции и ошибки, связанные с базовыми правилами кодирования (ЛИЧЕСТВО). Эти операции и ошибки включают проблемы с кодированием, проблемами размера буфера и т. д.
DEBUG_OUTMEMORY 0x00004000 Регистрирует ошибки для выделения памяти. Также регистрирует любые сбои при вычислении требуемой памяти (например, переполнение, которое происходит при вычислении требуемого размера буфера).
DEBUG_CONTROLS 0x00008000 Записывает данные, относящиеся к элементам управления. Эти данные включают вставленные элементы управления, проблемы, влияющие на элементы управления, обязательные элементы управления в соединении и т. д.
DEBUG_BYTES_RECEIVED 0x00010000 Записывает все данные, получаемые LDAP-клиентом. Это, по сути, ведение журнала пакетов, но всегда записывает в журнал незашифрованные данные. (Если пакет отправляется по протоколу SSL, этот параметр записывает в журнал незашифрованный пакет.) Этот тип ведения журнала может быть подробным. Этот флаг, вероятно, лучше всего использовать отдельно или в сочетании с DEBUG_BYTES_SENT.
DEBUG_CLDAP 0x00020000 Записывает события, относящиеся только к протоколу UDP и протоколу LDAP без подключения.
DEBUG_FILTER 0x00040000 Регистрирует события и ошибки, возникающие при создании фильтра поиска.
Примечание . Этот параметр записывает события клиента только во время построения фильтра. Он не регистрирует никаких ответов с сервера о фильтре.
DEBUG_BIND 0x00080000 Регистрирует события и ошибки привязки. Эти данные включают сведения о согласовании, успешное выполнение привязки, сбой привязки и т. д.
DEBUG_NETWORK_ERRORS 0x00100000 Записывает общие ошибки сети. Эти данные включают ошибки отправки и получения.
Примечание . Если подключение потеряно или сервер недоступен, DEBUG_SERVERDOWN является предпочтительным тегом.
DEBUG_VERBOSE 0x00200000 Записывает в журнал общие сообщения. Используйте этот параметр для всех сообщений, которые обычно создают большой объем выходных данных. Например, он записывает в журнал такие сообщения, как «конец сообщения», «сервер еще не ответил» и т. д. Этот параметр также полезен для универсальных сообщений.
DEBUG_PARSE 0x00400000 Записывает в журнал общие события и ошибки сообщений, а также события и ошибки синтаксического анализа пакетов и кодирования.
DEBUG_REFERRALS 0x00800000 Записывает данные о ссылках и отслеживании ссылок.
DEBUG_REQUEST 0x01000000 Регистрирует отслеживание запросов.
DEBUG_CONNECTION 0x02000000 Записывает в журнал общие данные и ошибки подключения.
DEBUG_INIT_TERM 0x04000000 Записывает в журнал инициализацию и очистку модуля (основная библиотека DLL и т. д.).
DEBUG_API_ERRORS 0x08000000 Поддерживает ведение журнала неправильного использования API. Например, этот параметр записывает данные в журнал, если операция привязки вызывается два раза в одном соединении.
DEBUG_ERRORS 0x10000000 Регистрирует общие ошибки. Большинство этих ошибок можно классифицировать как ошибки инициализации модулей, ошибки SSL или ошибки переполнения или потери значимости.
DEBUG_PERFORMANCE 0x20000000 Записывает в журнал данные о глобальной статистике действий LDAP после получения ответа от сервера на запрос LDAP.

Пример

Рассмотрим приложение, App1.exe, которое задает пароли для учетных записей пользователей. Предположим, что App1.exe выдает непредвиденную ошибку. Чтобы использовать ETW для диагностики этой проблемы, выполните следующие действия:

В редакторе реестра создайте следующую запись реестра:

_ _ \ \ \ Трассировка LDAP для CurrentControlSet Services \ System \ \ на локальном компьютере (hKey)App1.exe

Чтобы запустить сеанс трассировки, откройте окно командной строки и выполните следующую команду:

После запуска этой команды Debug _ BIND гарантирует, что ETW записывает сообщения трассировки в. \ LDAP. ETL.

Запустите App1.exe и воспроизведите непредвиденную ошибку.

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

Чтобы другие пользователи не могли выполнить трассировку приложения, удалите запись реестра CurrentControlSet Services для _ локальной _ машины в разделе » \ \ \ \ \ Трассировка LDAP» \ App1.exe «.

Чтобы проверить сведения в журнале трассировки, выполните в командной строке следующую команду:

Источник

Оцените статью