Настройка ldap windows server 2008 r2

Обновлено: 06.07.2024

Линукс – линуксом, но и про форточки забывать не стоит. Есть Windows Server 2008 R2 (PDC), есть прокси-сервер на Debian Lenny. Прописать в SQUID, скажем, 200 пользователей с их паролями, потом разбить их на группы, наградить их правами и прочее – дело утомительное и неблагодарное. За это премий не дают 🙁 Мы пойдем другим путем – будем авторизовывать пользователей при помощи LDAP и ограничивать насосов силами SQUID.

Существует по меньшей мере тысяча разных мануалов, более или менее разжеванных, под разные версии SQUID и разные версии Windows. Я опишу свой опыт.

Итак, Debian, SQUID, Windows Server 2008 R2, AD, LDAP. Поехали.
Ну, для начала определимся с версиями, чтобы не бросали камнями:

Начинаем с Samba.

Настраиваем Kerberos, чтобы можно было «договорится» с Windows-сервером:

Редактируем nsswitch.conf

После того, как конфиги поправлены, ставим SQUID если он еще не установлен.

Установку SQUID я пропущу, ибо от мануалов, скриншотов и прочих howto рунет просто трещит, поэтому не вижу смысла описывать процесс установки. Стоит только упомянуть, что нужно отметить параметры для авторизации ntlm, ну и что там еще лично вам пригодится…

Далее получаем билет от Kerberos:

Полученный билет можно удалить командой kdestroy.
Проверяем winbind:
proxy:

Итак, билет получили winbind работает, теперь надо ввести в домен:

Можно проверить, насколько все хорошо:

Винда у меня русская, поэтому не видно, что за группы (свои группы я знаю, поэтому не парюсь :), в общем – все прошло удачно, ошибок никаких нет, группы отображаются.
Стоит учесть, что SQUID запускается не от рута, у него не хватает прав для доступа к winbind. Поэтому даем ему такие права:

Теперь самое интересное, собственно, ради чего это все и затевалось

Конфиг SQUID для авторизации пользователей в домене Windows Server:

Естественно, это все для примера (но конфигурация реально рабочая) и пути с адресами заменены
И примеры файлов с ACL:
/etc/squid/conf/banners.acl

/etc/squid/conf/good

Естественно, создаем все файлы с конфигами, все директории также должны быть созданы и им должны быть назначены права squid. Для простоты можно, конечно, обойти парой листов block и unblock, но очень скоро они станут совсем неудобными.

В следующей статье я обязательно опишу, как работает ACL (чтобы не захламлять эту статью).

Но тут есть разница. Если пойти по первому пути, найденные ошибки никак не повлияют на работоспособность конфигурации. Squid будет и дальше работать, но изменения не вступят в силу (хотя старый конфиг мы, все же, потеряем если не забэкапим).

Если пойти по второму пути, демон squid вырубится, попытается запуститься и, если найдет ошибки, забьет на это дело, сказав «Простите, но с таким конфигом я работать не могу». Мы тупо остановим прокси.

Заходим в панель управления сервером (Start — Administrative Tools — Server Manager). Add Roles — Active Directory Certificate Services — Next — Next — отмечаем Certification Authority Web Enrollment (Add Required Role Services) — Next — Enterprise — Next — Root CA — далее Next до конца.

Шаг 2, запрос на сертификат.

Создаём файл request.inf с текстом:
[Version]
Signature= "$Windows NT$"

[NewRequest]
KeySpec = 1
KeyLength = 1024
Exportable = TRUE
MachineKeySet = TRUE
SMIME = FALSE
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xa0

[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1
OID=1.3.6.1.5.5.7.3.2

[Extensions]
2.5.29.17=MDiCFURDNC5sb3JlLnVuaS1kdWJuYS5ydaAfBgkrBgEEAYI3GQGgEgQQhePOUDQ+
_continue_=7Uy5GtDgYOzldA==
Critical=2.5.29.17

Затем выполняем
certreq -new request.inf request.req

Шаг 3, получение сертификата у CA.

Вот тут самое интересное. Если попробовать разместить запрос на сертификат штатным способом, т.е. через MMC snap-in «Certification Authority» или командой
certreq -attrib "CertificateTemplate:DomainController" request.req , получаем ошибку «The DNS name is unavailable and cannot be added to the Subject Alternate name. 0x8009480f», которую обойти никаким способом так и не удалось. Зато сработала выдача сертификата через веб.
Заходим на localhost/certsrv/certrqxt.asp и вставляем в первое поле код из файла request.req; в поле Certificate Template выбираем Web Server. Скачиваем получившийся сертификат по ссылке Download certificate.

Шаг 4, импорт сертификата.

Winkey+R — mmc; нажимаем Ctrl+M, Certificates — Add — Computer Account — Next — Local Computer — Finish — OK. Certificates (local computer) — Personal — Certificates (правой кнопкой) — All Tasks — Import. Указываем файл, сделанный на шаге 3.

В этой статье описывается, как включить протокол легкого доступа к каталогам (LDAP) над защищенным слоем sockets (SSL) с помощью сторонних органов сертификации.

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

Сводка

LDAP используется для чтения и записи в Active Directory. По умолчанию трафик LDAP передается необеспеченным. Вы можете сделать трафик LDAP конфиденциальным и безопасным с помощью технологии SSL/Transport Layer Security (TLS). Вы можете включить LDAP над SSL (LDAPS) путем установки правильно отформатированный сертификат из сертификационного органа Майкрософт (CA) или не-Microsoft CA в соответствии с рекомендациями в этой статье.

Нет пользовательского интерфейса для настройки LDAPS. Установка допустимого сертификата на контроллере домена позволяет службе LDAP прослушивать И автоматически принимать подключения SSL как для LDAP, так и для глобального трафика каталогов.

Требования к сертификату LDAPS

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

Сертификат LDAPS расположен в хранилище персональных сертификатов локального компьютера (программным образом известном как хранилище сертификатов MY компьютера).

Закрытый ключ, который соответствует сертификату, присутствует в магазине локального компьютера и правильно связан с сертификатом. Закрытый ключ не должен иметь сильной защиты частных ключей включен.

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

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

Сертификат был выдан ЦС, который доверяет контроллеру домена и клиентам LDAPS. Доверие устанавливается путем настройки клиентов и сервера для доверия корневому ЦС, к которому цепи выпуска ЦС.

Для создания ключа используйте поставщика криптографических служб Schannel (CSP).

Создание запроса сертификата

Certreq.exe файл текстовых инструкций для создания соответствующего запроса сертификата X.509 для контроллера домена. Этот файл можно создать с помощью предпочитаемого редактора текста ASCII. Сохраните файл в качестве файла .inf в любой папке на жестком диске.

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

Создайте файл .inf. Ниже приводится пример файла .inf, который можно использовать для создания запроса сертификата.

;----------------- request.inf -----------------

[Версия]

Signature="$Windows NT$

[NewRequest]

Subject = "CN="; замените на <DC fqdn> FQDN dc
KeySpec = 1
KeyLength = 1024
; Может быть 1024, 2048, 4096, 8192 или 16384.
; Более крупные размеры ключей являются более безопасными, но имеют
; более сильное влияние на производительность.
Экспортируемый = TRUE
MachineKeySet = TRUE
SMIME = False
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xa0

[EnhancedKeyUsageExtension]

OID=1.3.6.1.5.5.7.3.1; это для проверки подлинности сервера

;-----------------------------------------------

Вырезать и ввести пример файла в новый текстовый файл с именем Request.inf. В запросе у вас есть полное DNS-имя контроллера домена.

Некоторые сторонние органы сертификации могут требовать дополнительных сведений в параметре Subject. Такие сведения включают адрес электронной почты (E), организационный блок (OU), организацию (O), локальность или город (L), состояние или провинцию (S) и страну или регион (C). Эту информацию можно в файле Request.inf приметь к имени субъекта (CN). Например:

Создайте файл запроса, создав следующую команду в командной подсказке:

Создается новый файл request.req. Это файл запроса с кодом base64.

Извлеките выданный сертификат и сохраните сертификат Certnew.cer в той же папке, что и файл запроса, следуя следующим шагам:

  1. Создайте новый файл certnew.cer.
  2. Откройте файл в Блокнот, вклеите закодированный сертификат в файл и сохраните файл.

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

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

  1. Запуск консоли управления Майкрософт (MMC).
  2. Добавьте оснастку Сертификаты, которая управляет сертификатами на локальном компьютере.
  3. Расширение сертификатов (локальный компьютер), расширение личных и затем расширение сертификатов. Новый сертификат должен существовать в личном магазине. В диалоговом окне Свойства сертификата отображаемая цель — проверка подлинности сервера. Этот сертификат выдан на полное имя хоста компьютера.

Перезапустите контроллер домена.

Дополнительные сведения о создании запроса сертификата см. в следующем документе о регистрации и управлении расширенными сертификатами. Чтобы просмотреть этот документ, см. в статье Advanced Certificate Enrollment and Management.

Проверка подключения LDAPS

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

Запустите средство администрирования Active Directory (Ldp.exe).

В меню Подключения нажмите кнопку Подключение.

Введите имя контроллера домена, к которому необходимо подключиться.

Введите 636 в качестве номера порта.

Сведения RootDSE должны печататься в правой области, что указывает на успешное подключение.

Возможные проблемы

Запуск расширенного запроса TLS

LDAPS-связь происходит через порт TCP 636. Связь LDAPS с глобальным сервером каталогов происходит в TCP 3269. При подключении к портам 636 или 3269 для обмена трафиком LDAP ведется согласование SSL/TLS.

Несколько сертификатов SSL

Поставщик Schannel, поставщик SSL Майкрософт, выбирает первый действительный сертификат, который он находит в локальном хранилище компьютеров. Если в локальном магазине компьютеров имеется несколько действительных сертификатов, Schannel может не выбрать правильный сертификат.

Проблема кэшинга сертификата SSL до SP3

Если существующий сертификат LDAPS заменяется другим сертификатом либо в процессе обновления, либо из-за изменения ЦС выдачи, сервер должен быть перезапущен для Schannel для использования нового сертификата.

Улучшения

Первоначальной рекомендацией в этой статье было поместить сертификаты в личный магазин локальной машины. Хотя этот параметр поддерживается, вы также можете поместить сертификаты в хранилище персональных сертификатов службы NTDS в Windows Server 2008 и в более поздних версиях служб домена Active Directory (AD DS). Дополнительные сведения о том, как добавить сертификат в хранилище персональных сертификатов службы NTDS, см. в справке Event ID 1220 - LDAP over SSL.

AD DS преимущественно ищет сертификаты в этом магазине в магазине локальной машины. Это упрощает настройку AD DS для использования сертификата, который вы хотите использовать. Это потому, что в личном магазине локальных машин может быть несколько сертификатов, и трудно предсказать, какой из них выбран.

AD DS обнаруживает, когда новый сертификат сброшен в хранилище сертификатов, а затем запускает обновление сертификата SSL без перезапуска AD DS или перезапуска контроллера домена.

Новая операция rootDse с именем renewServerCertificate может использоваться для ручного запуска AD DS для обновления SSL-сертификатов без перезапуска AD DS или перезапуска контроллера домена. Этот атрибут можно обновить с помощью adsiedit.msc или импортировать изменение в формате обмена LDAP Directory (LDIF) с помощью ldifde.exe. Дополнительные сведения об использовании LDIF для обновления этого атрибута см. в сайте renewServerCertificate.

Наконец, если Windows Server 2008 или контроллер домена более поздней версии находит несколько сертификатов в своем магазине, он автоматически выбирает сертификат, срок действия которого будет самым дальним в будущем. Затем, если текущий сертификат приближается к дате истечения срока действия, вы можете отказаться от сертификата замены в магазине, и AD DS автоматически переключается на его использование.

Все это работает для Windows 2008 AD DS и для служб легкого каталога Active Directory 2008 (AD LDS). Для AD LDS поместите сертификаты в хранилище персональных сертификатов для службы, соответствующей экземпляру AD LDS, а не службе NTDS.

Служба Active Directory® Lightweight Directory Services (AD LDS), ранее известная как Active Directory Application Mode (ADAM) – это служба каталогов, работающая по протоколу LDAP (Lightweight Directory Access Protocol – облегчённый протокол доступа к каталогам) и обеспечивающая поддержку хранения и извлечения данных для приложений, ориентированных на работу с каталогами, избавляя Вас от требований, предъявляемых к традиционной службе каталогов Active Directory (Active Directory Domain Services, AD DS). Вы можете запускать сразу несколько экземпляров AD LDS на одном компьютере, при этом каждый экземпляр будет использовать свою собственную, независимо управляемую схему.

Для получения дополнительной информации о службах AD LDS обратитесь к статье Обзор служб Active Directory Lightweight Directory Services.

Для получения дополнительной информации о службах ADAM обратитесь к статье Пошаговое руководство по развертыванию ADAM.

Об этом руководстве

Это руководство содержит инструкции по установке, настройке и запуску служб AD LDS. Вы можете использовать процедуры, описанные в этом руководстве, для установки служб AD LDS на серверах под управлением ОС Windows Server® 2008 в лабораторной среде.

Выполнив все шаги данного руководства, Вы научитесь:

Устанавливать серверную роль AD LDS и работать с экземплярами службы AD LDS.

Использовать средства администрирования AD LDS.

Создавать организационные подразделения, группы и пользователей AD LDS, а также управлять ими.

Создавать и удалять разделы каталога приложений AD LDS.

Просматривать, предоставлять и отказывать в предоставлении разрешений AD LDS пользователям.

Выполнять привязку к экземплярам AD LDS различными способами.

Управлять наборами конфигурации AD LDS.

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

Требования для успешного выполнения данного руководства

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

У Вас должен быть как минимум один тестовый компьютер, на котором можно установить службу AD LDS. Для того чтобы Ваши действия соответствовали действиям, описанными в данном руководстве, установите службу AD LDS на компьютер под управлением ОС Windows Server 2008.

Вы должны выполнять вход в операционную систему Windows Server 2008 под административной учетной записью.

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

Шаги для начала работы со службами AD LDS

В следующих разделах представлены пошаговые инструкции по настройке служб AD LDS. Описываются как средства с графическим пользовательским интерфейсом (GUI), так и методы с использованием командной строки (в случаях, когда они могут быть применены), позволяющие создавать резервные копии и восстанавливать AD LDS.

Шаг 1. Установка серверной роли AD LDS

Для установки серверной роли AD LDS на компьютере под управлением Windows Server 2008 выполните следующую процедуру.

Для установки серверной роли AD LDS выполните следующие действия:

Откройте меню Start и щелкните значок Server Manager.

В дереве консоли щелкните правой кнопкой мыши на узле Roles и в контекстном меню выберите команду Add Roles.

Просмотрите информацию на странице Before You Begin мастера Add Roles Wizard и нажмите кнопку Next.

В списке Roles, расположенном на странице Select Server Roles, установите флажок Active Directory Lightweight Directory Services и нажмите кнопку Next.

Следуйте дальнейшим инструкциям мастера для добавления роли AD LDS.

Шаг 2. Работа с экземплярами AD LDS

Теперь, когда Вы установили серверную роль AD LDS, Вы готовы приступить к работе с экземплярами AD LDS. В этом разделе будут рассмотрены следующие процедуры:

Создание нового экземпляра AD LDS

Для создания экземпляров AD LDS используется мастер Active Directory Lightweight Directory Services Setup Wizard. Применительно к AD LDS, «экземпляр службы» (или просто «экземпляр») – это отдельная копия службы каталогов AD LDS. Несколько экземпляров AD LDS могут одновременно работать на одном компьютере. Каждый экземпляр службы каталогов AD LDS имеет отдельное хранилище каталога, а также уникальные имя и описание службы, назначаемые ему во время установки. Во время установки AD LDS Вы можете выбрать опцию создания раздела каталога приложения, если работающее по протоколу LDAP приложение не создает его автоматически.

Для создания экземпляра AD LDS с помощью мастера «Active Directory Lightweight Directory Services Setup Wizard» выполните следующие действия:

В меню Start раскройте папку Administrative Tools и щелкните значок Active Directory Lightweight Directory Services Setup Wizard.

На странице Welcome to the Active Directory Lightweight Directory Services Setup Wizard нажмите кнопку Next.

На странице Setup Options установите переключатель в положение A unique instance и нажмите кнопку Next.

На странице Instance Name задайте имя устанавливаемого экземпляра AD LDS. Это имя будет использоваться на локальном компьютере для идентификации экземпляра AD LDS.

В нашем примере оставьте имя instance1, предлагаемое по умолчанию, и нажмите кнопку Next.

На странице Ports укажите номера портов, через которые будет осуществляться взаимодействие с экземпляром AD LDS. AD LDS может использовать как протокол LDAP, так и защищенный протокол SSL; поэтому Вы должны указать номер для каждого из портов.

В нашем примере оставьте номера 389 и 636, предлагаемые по умолчанию, и нажмите кнопку Next.

Если Вы устанавливаете AD LDS на компьютере, где один из предлагаемых по умолчанию портов уже используется, мастер Active Directory Lightweight Directory Services Setup Wizard автоматически обнаружит первый доступный порт, начиная с номера 50000. Например, служба каталогов Active Directory (Active Directory Domain Services, AD DS), использует порты 389 и 636, а также порты 3268 и 3269 на серверах глобального каталога. Поэтому, если Вы устанавливаете службу AD LDS на контроллере домена, мастер установки AD LDS по умолчанию предложит использовать номер 50000 для LDAP-порта и номер 50001 – для SSL-порта.

На странице Application Directory Partition Вы можете создать раздел каталога приложений (или контекст именования), установив переключатель в положение Yes, create an application directory partition. Если же Вы установите переключатель в положение No, do not create an application directory partition, то Вы должны будете создать раздел каталога приложений вручную после завершения установки.

В нашем примере установите переключатель в положение Yes, create an application directory partition.

Введите o=Microsoft,c=US в качестве различающегося имени раздела каталога приложений и нажмите кнопку Next.

AD LDS поддерживает как стиль именования X.500, так и стиль DNS для задания полных имен разделов каталога приложений верхнего уровня.

На странице File Locations Вы можете просмотреть и изменить папки, в которых будут храниться файлы данных и файлы восстановления AD LDS. По умолчанию файлы данных и файлы восстановления хранятся в папке «%ProgramFiles%\Microsoft ADAM\имя_экземпляра\data», где имя_экземпляра – имя устанавливаемого экземпляра AD LDS, которое Вы указываете на странице Instance Name мастера установки AD LDS.

В нашем примере нажмите кнопку Next, чтобы принять значения по умолчанию.

На странице Service Account Selection Вам будет предложено выбрать учетную запись, которая будет использоваться в качестве учетной записи службы AD LDS. Выбранная учетная запись определяет контекст безопасности, в котором будет выполняться экземпляр AD LDS. По умолчанию мастер установки AD LDS предлагает использовать учетную запись Network Service account.

В нашем примере нажмите кнопку Next, чтобы выбрать предложенную по умолчанию учетную запись Network service account. Если же Вы устанавливаете службу AD LDS на контроллере домена, установите переключатель в положение This account и выберите учетную запись пользователя домена, чтобы использовать ее в качестве учетной записи службы AD LDS.

На странице AD LDS Administrators Вам будет предложено выбрать учетную запись пользователя или группы, которая будет использоваться в качестве учетной записи администратора экземпляра AD LDS. Эта учетная запись будет иметь полный административный контроль над экземпляром AD LDS. По умолчанию мастер установки AD LDS предлагает использовать учетную запись текущего пользователя. Вы можете выбрать любую другую локальную или доменную учетную запись пользователя или группы.

В нашем примере установите переключатель в положение Currently logged on user и нажмите кнопку Next.

На странице Importing LDIF Files Вы можете импортировать LDIF-файлы схемы в экземпляр AD LDS.

В нашем примере отметьте LDIF-файлы, перечисленные в следующей таблице, и нажмите кнопку Next.

Имя LDIF-файла

Содержит определение класса объекта LDAP inetOrgPerson.

Содержит определения классов объектов, относящихся к пользователям.

Содержит простое определение класса объекта userProxy.

Содержит полное определение класса объекта userProxy.

Содержит спецификаторы отображения. Этот файл требуется для работы оснастки консоли управления MMC. Если Вы планируете подключаться к экземпляру AD LDS при помощи оснастки Active Directory – сайты и службы, импортируйте этот файл на данном этапе с помощью мастера Active Directory Lightweight Directory Services Setup Wizard.

Служба AD LDS позволяет Вам использовать собственные файлы формата LDIF (LDAP Data Interchange Format) в дополнение к файлам, поставляемым по умолчанию. Для того чтобы Ваши LDIF-файлы были доступны во время установки экземпляра AD LDS, поместите их в папку «%systemroot%\ADAM». Вы можете создавать собственные LDIF-файлы с помощью инструмента ADSchemaAnalyzer. Для получения дополнительной информации обратитесь к процедуре «Создание LDIF-файла с помощью ADSchemaAnalyzer» раздела Шаг 3. Использование средств администрирования AD LDS этого документа. Поместите Ваши собственные LDIF-файлы в папку «%systemroot%\ADAM» и запустите мастер Active Directory Lightweight Directory Services Setup Wizard, чтобы создать новый экземпляр AD LDS. Ваши LDIF-файлы будут доступны в списке файлов, расположенном на странице Importing LDIF Files.

На странице Ready to Install Вы можете просмотреть выбранные параметры установки экземпляра AD LDS. После того, как Вы нажмете кнопку Next, мастер установки скопирует необходимые файлы и установит экземпляр AD LDS на Ваш компьютер.

Если работа мастера Active Directory Lightweight Directory Services Setup Wizard завершится с ошибкой, то на странице Summary Вы увидите описание причины ее возникновения.

%windir%\Debug\adamsetup.log

%windir%\Debug\adamsetup_loader.log

Файлы Adamsetup.log и Adamsetup_loader.log содержат информацию, которая может помочь Вам выяснить причину возникновения ошибки при установке AD LDS.

Импорт данных в экземпляр AD LDS

Вы можете импортировать данные в экземпляр AD LDS во время его установки (на странице Importing LDIF Files мастера установки AD LDS) или в любой момент после его создания, воспользовавшись инструментом командной строки ldifde, позволяющим создавать, редактировать и удалять объекты каталога. Также Вы можете использовать команду ldifde для расширения схемы и для экспорта информации о пользователях и группах в другие приложения или службы. Например, с помощью команды ldifde Вы можете импортировать в экземпляр AD LDS объекты каталога, экспортированные из какой-либо другой службы каталогов.

Для выполнения импорта или экспорта объектов каталога с помощью команды ldifde выполните следующие действия:

Запустите окно командной строки. Для этого в меню Start щелкните правой кнопкой мыши значок Command Prompt и в контекстном меню выберите команду Run as administrator.

Выполните одно из следующих действий:

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

ldifde -i -f <имя_файла> -s <имя_сервера>:<порт> -m -a <имя_пользователя> <домен> <пароль>

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

ПРИМЕЧАНИЕ. Следующие шаги аналогичны для Windows Server 2008, 2012, 2012 R2, 2016. В этой статье мы будем использовать Windows Server 2012 R2.

Создайте виртуальную машину Windows Server в Azure

Создайте виртуальную машину с именем «ldapstest» Windows Server 2012 R2 Datacenter Standard DS12, следуя инструкциям здесь: Создание виртуальной машины Windows с порталом Azure
Подключитесь к ldapstest виртуальной машины с помощью подключения к удаленному рабочему столу.

Настройка LDAP с использованием AD LDS

Отметьте службы Active Directory облегченного доступа к каталогам из списка ролей и нажмите Далее.

Нажмите «Установить», чтобы начать установку.

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

Введите «CONTOSO» в поле «Имя экземпляра» и нажмите «Далее».

Выбор учетной записи сетевой службы для запуска службы AD LDS.

Вы получите быстрое предупреждение о репликации данных. Поскольку мы используем один сервер LDAP, мы можем нажать Да.

Убедитесь, что все выбраны правильно, а затем нажмите Далее, чтобы подтвердить установку..

После успешной настройки экземпляра нажмите Готово.

Теперь давайте попробуем подключиться к экземпляру AD LDS CONTOSO с помощью ADSI Edit.
Щелкните Пуск -> Найдите «Редактор ADSI» и откройте его.
Щелкните правой кнопкой мыши папку редактирования ADSI (на левой панели) и выберите «Подключиться к ..». Заполните следующие значения и нажмите OK.

Если соединение установлено успешно, мы сможем просматривать каталог CN = MRS, DC = CONTOSO, DC = COM:

Настройка LDAPS (LDAP через SSL)

Сертификат, который будет использоваться для LDAPS, должен удовлетворять следующим трем требованиям:
• Сертификат должен быть действительным для целей аутентификации сервера. Это означает, что он также должен содержать идентификатор объекта аутентификации сервера (OID): 1.3.6.1.5.5.7.3.1
• Имя субъекта или имя в альтернативном имени субъекта (SAN) должно соответствовать полному Полное доменное имя (FQDN) хост-компьютера, например Subject: CN = contosoldaps. Для получения дополнительной информации см. Как добавить альтернативное имя субъекта к защищенному сертификату LDAP.
• Учетная запись хост-компьютера должна иметь доступ к закрытому ключу.

Теперь давайте воспользуемся службами сертификации Active Directory, чтобы создать сертификат, который будет использоваться для LDAPS. Если у вас уже есть сертификат, отвечающий вышеуказанным требованиям, вы можете пропустить этот шаг.

Выберите «Службы сертификации Active Directory» из списка ролей и нажмите «Далее».

Ничего не выбирайте из списка функций и нажмите Далее.

Отметьте «Центр сертификации» в списке ролей и нажмите «Далее».

Нажмите «Установить», чтобы подтвердить установку.

Выбрав корневой ЦС в качестве типа ЦС, нажмите Далее.

ОБНОВЛЕНИЕ: рекомендуется выбрать самый последний алгоритм хеширования с момента обратного отсчета устаревания SHA-1

Имя CA должен соответствовать имени хоста (требование номер 2). Введите «LDAPSTEST» и нажмите «Далее».

После успешной/полной настройки. Щелкните Close.

Теперь давайте просмотрим сгенерированный сертификат.

Нажмите «Пуск», выберите «Поиск» «Управление сертификатами компьютеров» и откройте его.

Щелкните «Личные сертификаты» и убедитесь, что сертификат «LDAPSTEST» присутствует:

Теперь выполните третий требование, позвольте нам убедиться, что учетная запись хост-машины имеет доступ к закрытому ключу. С помощью служебной программы Certutil найдите уникальное имя контейнера. Откройте командную строку в режиме администратора и выполните следующую команду: certutil -verifystore MY

Закрытый ключ будет находиться в следующем месте C: ProgramData Microsoft Crypto Keys

Нам нужно импортировать этот сертификат в хранилище ключей JRE, поскольку наш сертификат CN = LDAPSTEST не подписан ни одним доверенным центром сертификации (CA ), который настроен в вашем хранилище ключей JRE, например, Verisign, Thwate, goDaddy или entrust и т. д. Чтобы импортировать этот сертификат с помощью утилиты keytool, давайте сначала экспортируем этот сертификат как .CER из хранилища сертификатов машины:

Нажмите Пуск -> Найдите «Управление сертификатами компьютеров» и откройте его. Откройте личное, щелкните правой кнопкой мыши сертификат LDAPSTEST и нажмите «Экспорт».

Нажмите Готово, чтобы завершить экспорт сертификата.

Сертификат теперь успешно экспортирован в «C: Users azureuser Desktop ldapstest.cer».

Теперь мы должны импортировать его в JRE Keystore, используя команду keytool, находящуюся в этом месте:

C: Program Files Java jre1.8.0_92 bin keytool.exe.

Введите «да» в запрос «Доверять этому сертификату» .

После успешного добавления сертификата в хранилище ключей JRE мы можем подключиться к серверу LDAP через SSL.

Теперь давайте попробуем подключиться к серверу LDAP (с SSL и без него) с помощью инструмента ldp.exe.

Строки подключения для

LDAP: \ ldapstest: 389

LDAPS: \ ldapstest: 636

Нажмите Пуск -> Поиск ldp.exe -> Подключение, введите следующие параметры и нажмите ОК для подключения:

Чтобы подключиться к LDAPS (LDAP через SSL), используйте порт 636 и отметьте SSL. Нажмите ОК, чтобы подключиться.

ССЫЛКИ

Отличное руководство! Спасибо!

Я не понимаю, почему он импортирует сертификат в java truststore. Инструмент ldp.exe использует java?

@zhongyi_yang Я тоже хотел бы знать об этом.

Доверенное хранилище java немного странно, если учесть Java. Есть ли другой способ импортировать это?

Как я могу найти сервер LDAP в DNS в Windows?

Для Linux эта команда должна возвращать запись DNS для сервера LDAP

(найдено в разделе «Аутентификация с Java (Linux) в Active Directory с использованием LDAP БЕЗ имени сервера»)

Как я могу получить то же самое в командной строке Windows с помощью nslookup?

Читайте также: