Доступ/Серверы/LDAP

LDAP - протокол прикладного уровня, использующий TCP/IP, для доступа к службе каталогов X.500. Используется в Microsoft Active Directory, OpenLDAP, Novell eDirectory и во многих других.

Traffic Inspector Next Generation может использовать сервер LDAP для аутентификации и авторизированного доступа к графическому интерфейсу пользователя (веб-конфигуратор) или отдельным его частям. При использовании LDAP для доступа к интерфейсу пользователя, привилегии должны быть определены с помощью локального менеджера пользователей - для чего требуется автоматический импорт пользователей из источника LDAP.

В этом руководстве будет показано, как настроить оба варианта с помощью Microsoft Active Directory Server. Если LDAP нужен только для таких служб, как VPN, можно пропустить шаги c 3 по 5.

Совет

LDAP можно комбинировать с двухфакторной аутентификацией.

Необходимые условия

Требуется функционирующий сервер LDAP (пример основан на MS AD). TING должен быть полностью настроен и иметь доступ к LDAP-серверу.

Шаг 1 - Добавление нового сервера LDAP

Для добавления нового LDAP-сервера, надо открыть страницу Система ‣ Доступ ‣ Серверы b нажать кнопку Добавить сервер в правом верхнем углу. Ввести настройки, аналогичные приведённым ниже:

Описательное имя

LDAP-server

Описательное имя сервера

Тип

LDAP

Выбрать LDAP

Имя хоста или IP-адрес

10.10.10.1

Адрес LDAP-сервера

Значение порта

389

Номер порта, по умолчанию - 389

Транспортный протокол

TCP - стандартный

Выбрать стандартный или зашифрованный

Версия протокола

3

Привязать параметры доступа

Указать User Principal Name

Пользовательский DN

cn=testusr,CN=Users, DC=opnsense,DC=local

Пароль

Область поиска

Целое поддерево

Единичный или Целое поддерево (для извлечения всех данных)

Базовый DN

DC=opnsense,DC=local

Контейнеры для аутентификации

Нажать и выбрать контейнеры из списка

Расширенный запрос

&(objectClass=Person)

Расширенный запрос, например ограничение результата классом Person

Начальный шаблон

MicrosoftAD

Тип LDAP-сервера

Атрибут присвоения имени пользователю

saAMAccountName

Заполняется автоматически, соответственно Начальному шаблону

Читать свойства

Синхронизация групп

Ограниченные группы

Автоматическое создание пользователя

Совпадение нечуствительно к регистру

Примечание

При нажатии на кнопку Выбрать справа от поля Контейнеры для аутентификации, должно отобразиться окно, похожее на изображённое ниже:

../../_images/ldap_containers.png

Примечание

При использовании SSL/TLS, убедитесь, что центр цертификации удалённого сервера настроен в разделе Система ‣ Доверенные сертификаты.

Совет

Поле Расширенный запрос можно использовать для выбора пользователей, входящих в определённую группу (относится только ко внешним службам, когда не используется локальная база данных). Например, можно сделать так: &(memberOf=CN=myGroup,CN=Users,DC=opnsense,DC=local), чтобы выбрать только членов группы myGroup. Чтобы добавить пользователя в определённую группу Windows, надо отредактировать свойства группы и выбрать Добавить, чтобы добавить пользователя на вкладке Пользователи.

../../_images/win10_group-properties.png

Совет

Иногда, вот отношении пользователей, локальное именование не совпадает с серверным. В этом случае можно использовать опцию нечуствительности к регистру Совпадение нечуствительно к регистру, чтобы игнорировать его при входе в систему. Например, Microsoft Access Directory не чувствительна к регистру, и в этом случае, UsEr равно user (наша система чувствительна к регистру).

Шаг 1.1 (опционально) Синхронизация групп

Когда для импорта пользователей используется локальная база данных, можно также синхронизировать настроенные группы LDAP, если удалённый сервер поддерживает такую возможность. Для использования этой функции, надо включить Читать свойства и Синхронизация групп.

Примечание

Данная функция требует, чтобы удалённый сервер LDAP отвечал на memberOf при запросе.

Примечание

Группы будут извлечены из первого раздела CN= и будут учитываться только в том случае, если они уже существуют в TING. Членство в группых будет сохранено в TING (всегда можно проверить, какими правами обладал пользователь при последнем успешном входе в систему).

Шаг 2 - Проверка

Для проверки правильности настройки сервера, надо зайти в раздел :Система ‣ Доступ ‣ Средство проверки, выбрать сконфигурированный сервер LDAP и ввести правильные имя и пароль. После нажатия на кнопку Проверка, если всё настроено верно, на странице отобразится сообщении об успешной аутентификации:

../../_images/auth_success.png

Примечание

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

Если же были введены неверные имя и/или пароль, либо сервер настроен неправильно, то отобразится сообщение об ошибке:

../../_images/auth_failed.png

Совет

Если опция Читать свойства включена, можно посмотреть все параметры, возвращаемые сервером в Средство проверки. Это поможет определить, поддерживает ли ваш сервер группу синхронизации (надо найти memberOf в списке).

Шаг 3 - Активация сервера аутентификации

Надо пройти в раздел Система ‣ Настройки ‣ Администрирование и в секции Аутентификация (внизу страницы) сменить значение в поле Сервер на новый LDAP-сервер и сохранить.

Предупреждение

Перед тем, как измененить доступ к web-интерфейсу на требущий LDAP, убедитесь, что хотя бы у одного пользователя есть доступ к брандмауэру с удалёнными учётными данными. Этого можно добиться, назначив пользователю права доступа Все страницы либо убедившись, что он входит в группу с такой привилегией. Чтобы избежать блокировки, можно добавить Локальная база данных в качестве вторичного параметра во время тестирования.

Шаг 4 - Импорт пользователей

Если вы хотите предоставить пользователям LDAP/Active Directory доступ к веб-интерфейсу, сначала необходимо импортировать их в локальный менеджер пользователей - это можно сделать в разделе Система ‣ Доступ ‣ Пользователи.

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

Примечание

Параметр Автоматическое создание пользователей заменяет ручной импорт в случаях, если данные аккаунта можно получить с удалённого сервера LDAP. Пользователей, созданных таким образом, нужно удалять вручную, если/когда они удаляются с LDAP-сервера(серверов) - аналогично тому, как это делается локально при ручном импорте.

Шаг 4.1 Обновление пользовательских прав LDAP

Теперь, если перейти в раздел Система ‣ Доступ ‣ Пользователи, можно увидеть всех пользователей, включая недавно импортированных с LDAP. Можно создать специальную группу для этих пользователей, чтобы облегчить управлениями правами, или использовать одну из ранее созданных групп. При открытии окна редактирования пользователя LDAP, будет видна разница в именовании - в поле Уникальное имя будет отображено имя с сервера LDAP, например:

Имя пользователя

testusr

Уникальное имя

CN=testusr,CN=Users,DC=opnsense,DC=local

Полное имя

testusr

Совет

Для более подробной информации о пользователях, группах и правах, см. Пользователи и группы.