- Глава 4.1.3 Установка OpenLDAP в Windows
- 4.1.3 Установка в Windows
- Установка OpenLDAP для Windows
- Исторические заметки по установке OpenLDAP 2.4.35 для Windows
- Как включить подпись LDAP в Windows Server
- Аннотация
- Обнаружение клиентов, которые не используют параметр «Требовать подписи»
- Настройка каталога для обязательной подписи сервера LDAP для AD DS
- Использование групповой политики
- Настройка требования для подписи LDAP на сервере
- Как установить требование подписи LDAP клиента с помощью политики локального компьютера
- Как установить требование подписи LDAP клиента с помощью объекта групповой политики домена
- Как установить требование подписи LDAP клиента с помощью ключей реестра
- Проверка изменений конфигурации
Глава 4.1.3 Установка OpenLDAP в Windows
4.1.3 Установка в Windows
Если Вы хотите развернуть LDAPv3-совместимый Open Source сервер в Windows (XP, Windows 7, 10 или даже, по недоразумению, в Windows Vista), у Вас есть три варианта:
Разработчики установщика cygwin проделали большую работу, чтобы установка была хоть и многословным, но очень простым процессом (полная установка может занять более 30 минут). И спрятали они OpenLDAP так, чтобы никто не догадался (он в категории Libs установщика, но мы Вам этого не говорили). Главный недостаток — то, что версия OpenLDAP обновляется нерегулярно (хотя, по совести говоря, пакеты обновляются довольно регулярно). Если Вы собираетесь заниматься разработкой, либо запускать другие *nix-пакеты под Windows — выбор очевиден.
ApacheDS. Работает под Java и включает прекрасный LDAP-клиент/систему разработки, называемую Apache Directory Studio. Этот превосходный инструмент можно использовать в качестве клиента к любой системе, в том числе OpenLDAP. Возможно, процесс установки покажется Вам немного сложным, поскольку система встроена в среду разработки Eclipse (которая любит всё всегда усложнять), но усилия стоят того.
Если же Вы хотите простую инсталляцию текущей версии OpenLDAP на Windows в пару кликов, то нет ничего лучше сборки OpenLDAP для Windows. Она периодически обновляется (по состоянию на ноябрь 2016 года версия OpenLDAP 2.4.44). Она опционально устанавливает различные механизмы манипуляции данными, в том числе базы данных (bdb и hdb OpenLDAP), OpenSSL (обеспечивает поддержку TLS в OpenLDAP) и даже Cyrus SASL (обеспечивает поддержку Kerberos). OpenLDAP выполняется не как задача Windows, а как dos-приложение.
Установка OpenLDAP для Windows
При последней установке данного программного обеспечения (ноябрь 2016 года) стало ясно, что процесс инсталляции с момента нашей предыдущей установки (OpenLDAP 2.4.35) поменялся радикально. Теперь доступны 32-х и 64-битные версии, а процесс инсталляции предоставляет много (слишком много?) опций. Получить программное обеспечение можно здесь, а инструкции по установке находятся здесь. Мы установили 64-битную версию на Windows 10 Home Edition. В нашем случае процесс инсталляции не прошёл гладко (64-битная версия, Home Edition, сами понимаете), но после небольшой доработки напильником за 20 минут мы получили вполне работоспособный OpenLDAP. Не так уж и плохо. Немного сбивало с толку то, что имена директорий/папок сильно отличаются от тех, которые мы привыкли видеть при инсталляции в Lunux/BSD.
Мы оставили наши записи об установке OpenLDAP 2.4.35 в назидание потомкам (не поддавайтесь искушению использовать их для чего-либо, кроме версии 2.4.35). Мы добавили записи о текущей инсталляции (ноябрь 2016 года, OpenLDAP 2.4.44), которые могут оказаться для Вас полезными (или бесполезными).
Возможно, вследствие ошибок при инсталляции, мы получили полностью установленный, но не запущенный OpenLDAP. В разных местах мы встречали намёки на то, что OpenLDAP может выполняться как служба Windows, но, как всегда, мы не стали читать документацию целиком. Скрипт запуска: C:\OpenLDAP\run\run.cmd (C:\OpenLDAP — корневая директория при инсталляции по умолчанию). Для удобства использования мы сделали себе ярлык на него на рабочем столе.
При инсталляции по умолчанию slapd при запуске использует slapd.conf (расположен в корневой директории (по умолчанию это C:\OpenLDAP), а не в привычной /etc/openldap как в Linux/BSD).
Конвертация в slapd.d тривиальна. После внесения необходимых изменений в файл slapd.conf, просто создайте новую директорию/папку с названием slapd.d. Откройте командную строку, перейдите в C:\OpenLDAP (или туда, куда Вы произвели установку) и выполните:
Откройте C:\OpenLDAP\run\run.cmd в любимом редакторе:
Запустите сервер, выполнив C:\OpenLDAP\run\run.cmd.
По умолчанию в скрипте запуска (смотрите предыдущее примечание) используется аргумент -d -1, генерирующий огромное количество отладочной информации и серьёзно снижающий производительность сервера. На первоначальном этапе это полезно, так как Вы получаете максимум диагностической информации. После того, как Вам удастся добиться от сервера стабильной работы, можно либо совсем удалить -d -1 в файле run.cmd, либо задать значение поменьше.
Примечание: Значение аргумента -d, используемое при старте OpenLDAP (slapd), благоразумно отменяет любые попытки динамически изменять значение атрибута oldLogLevel (при использовании OLC, cn=config), либо значения директивы loglevel в slapd.conf. Чтобы эти настройки имели эффект, удалите аргумент -d из строки запуска slapd.
Исторические заметки по установке OpenLDAP 2.4.35 для Windows
Далее следуют некоторые заметки об установке и использовании OpenLDAP (2.4.35) для Windows. При прочтении документации к пакету складывается впечатление, что его возможности значительно больше, чем предоставление основных сервисов OpenLDAP, в частности, там обсуждается использование Microsoft-SQL. Мы проигнорировали все эти новомодные штучки (поскольку не являемся пользователями MS-SQL) и всё равно получили отличную, высоко функциональную инсталляцию OpenLDAP. Порядок действий:
Скачайте программное обеспечение отсюда в подходящую директорию файловой системы.
Распакуйте архив и дважды щёлкните для запуска OpenLDAP-2.y.xx-x86.exe (y — старший номер версии, а xx — младший номер версии). Следуйте запросам мастера установки. Установка может быть запущена с правами обычного пользователя (административных привилегий не требуется). Далее показаны экраны с немного путанным содержимым, для которых приводятся дополнительные разъяснения.
На этом экране Вас просят ввести Ваши данные, но ввод данных не позволяется. Попробуй разберись! Проигнорируйте его и нажмите «Next». Ничего страшного не случится.
На этом экране показана директория по умолчанию, куда будет произведена установка. Измените её в соответствии с Вашими потребностями или просто нажмите «Next».
После установки файлов этот экран показывает некоторую общую информацию о конфигурации сервера. Большая часть её пригодна лишь в том случае, если Вы собираетесь использовать конфигурацию по умолчанию.
На следующем за этим экране запрашивается, хотите ли Вы прочитать документ readme.pdf. Наш совет — не стоит. Снимите галочку и читайте дальше эту инструкцию.
Когда последний экран мастера установки закроется и станет историей, у Вас будет следующая конфигурация (подразумевается, что Вы произвели инсталляцию в директорию по умолчанию C:\OpenLDAP, либо, если Вы один из тех, кого раздражает всё, что по умолчанию, скорректируйте значения на свои):
Система настроена на использование файла slapd.conf в директории \etc\openldap (директория slapd.d отсутствует — смотрите заметки по olc/cn=config здесь). Этот slapd.conf полностью работоспособен, в него стоит заглянуть хотя бы потому, что в нём содержатся относительные пути, указывающие на поддиректории и файлы внутри установочной директории. Обслуживание осуществляется на стандартных номерах портов LDAP (389 и 636 для ldaps). Если Вы собираетесь использовать свой собственный файл slapd.conf, обратите внимание на стандартные расположения, на которые указывают директивы pidfile, argsfile (по умолчанию \var\run) и logfile (по умолчанию \var\log) стандартного файла и для упрощения процесса подкорректируйте свои значения, аналогично проверьте расположение файлов наборов схемы данных (\etc\openldap\schema) и директивы directory (\var\db\openldap-data) в Вашем разделе (разделах) database (используйте указанную и при необходимости создайте новые директории).
Один из самых запутанных аспектов этой инсталляции OpenLDAP — собраны ли модули статически или динамически. В OpenLDAP для Windows они собраны статически (правильный выбор), это означает, что в директивах loadmodule или loadpath нет необходимости.
В назидание потомкам мы приводим файл slapd.conf по умолчанию пакета OpenLDAP для Windows:
Для запуска сервера выполните «Пуск» (Start) -> «Все программы» (All Programs) -> OpenLDAP -> Start LDAP Server:
Примечание: OpenLDAP для Windows использует инсталляционный файл типа .exe, а не .msi, и потому до появления значков в меню «Все программы» (All Programs) может пройти довольно много времени (до 30 минут).
Если Вы нетерпеливы, перейдите в директорию libexec и дважды щёлкните на StartLDAP.cmd. Это приведёт к немедленному запуску LDAP-сервера.
При старте сервера откроется окно сессии dos, куда будет выведена тонна информации, после чего окно останется открытым (Вы должны явно завершить OpenLDAP, нажав CTL-C в этом окне dos). Если что-то пошло не так, окно немедленно закроется. Если Вы используете директиву logfile (поставляемый по умолчанию файл slapd.conf использует \var\log\openldap.log), то ищите ошибки в файле журнала. Если Вы не используете директиву logfile, значит Вам не повезло.
Большой объём информации, выводимой в окне dos, может серьёзно замедлить работу сервера. Чтобы его уменьшить или ликвидировать, просто откройте (с помощью notepad) файл \libexec\StartLDAP.cmd и из последней строки этого файла либо вообще удалите аргумент -d -1 (для отмены вывода, за исключением катастрофических ошибок), либо измените -1 на какое-либо другое значение (подробнее здесь). Например, если значение равно 8, будет выводиться только информация о соединениях. Вот этот файл во всей красе, чтобы Вы могли увидеть, что представляет из себя последняя строка:
Стандартные ldap-утилиты OpenLDAP (ldapsearch и другие) располагаются в директории bin. В OpenLDAP для Windows есть удобное окно командной строки, предварительно сконфигурированное на эту директорию:
Вы также можете открыть любое окно с сессей dos и перейти в c:\openldap\bin, либо поместите этот путь в свою переменную path («Пуск» (Start) -> «Панель управления» (Control panel) -> «Система» (System) -> в открывшемся окне «Свойства системы» (Advanced system settings) выберите вкладку «Дополнительно» (Advanced) -> нажмите кнопку «Переменные среды» (Environmental settings) -> в открывшемся окне «Переменные среды» в нижней части найдите переменную path и добавьте ;c:\openldap\bin). Откройте любое окно с сессией dos («Пуск» (Start)->»Выполнить» (Run)->cmd) и можете запускать утилиты ldap. Примечание: slap-утилиты (slapadd и другие) находятся в директории sbin, возможно, Вы захотите добавить в переменную path также и путь ;c\openldap\sbin.
Как мы уже говорили, для остановки сервера OpenLDAP перейти в окно с сессией dos, в котором он выполняется, и нажать CTRL-C. Сервер остановится, и Вам будет выведен запрос «Terminate Batch Job?«; если в ответ на него вы нажмёте «y», окно закроется.
Если эта процедура не была соблюдена (например, Вы завершили работу компьютера, не остановив LDAP-сервер), сервер, вероятнее всего, откажется стартовать при следующем запуске. В этом случае перейдите в директорию c:\openldap\var\run и удалите все файлы в этой директории (slapd.args и slapd.pid). Теперь сервер должен запуститься. Если нет — обратитесь к файлу журнала (по умолчанию в \var\log). Ведь Вы же установили директиву logfile, правда?
Проблемы, комментарии, предположения, исправления (включая битые ссылки) или есть что добавить? Пожалуйста, выкроите время в потоке занятой жизни, чтобы написать нам, вебмастеру или в службу поддержки. Оставшийся день Вы проведёте с чувством удовлетворения.
Как включить подпись LDAP в Windows Server
В этой статье описывается, как включить подпись LDAP в Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 и Windows 10.
Исходная версия продукта: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 10 — все выпуски
Исходный номер КБ: 935834
Аннотация
Можно значительно повысить безопасность сервера каталогов, настроив сервер на отклонение привязок LDAP saSL, которые не запрашивают подписи (проверка целостности) или отклонить простые привязки LDAP, выполняемые при соединении с незашифрованным текстом (без шифрования SSL/TLS). Привязки SASL могут включать такие протоколы, как Negotiate, Kerberos, NTLM и Digest.
Неподписаный сетевой трафик подвержен атакам с повтором. В таких атаках злоумышленник перехватывает попытку проверки подлинности и выдачу билета. Злоумышленник может повторно использовать билет, чтобы подхавлить законного пользователя. Кроме того, неподписавшийся сетевой трафик подвержен атакам «злоумышленник в середине» (MIM), в результате которых злоумышленник захватывает пакеты между клиентом и сервером, изменяет пакеты, а затем передает их на сервер. Если это происходит на сервере LDAP, злоумышленник может заставить сервер принимать решения, основанные на поддельных запросах от клиента LDAP.
Обнаружение клиентов, которые не используют параметр «Требовать подписи»
После изменения конфигурации клиенты, которые используют неподписавное подключение SASL (Negotiate, Kerberos, NTLM или Digest), привязывает LDAP или простой привязки LDAP через подключение, не относяющееся к SSL/TLS, перестают работать. Чтобы помочь определить этих клиентов, сервер каталогов доменных служб Active Directory (AD DS) или сервер облегченного доступного каталога (LDS) регистрирует сводный ИД события 2887 один раз каждые 24 часа, чтобы указать, сколько таких привязок произошло. Мы рекомендуем не использовать такие привязки для этих клиентов. После того как такие события не происходят в течение длительного периода, рекомендуется настроить сервер на отклонение таких привязок.
Если для идентификации таких клиентов необходимо получить дополнительные сведения, можно настроить сервер каталогов для предоставления более подробных журналов. В этом дополнительном окне занося в журнал событие с ид 2889, когда клиент пытается сделать неподписаную привязку LDAP. В записи журнала отображается IP-адрес клиента и удостоверение, которое клиент попытался использовать для проверки подлинности. Вы можете включить это дополнительное ведение журнала, установив для диагностического параметра «16 событий интерфейса LDAP» 2 (базовый). Дополнительные сведения об изменении параметров диагностики см. в сведениях о настройке ведения журнала событий диагностики Active Directory и LDS.
Если сервер каталогов настроен на отклонение неподписаных привязок LDAP SASL или простых привязок LDAP через подключение, не относящемся к SSL/TLS, сервер каталогов регистрирует сводный ИД события 2888 один раз каждые 24 часа при таких попытках привязки.
Настройка каталога для обязательной подписи сервера LDAP для AD DS
Сведения о возможных изменениях параметров безопасности см. в сведениях о клиентах, службах и программах, которые могут возникнуть при изменении параметров безопасности и назначений прав пользователей.
Аномалия ведения журнала события 2889
Приложения, которые используют сторонние клиенты LDAP, могут привести к тому, что Windows будет создавать неправильные записи с ИД события 2889. Это происходит при регистрации событий интерфейса LDAP и, если равно LDAPServerIntegrity 2. Использование запечатывок (шифрование) удовлетворяет защиту от атаки MIM, но Windows все равно заносим в журнал код события 2889.
Это происходит, когда клиенты LDAP используют только запечатывание вместе с SASL. Мы видели это в поле в связи со сторонними клиентами LDAP.
Если подключение не использует подписываю и запечатываю, при проверке требований безопасности подключения флаги используются правильно и отключается. При проверке создается ошибка 8232 (ERROR_DS_STRONG_AUTH_REQUIRED).
Использование групповой политики
Настройка требования для подписи LDAP на сервере
- Выберите >«Запустить»,введитеmmc.exe и выберите «ОК».
- Выберите >«Добавить или удалить оснастку»,«Редактор управления групповыми политиками» и «Добавить».
- Выберите «Обзор объекта групповой >политики».
- В диалоговом окне «Обзор объекта групповой политики» выберите политику контроллера домена по умолчанию в области «Домены», «OUS» и «Связанные объекты групповой политики», а затем выберите «ОК».
- Нажмите кнопку Готово.
- Нажмите OK.
- Выберите «Политики конфигурации компьютера контроллера домена по умолчанию» «Параметры безопасности параметров Windows» и выберите > > > > >«Параметры безопасности».
- Щелкните правой кнопкой мыши контроллер домена: требования к подписи сервера LDAP и выберите «Свойства».
- В контроллере домена: диалоговое окно «Свойства для подписи сервера LDAP» в поле «Определение этого параметра политики» выберите «Требовать подпись» в списке «Определение этого параметра политики» и затем выберите «ОК».
- В диалоговом окне «Подтверждение изменения параметра» выберите «Да».
Как установить требование подписи LDAP клиента с помощью политики локального компьютера
- Выберите >«Запустить»,введитеmmc.exe и выберите «ОК».
- Select File >Add/Remove Snap-in.
- В диалоговом окне «Добавление и удаление оснастки» выберите редактор объектов групповой политики и выберите «Добавить».
- Нажмите кнопку Готово.
- Нажмите OK.
- Выберите локальные политики >компьютерной конфигурации >конфигурации windows >Settings Security > Settings Local Policies, > а затем выберите параметры безопасности.
- Щелкните правой кнопкой мыши сетевую безопасность: требования подписи клиента LDAP и выберите «Свойства».
- В диалоговом окне «Безопасность сети: свойства для подписи клиента LDAP» выберите «Требовать подпись в списке» и затем выберите «ОК».
- В диалоговом окне «Подтверждение изменения параметра» выберите «Да».
Как установить требование подписи LDAP клиента с помощью объекта групповой политики домена
- Выберите >«Запустить»,введитеmmc.exe и выберите «ОК».
- Select File >Add/Remove Snap-in.
- В диалоговом окне «Добавление и удаление оснастки» выберите редактор объектов групповой политики и выберите «Добавить».
- Выберите «Обзор», а затем выберите политику домена по умолчанию (или объект групповой политики, для которого нужно включить подпись LDAP клиента).
- Нажмите OK.
- Нажмите кнопку Готово.
- Нажмите Закрыть.
- Нажмите OK.
- Выберите локализованные параметры безопасности параметров безопасности конфигурации компьютера с политикой домена по умолчанию, а затем > > > > выберите «Параметры безопасности».
- В диалоговом окне «Безопасность сети: требования к подписи клиента LDAP: свойства» выберите «Требовать регистрацию в списке» и затем выберите «ОК».
- В диалоговом окне «Подтверждение изменения параметра» выберите «Да».
Как установить требование подписи LDAP клиента с помощью ключей реестра
Точно следуйте всем указаниям из этого раздела. Внесение неправильных изменений в реестр может привести к возникновению серьезных проблем. Прежде чем приступить к изменениям, создайте резервную копию реестра для восстановления на случай возникновения проблем.
По умолчанию для служб Active Directory облегченного доступ к каталогам (AD LDS) этот ключ реестра недо доступен. Поэтому необходимо создать запись реестра типа REG_DWORD под следующим подмеком LDAPServerIntegrity реестра:
Замещетель представляет имя экземпляра AD LDS, который требуется изменить.
Проверка изменений конфигурации
Во sign in to a computer that has the AD DS Admin Tools installed.
Выберите > «Запустить», введитеldp.exe и выберите «ОК».
Выберите подключение. >
В «Сервер» и «Порт» введите имя сервера и порт сервера каталогов без SSL/TLS, а затем выберите «ОК».
Для контроллера домена Active Directory применимый порт — 389.
После подключения выберите привязку > подключения.
В области «Тип привязки» выберите «Простая привязка».
Введите имя пользователя и пароль, а затем выберите «ОК».
Если вы получили следующее сообщение об ошибке, сервер каталогов успешно настроен:
Ldap_simple_bind_s() failed: Strong Authentication Required