Перейти к содержанию

auth-ldap: Модуль аутентификации LDAP для NGINX

Установка на Debian/Ubuntu

Эти документы относятся к APT пакету nginx-module-auth-ldap, предоставляемому репозиторием GetPageSpeed Extras.

  1. Настройте APT репозиторий, как описано в настройке APT репозитория.
  2. Установите модуль:
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 без доступа к записи.