auth-ldap: Модуль аутентификации LDAP для NGINX
Установка на Debian/Ubuntu
Эти документы относятся к APT пакету nginx-module-auth-ldap, предоставляемому репозиторием GetPageSpeed Extras.
- Настройте APT репозиторий, как описано в настройке APT репозитория.
- Установите модуль:
sudo apt-get update
sudo apt-get install nginx-module-auth-ldap
Warning
Этот модуль еще не опубликован как nginx-module-auth-ldap в APT репозиториях. Оставайтесь на связи или отправьте электронное письмо на адрес support@getpagespeed.com, чтобы запросить его.
Модуль LDAP для nginx, который поддерживает аутентификацию против нескольких LDAP серверов.
Пример конфигурации
Определите список ваших LDAP серверов с необходимыми требованиями к пользователям/группам:
http {
ldap_server test1 {
url ldap://192.168.0.1:3268/DC=test,DC=local?sAMAccountName?sub?(objectClass=person);
binddn "TEST\\LDAPUSER";
binddn_passwd LDAPPASSWORD;
group_attribute uniquemember;
group_attribute_is_dn on;
require valid_user;
}
ldap_server test2 {
url ldap://192.168.0.2:3268/DC=test,DC=local?sAMAccountName?sub?(objectClass=person);
binddn "TEST\\LDAPUSER";
binddn_passwd LDAPPASSWORD;
group_attribute uniquemember;
group_attribute_is_dn on;
require valid_user;
}
}
И добавьте необходимые сервера в правильном порядке в ваше директиву location/server:
server {
listen 8000;
server_name localhost;
auth_ldap "Forbidden";
auth_ldap_servers test1;
auth_ldap_servers test2;
location / {
root html;
index index.html index.htm;
}
}
Доступные параметры конфигурации
url
ожидаемое значение: строка
Доступные схемы URL: ldap://, ldaps://
binddn
ожидаемое значение: строка
binddn_passwd
ожидаемое значение: строка
group_attribute
ожидаемое значение: строка
group_attribute_is_dn
ожидаемое значение: on или off, по умолчанию off
require
ожидаемое значение: valid_user, user, group
satisfy
ожидаемое значение: all, any
max_down_retries
ожидаемое значение: число, по умолчанию 0
Количество попыток повторного подключения к LDAP серверу, если он считается "НЕ ДОСТУПЕН". Это может произойти, если соединение KEEP-ALIVE с LDAP сервером истекло или было прервано со стороны сервера через некоторое время.
Это может помочь с следующей ошибкой:
http_auth_ldap: ldap_result() failed (-1: Can't contact LDAP server)
connections
ожидаемое значение: число больше 0
ssl_check_cert
ожидаемое значение: on или off, по умолчанию off
Проверяйте удаленный сертификат для соединений LDAPs. Если отключено, любой удаленный сертификат будет принят, что подвергает вас возможным атакам "человек посередине". Обратите внимание, что сертификат сервера должен быть подписан правильным CA, которому доверяет ваша система, если это включено. Смотрите ниже, как доверять CA без установки их на уровне системы.
Эта опция требует OpenSSL >= 1.0.2; она недоступна, если собрана с более старыми версиями.
ssl_ca_file
ожидаемое значение: путь к файлу
Доверяйте CA сертификату в этом файле (см. ssl_check_cert выше).
ssl_ca_dir
ожидаемое значение: путь к директории
Доверяйте всем CA сертификатам в этой директории (см. ssl_check_cert выше).
Обратите внимание, что вам нужно предоставить символьные ссылки на основе хэша в директории для этого, чтобы это работало; вам, по сути, нужно будет запустить команду c_rehash OpenSSL в этой директории.
referral
ожидаемое значение: on, off
По умолчанию в библиотеке LDAP стоит on. Эта опция отключает использование сообщений рефералов от LDAP сервера. Полезно для аутентификации против только для чтения сервера AD без доступа к записи.