Spec-Zone.ru › Apache HTTP Server

Модуль Apache mod_ldap

Описание: Службы объединения LDAP-подключений в пул и кэширования результатов для использования другими модулями LDAP
Статус: Расширение
Идентификатор модуля: ldap_module
Исходный файл: util_ldap.c

Краткое описание

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

Чтобы включить этот модуль, поддержку LDAP необходимо скомпилировать в apr-util. Для этого при сборке Apache в скрипт configure добавляется флаг --with-ldap.

Поддержка SSL/TLS зависит от того, с каким набором инструментов LDAP скомпонован APR. На момент написания этого текста APR-util поддерживает: OpenLDAP SDK (версии 2.x и более поздние), Novell LDAP SDK, Mozilla LDAP SDK, встроенный Solaris LDAP SDK (на основе Mozilla) и встроенный Microsoft LDAP SDK. Подробности см. на веб-сайте APR.

Пример конфигурации

Ниже приведен пример конфигурации, в которой используется mod_ldap для повышения производительности HTTP-аутентификации Basic, предоставляемой mod_authnz_ldap.

# Enable the LDAP connection pool and shared
# memory cache. Enable the LDAP cache status
# handler. Requires that mod_ldap and mod_authnz_ldap
# be loaded. Change the "yourdomain.example.com" to
# match your domain.

LDAPSharedCacheSize 500000
LDAPCacheEntries 1024
LDAPCacheTTL 600
LDAPOpCacheEntries 1024
LDAPOpCacheTTL 600

<Location "/ldap-status">
    SetHandler ldap-status

    Require host yourdomain.example.com

    Satisfy any
    AuthType Basic
    AuthName "LDAP Protected"
    AuthBasicProvider ldap
    AuthLDAPURL "ldap://127.0.0.1/dc=example,dc=com?uid?one"
    Require valid-user
</Location>

Пул LDAP-подключений

LDAP-подключения объединяются в пул и повторно используются для обработки запросов. Благодаря этому подключение к серверу LDAP остается установленным и готовым к обработке следующего запроса, без необходимости выполнять отключение, подключение и повторную привязку. Выигрыш в производительности сопоставим с эффектом от использования постоянных HTTP-соединений.

На загруженном сервере множество запросов могут одновременно попытаться обратиться к одному и тому же LDAP-подключению. Если LDAP-подключение занято, Apache создаст новое подключение параллельно с исходным. Это не позволяет пулу подключений стать узким местом.

Вручную включать пул подключений в конфигурации Apache не требуется. Все модули, использующие этот модуль для доступа к службам LDAP, будут совместно использовать пул подключений.

LDAP-подключения могут сохранять учетные данные клиента LDAP, использованные при привязке к серверу LDAP. Эти учетные данные могут передаваться серверам LDAP, которые не разрешают анонимную привязку при переходе по ссылкам-переадресациям. Настройка этой функции описана в директивах LDAPReferrals и LDAPReferralHopLimit. По умолчанию функция включена.

Кэш LDAP

Для повышения производительности mod_ldap использует стратегию агрессивного кэширования, чтобы свести к минимуму число обращений к серверу LDAP. Кэширование может вдвое или втрое увеличить пропускную способность Apache при обслуживании страниц, защищенных с помощью mod_authnz_ldap. Кроме того, нагрузка на сервер LDAP значительно снизится.

mod_ldap поддерживает два типа кэширования LDAP: на этапе поиска и привязки используется кэш поиска/привязки, а на этапе сравнения — два кэша операций. Для каждого URL LDAP, используемого сервером, создается собственный набор из этих трех кэшей.

Кэш поиска/привязки

Поиск с последующей привязкой — самая затратная по времени операция LDAP, особенно если каталог велик. Кэш поиска/привязки используется для кэширования всех поисковых запросов, завершившихся успешной привязкой. Отрицательные результаты (т. е. неудачные поисковые запросы или запросы, не завершившиеся успешной привязкой) не кэшируются. Это решение объясняется тем, что подключения с неверными учетными данными составляют лишь малую долю от общего числа подключений, поэтому отказ от кэширования неверных учетных данных уменьшает размер кэша.

mod_ldap сохраняет в кэше имя пользователя, полученное DN, пароль, использованный для привязки, и время привязки. При установлении нового подключения с тем же именем пользователя mod_ldap сравнивает пароль нового подключения с паролем в кэше. Если пароли совпадают и срок хранения записи в кэше не истек, mod_ldap пропускает этап поиска/привязки.

Кэш поиска и привязки настраивается директивами LDAPCacheEntries и LDAPCacheTTL.

Кэши операций

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

Обратите внимание: при проверке членства в группе результаты любых сравнений с подгруппами кэшируются, чтобы ускорить последующие сравнения подгрупп.

Поведение обоих этих кэшей настраивается директивами LDAPOpCacheEntries и LDAPOpCacheTTL.

Мониторинг кэша

В mod_ldap предусмотрен обработчик содержимого, позволяющий администраторам отслеживать производительность кэша. Обработчик содержимого называется ldap-status, поэтому для доступа к сведениям о кэше mod_ldap можно использовать следующие директивы:

<Location "/server/cache-info">
    SetHandler ldap-status
</Location>

Запросив URL http://servername/cache-info, администратор может получить отчет о состоянии каждого кэша, используемого кэшем mod_ldap. Обратите внимание: если Apache не поддерживает разделяемую память, у каждого экземпляра httpd будет собственный кэш. Поэтому при повторном запросе URL будут отображаться разные сведения в зависимости от того, какой экземпляр httpd обработает запрос.

Использование SSL/TLS

Возможность создания SSL- и TLS-подключений к серверу LDAP определяется директивами LDAPTrustedGlobalCert, LDAPTrustedClientCert и LDAPTrustedMode. Эти директивы указывают используемые центры сертификации и необязательные сертификаты клиента, а также тип шифрования подключения (без шифрования, SSL или TLS/STARTTLS).

# Establish an SSL LDAP connection on port 636. Requires that
# mod_ldap and mod_authnz_ldap be loaded. Change the
# "yourdomain.example.com" to match your domain.

LDAPTrustedGlobalCert CA_DER "/certs/certfile.der"

<Location "/ldap-status">
    SetHandler ldap-status

    Require host yourdomain.example.com

    Satisfy any
    AuthType Basic
    AuthName "LDAP Protected"
    AuthBasicProvider ldap
    AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one"
    Require valid-user
</Location>
# Establish a TLS LDAP connection on port 389. Requires that
# mod_ldap and mod_authnz_ldap be loaded. Change the
# "yourdomain.example.com" to match your domain.

LDAPTrustedGlobalCert CA_DER "/certs/certfile.der"

<Location "/ldap-status">
    SetHandler ldap-status

    Require host yourdomain.example.com

    Satisfy any
    AuthType Basic
    AuthName "LDAP Protected"
    AuthBasicProvider ldap
    AuthLDAPURL "ldap://127.0.0.1/dc=example,dc=com?uid?one" TLS
    Require valid-user
</Location>

Сертификаты SSL/TLS

В разных SDK LDAP используются существенно различающиеся способы настройки и обработки сертификатов центра сертификации и клиентских сертификатов.

Если вы собираетесь использовать SSL или TLS, ВНИМАТЕЛЬНО прочитайте этот раздел, чтобы понять различия конфигураций для поддерживаемых наборов инструментов LDAP.

SDK Netscape/Mozilla/iPlanet

Сертификаты центров сертификации указываются в файле cert7.db. SDK не будет взаимодействовать с сервером LDAP, сертификат которого не подписан центром сертификации, указанным в этом файле. Если требуются клиентские сертификаты, можно указать необязательный файл key3.db и пароль к нему. При необходимости можно указать файл secmod. Эти файлы имеют тот же формат, что и файлы браузеров Netscape Communicator или Mozilla. Проще всего получить их из каталога установки браузера.

Клиентские сертификаты указываются отдельно для каждого подключения с помощью директивы LDAPTrustedClientCert, где задается «псевдоним» сертификата. Для разблокировки закрытого ключа сертификата можно указать необязательный пароль.

SDK поддерживает только SSL. Попытка использовать STARTTLS приведет к ошибке при обращении к серверу LDAP во время выполнения.

# Specify a Netscape CA certificate file
LDAPTrustedGlobalCert CA_CERT7_DB "/certs/cert7.db"
# Specify an optional key3.db file for client certificate support
LDAPTrustedGlobalCert CERT_KEY3_DB "/certs/key3.db"
# Specify the secmod file if required
LDAPTrustedGlobalCert CA_SECMOD "/certs/secmod"
<Location "/ldap-status">
    SetHandler ldap-status

    Require host yourdomain.example.com

    Satisfy any
    AuthType Basic
    AuthName "LDAP Protected"
    AuthBasicProvider ldap
    LDAPTrustedClientCert CERT_NICKNAME <nickname> [password]
    AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one"
    Require valid-user
</Location>

SDK Novell

Для корректной работы SDK Novell необходимо указать один или несколько сертификатов центров сертификации. Сертификаты можно указать в виде двоичных файлов DER или файлов в кодировке Base64 (PEM).

Примечание: клиентские сертификаты указываются глобально, а не отдельно для каждого подключения, поэтому их необходимо задать с помощью директивы LDAPTrustedGlobalCert, как показано ниже. Попытка задать клиентские сертификаты с помощью директивы LDAPTrustedClientCert приведет к записи ошибки при попытке подключения к серверу LDAP.

SDK поддерживает SSL и STARTTLS; режим задается параметром LDAPTrustedMode. Если указан URL ldaps://, принудительно включается режим SSL, переопределяющий эту директиву.

# Specify two CA certificate files
LDAPTrustedGlobalCert CA_DER "/certs/cacert1.der"
LDAPTrustedGlobalCert CA_BASE64 "/certs/cacert2.pem"
# Specify a client certificate file and key
LDAPTrustedGlobalCert CERT_BASE64 "/certs/cert1.pem"
LDAPTrustedGlobalCert KEY_BASE64 "/certs/key1.pem" [password]
# Do not use this directive, as it will throw an error
#LDAPTrustedClientCert CERT_BASE64 "/certs/cert1.pem"

SDK OpenLDAP

Для корректной работы SDK OpenLDAP необходимо указать один или несколько сертификатов центров сертификации. Сертификаты можно указать в виде двоичных файлов DER или файлов в кодировке Base64 (PEM).

Сертификаты центров сертификации и клиентские сертификаты можно задавать глобально (LDAPTrustedGlobalCert) или отдельно для каждого подключения (LDAPTrustedClientCert). Если настройки заданы отдельно для подключения, они имеют приоритет над глобальными.

Согласно документации SDK, поддерживаются SSL и STARTTLS, однако STARTTLS, по-видимому, работает не во всех версиях SDK. Режим SSL/TLS можно задать с помощью параметра LDAPTrustedMode. Если указан URL ldaps://, принудительно включается режим SSL. В документации OpenLDAP указано, что поддержку SSL (ldaps://) объявили устаревшей и планируют заменить TLS, хотя функциональность SSL по-прежнему работает.

# Specify two CA certificate files
LDAPTrustedGlobalCert CA_DER "/certs/cacert1.der"
LDAPTrustedGlobalCert CA_BASE64 "/certs/cacert2.pem"
<Location "/ldap-status">
    SetHandler ldap-status

    Require host yourdomain.example.com

    LDAPTrustedClientCert CERT_BASE64 "/certs/cert1.pem"
    LDAPTrustedClientCert KEY_BASE64 "/certs/key1.pem"
    # CA certs respecified due to per-directory client certs
    LDAPTrustedClientCert CA_DER "/certs/cacert1.der"
    LDAPTrustedClientCert CA_BASE64 "/certs/cacert2.pem"
    Satisfy any
    AuthType Basic
    AuthName "LDAP Protected"
    AuthBasicProvider ldap
    AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one"
    Require valid-user
</Location>

SDK Solaris

Поддержка SSL/TLS во встроенных библиотеках LDAP Solaris пока отсутствует. При необходимости установите и используйте библиотеки OpenLDAP.

SDK Microsoft

Настройка сертификатов SSL/TLS для встроенных библиотек LDAP Microsoft выполняется в системном реестре, поэтому директивы конфигурации не требуются.

Поддерживаются SSL и TLS: для этого используется формат URL ldaps:// либо соответствующим образом применяется директива LDAPTrustedMode.

Примечание: поддержка клиентских сертификатов в этом наборе инструментов пока не изучена.

Директива LDAPCacheEntries

Описание: Максимальное число записей в основном кэше LDAP
Синтаксис:
LDAPCacheEntries number
Значение по умолчанию:
LDAPCacheEntries 1024
Контекст: конфигурация сервера
Статус: Расширение
Модуль: mod_ldap

Задает максимальный размер основного кэша LDAP. В этом кэше хранятся успешные результаты поиска/привязки. Чтобы отключить кэширование поиска/привязки, задайте значение 0. Размер кэша по умолчанию — 1024 поисковых запроса.

Директива LDAPCacheTTL

Описание: Время, в течение которого записи кэша остаются действительными
Синтаксис:
LDAPCacheTTL seconds
Значение по умолчанию:
LDAPCacheTTL 600
Контекст: конфигурация сервера
Статус: Расширение
Модуль: mod_ldap

Задает время (в секундах), в течение которого запись в кэше поиска/привязки остается действительной. Значение по умолчанию — 600 секунд (10 минут).

Директива LDAPConnectionPoolTTL

Описание: Удаляет серверные подключения, слишком долго простаивающие в пуле подключений
Синтаксис:
LDAPConnectionPoolTTL n
Значение по умолчанию:
LDAPConnectionPoolTTL -1
Контекст: конфигурация сервера, виртуальный хост
Статус: Расширение
Модуль: mod_ldap
Совместимость: Apache HTTP Server 2.3.12 и более поздние версии

Задает максимальный возраст (в секундах), при котором неактивное LDAP-подключение из пула остается доступным для использования. Подключения очищаются при следующей необходимости в них, а не асинхронно.

Значение 0 означает, что подключения никогда не сохраняются в серверном пуле подключений. Значение по умолчанию -1 и любое другое отрицательное значение разрешает повторное использование подключений независимо от их возраста.

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

Начиная с версии 2.4.10 приняты дополнительные меры, чтобы попадания в кэш и медленные запросы не сдвигали время отсчета. Во-первых, время отсчета не обновляется, если серверные LDAP-подключения не потребовались. Во-вторых, для времени отсчета используется момент получения HTTP-запроса, а не момент его завершения.

По умолчанию время ожидания указывается в секундах, но можно также использовать суффиксы миллисекунд (ms), минут (min) и часов (h).

Директива LDAPConnectionTimeout

Описание: Задает время ожидания установления сокетного соединения в секундах
Синтаксис:
LDAPConnectionTimeout seconds
Контекст: конфигурация сервера
Статус: Расширение
Модуль: mod_ldap

Эта директива задает параметр LDAP_OPT_NETWORK_TIMEOUT (или LDAP_OPT_CONNECT_TIMEOUT) в используемой библиотеке клиента LDAP, если он доступен. Обычно это значение определяет, как долго библиотека клиента LDAP будет ждать установления TCP-соединения с сервером LDAP.

Если подключение не будет установлено за отведенное время, будет возвращена ошибка либо библиотека клиента LDAP попытается подключиться к дополнительному серверу LDAP, если он указан (в виде разделенного пробелами списка имен узлов в AuthLDAPURL).

Значение по умолчанию — 10 секунд, если скомпонованная с сервером библиотека клиента LDAP поддерживает параметр LDAP_OPT_NETWORK_TIMEOUT.

Директива LDAPConnectionTimeout доступна, только если скомпонованная с сервером библиотека клиента LDAP поддерживает параметр LDAP_OPT_NETWORK_TIMEOUT (или LDAP_OPT_CONNECT_TIMEOUT). Итоговое поведение полностью определяется библиотекой клиента LDAP.

Директива LDAPLibraryDebug

Описание: Включает отладку в SDK LDAP
Синтаксис:
LDAPLibraryDebug 7
Значение по умолчанию: disabled
Контекст: конфигурация сервера
Статус: Расширение
Модуль: mod_ldap

Включает специфичные для SDK параметры отладки LDAP, которые обычно заставляют SDK LDAP записывать подробную трассировочную информацию в основной журнал ошибок Apache. Сообщения трассировки SDK LDAP содержат подробные сведения, которые могут быть полезны при отладке проблем с подключением к серверным узлам LDAP.

Этот параметр можно настроить, только если Apache HTTP Server скомпонован с SDK LDAP, реализующим LDAP_OPT_DEBUG или LDAP_OPT_DEBUG_LEVEL, например OpenLDAP (значение 7 включает подробный вывод) или Tivoli Directory Server (значение 65535 включает подробный вывод).

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

Директива LDAPOpCacheEntries

Описание: Число записей для кэширования операций сравнения LDAP
Синтаксис:
LDAPOpCacheEntries number
Значение по умолчанию:
LDAPOpCacheEntries 1024
Контекст: конфигурация сервера
Статус: Расширение
Модуль: mod_ldap

Задает число записей, которые mod_ldap будет использовать для кэширования операций сравнения LDAP. Значение по умолчанию — 1024 записи. Значение 0 отключает кэширование операций.

Директива LDAPOpCacheTTL

Описание: Время, в течение которого записи в кэше операций остаются действительными
Синтаксис:
LDAPOpCacheTTL seconds
Значение по умолчанию:
LDAPOpCacheTTL 600
Контекст: конфигурация сервера
Статус: Расширение
Модуль: mod_ldap

Задает время (в секундах), в течение которого записи в кэше операций остаются действительными. Значение по умолчанию — 600 секунд.

Директива LDAPReferralHopLimit

Описание: Максимальное число переходов по ссылкам-переадресациям до завершения запроса LDAP.
Синтаксис:
LDAPReferralHopLimit number
Значение по умолчанию:
SDK dependent, typically between 5 and 10
Контекст: каталог, .htaccess
Переопределение: AuthConfig
Статус: Расширение
Модуль: mod_ldap

Если эта директива включена директивой LDAPReferrals, она ограничивает число переходов по ссылкам-переадресациям до завершения запроса LDAP.

Поддержка этой настройки в SDK LDAP встречается редко.

Директива LDAPReferrals

Описание: Включает переход по ссылкам-переадресациям при запросах к серверу LDAP.
Синтаксис:
LDAPReferrals On|Off|default
Значение по умолчанию:
LDAPReferrals On
Контекст: каталог, .htaccess
Переопределение: AuthConfig
Статус: Расширение
Модуль: mod_ldap
Совместимость: Параметр default доступен в Apache 2.4.7 и более поздних версиях

Некоторые серверы LDAP распределяют каталог между несколькими доменами и используют ссылки-переадресации, чтобы перенаправлять клиента при переходе через границу домена. Это похоже на перенаправление HTTP. Библиотеки клиентов LDAP могут переходить по ссылкам-переадресациям по умолчанию, а могут и не делать этого. Эта директива явно настраивает переход по ссылкам-переадресациям в используемом SDK.

LDAPReferrals принимает следующие значения:

"on"

При значении "on" переход по ссылкам-переадресациям в используемом SDK включается, для переопределения ограничения SDK на число переходов используется LDAPReferralHopLimit и регистрируется функция обратного вызова повторной привязки LDAP.

"off"

При значении "off" переход по ссылкам-переадресациям в используемом SDK полностью отключается.

"default"

При значении "default" состояние перехода по ссылкам-переадресациям в используемом SDK не изменяется, LDAPReferralHopLimit не используется для переопределения ограничения SDK на число переходов, а функция обратного вызова повторной привязки LDAP не регистрируется.

Директива LDAPReferralHopLimit работает совместно с этой директивой и ограничивает число переходов по ссылкам-переадресациям до завершения запроса LDAP. Если обработка переадресаций включена значением "On", учетные данные клиента будут передаваться с помощью функции обратного вызова повторной привязки всем серверам LDAP, которым они требуются.

Директива LDAPRetries

Описание: Задает число повторных попыток обращения к серверу LDAP.
Синтаксис:
LDAPRetries number-of-retries
Значение по умолчанию:
LDAPRetries 3
Контекст: конфигурация сервера
Статус: Расширение
Модуль: mod_ldap

Сервер повторит неудачные запросы LDAP до LDAPRetries раз. Значение 0 отключает повторные попытки.

Ошибки LDAP, такие как превышение времени ожидания и отказ в подключении, допускают повторную попытку.

Директива LDAPRetryDelay

Описание: Задает задержку между повторными попытками обращения к серверу LDAP.
Синтаксис:
LDAPRetryDelay seconds
Значение по умолчанию:
LDAPRetryDelay 0
Контекст: конфигурация сервера
Статус: Расширение
Модуль: mod_ldap

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

Ошибки LDAP, такие как превышение времени ожидания и отказ в подключении, допускают повторную попытку.

Директива LDAPSharedCacheFile

Описание: Задает файл кэша в разделяемой памяти
Синтаксис:
LDAPSharedCacheFile directory-path/filename
Контекст: конфигурация сервера
Статус: Расширение
Модуль: mod_ldap

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

Директива LDAPSharedCacheSize

Описание: Размер кэша в разделяемой памяти в байтах
Синтаксис:
LDAPSharedCacheSize bytes
Значение по умолчанию:
LDAPSharedCacheSize 500000
Контекст: конфигурация сервера
Статус: Расширение
Модуль: mod_ldap

Задает число байтов, выделяемых для кэша в разделяемой памяти. Значение по умолчанию — 500 КБ. Если задано значение 0, кэширование в разделяемой памяти не используется, и каждый процесс HTTPD создает собственный кэш.

Директива LDAPTimeout

Описание: Задает время ожидания операций поиска и привязки LDAP в секундах
Синтаксис:
LDAPTimeout seconds
Значение по умолчанию:
LDAPTimeout 60
Контекст: конфигурация сервера
Статус: Расширение
Модуль: mod_ldap
Совместимость: Apache HTTP Server 2.3.5 и более поздние версии

Эта директива задает время ожидания операций привязки и поиска, а также параметр LDAP_OPT_TIMEOUT в используемой библиотеке клиента LDAP, если он доступен.

Если время ожидания истечет, httpd повторит попытку на случай, если брандмауэр незаметно разорвал существующее подключение. Однако производительность будет значительно выше, если настроить брандмауэр на отправку TCP-пакетов RST вместо незаметного отбрасывания пакетов.

Для задания времени ожидания операций сравнения LDAP требуется SDK с поддержкой LDAP_OPT_TIMEOUT, например OpenLDAP версии 2.4.4 или новее.

Директива LDAPTrustedClientCert

Описание: Задает файл клиентского сертификата для отдельного подключения либо псевдоним, указывающий на него. Не все наборы инструментов LDAP поддерживают клиентские сертификаты для отдельных подключений.
Синтаксис:
LDAPTrustedClientCert type directory-path/filename/nickname [password]
Контекст: каталог, .htaccess
Статус: Расширение
Модуль: mod_ldap

Задает путь к каталогу, имя файла или псевдоним клиентского сертификата для отдельного подключения, используемого при установлении SSL- или TLS-подключения к серверу LDAP. Для разных расположений или каталогов можно задавать независимые параметры клиентских сертификатов. Некоторые наборы инструментов LDAP (в частности, Novell) не поддерживают клиентские сертификаты для отдельных подключений и сообщат об ошибке при подключении к серверу LDAP, если попытаться использовать эту директиву (для клиентских сертификатов Novell вместо нее используйте директиву LDAPTrustedGlobalCert — подробности см. в приведенном выше руководстве по сертификатам SSL/TLS). Тип определяет задаваемый параметр сертификата в зависимости от используемого набора инструментов LDAP. Поддерживаются следующие типы:

  • CA_DER — двоичный сертификат центра сертификации в кодировке DER
  • CA_BASE64 — сертификат центра сертификации в кодировке PEM
  • CERT_DER — двоичный клиентский сертификат в кодировке DER
  • CERT_BASE64 — клиентский сертификат в кодировке PEM
  • CERT_NICKNAME — «псевдоним» клиентского сертификата (Netscape SDK)
  • KEY_DER — двоичный закрытый ключ в кодировке DER
  • KEY_BASE64 — закрытый ключ в кодировке PEM

Директива LDAPTrustedGlobalCert

Описание: Задает файл или базу данных с глобальными доверенными сертификатами центров сертификации либо глобальными клиентскими сертификатами
Синтаксис:
LDAPTrustedGlobalCert type directory-path/filename [password]
Контекст: конфигурация сервера
Статус: Расширение
Модуль: mod_ldap

Задает путь к каталогу и имя файла с доверенными сертификатами центров сертификации и/или общесистемными клиентскими сертификатами, которые mod_ldap следует использовать при установлении SSL- или TLS-подключения к серверу LDAP. Обратите внимание: вся информация о сертификатах, заданная этой директивой, применяется глобально ко всей установке сервера. Некоторые наборы инструментов LDAP (в частности, Novell) требуют задавать все клиентские сертификаты глобально с помощью этой директивы. Для большинства других наборов инструментов клиентские сертификаты необходимо задавать отдельно для каталога или расположения с помощью LDAPTrustedClientCert. Если задать параметры неправильно, при обращении к серверу LDAP может быть записана ошибка или подключение может завершиться без сообщения об ошибке (подробности см. в приведенном выше руководстве по сертификатам SSL/TLS). Тип определяет задаваемый параметр сертификата в зависимости от используемого набора инструментов LDAP. Поддерживаются следующие типы:

  • CA_DER — двоичный сертификат центра сертификации в кодировке DER
  • CA_BASE64 — сертификат центра сертификации в кодировке PEM
  • CA_CERT7_DB — файл базы данных сертификатов центров сертификации Netscape cert7.db
  • CA_SECMOD — файл базы данных Netscape secmod
  • CERT_DER — двоичный клиентский сертификат в кодировке DER
  • CERT_BASE64 — клиентский сертификат в кодировке PEM
  • CERT_KEY3_DB — файл базы данных клиентских сертификатов Netscape key3.db
  • CERT_NICKNAME — «псевдоним» клиентского сертификата (Netscape SDK)
  • CERT_PFX — клиентский сертификат в кодировке PKCS#12 (Novell SDK)
  • KEY_DER — двоичный закрытый ключ в кодировке DER
  • KEY_BASE64 — закрытый ключ в кодировке PEM
  • KEY_PFX — закрытый ключ в кодировке PKCS#12 (Novell SDK)

Директива LDAPTrustedMode

Описание: Задает режим SSL/TLS для подключения к серверу LDAP.
Синтаксис:
LDAPTrustedMode type
Контекст: конфигурация сервера, виртуальный хост
Статус: Расширение
Модуль: mod_ldap

Поддерживаются следующие режимы:

  • NONE — без шифрования
  • SSL — шифрование ldaps:// на стандартном порту 636
  • TLS — шифрование STARTTLS на стандартном порту 389

Не все наборы инструментов LDAP поддерживают все перечисленные режимы. Если режим не поддерживается, во время выполнения будет записано сообщение об ошибке, а подключение к серверу LDAP завершится неудачно.

Если указан URL ldaps://, режимом становится SSL, а значение LDAPTrustedMode игнорируется.

Директива LDAPVerifyServerCert

Описание: Принудительная проверка сертификата сервера
Синтаксис:
LDAPVerifyServerCert On|Off
Значение по умолчанию:
LDAPVerifyServerCert On
Контекст: конфигурация сервера
Статус: Расширение
Модуль: mod_ldap

Указывает, следует ли принудительно проверять сертификат сервера при установлении SSL-подключения к серверу LDAP.

© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_ldap.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API