ldap.conf, .ldaprc - конфигурационный файл/переменные окружения для LDAP-клиентов
/usr/local/etc/openldap/ldap.conf, ldaprc, .ldaprc, $LDAP<option-name>
Если определена переменная окружения LDAPNOINIT, все заданные значения по умолчанию не применяются.
Конфигурационный файл ldap.conf используется для задания общесистемных значений по умолчанию, применяемых при запуске ldap-клиентов.
Пользователи могут создавать в своих домашних директориях опциональные конфигурационные файлы ldaprc или .ldaprc, которые будут использованы для переопределения значений по умолчанию из общесистемного файла. Кроме того, будут применяться значения из файла ldaprc в текущей рабочей директории.
С помощью переменных окружения LDAPCONF и LDAPRC можно указать использование дополнительных конфигурационных файлов. В переменной LDAPCONF может быть задан путь к конфигурационному файлу. Этот путь может быть как абсолютным, так и относительным (от текущей рабочей директории). Если указывается переменная LDAPRC, то в ней должно быть задано имя файла в текущей рабочей директории или в домашней директории пользователя.
Для переопределения значений по умолчанию из файлов можно также использовать переменные окружения. Имя такой переменной представляет собой имя опции файла с добавлением префикса LDAP. Например, для определения опции BASE через окружение, нужное значение указывается в переменной LDAPBASE.
Некоторые опции может задавать только пользователь. Такие опции игнорируются при их указании в ldap.conf (или файле, заданном в переменной LDAPCONF).
Итак, файлы и переменные будут прочитаны в следующем порядке:
переменная $LDAPNOINIT, и, если она не задана, то:
системный файл /usr/local/etc/openldap/ldap.conf,
пользовательские файлы $HOME/ldaprc, $HOME/.ldaprc, ./ldaprc,
системный файл $LDAPCONF,
пользовательские файлы $HOME/$LDAPRC, $HOME/.$LDAPRC, ./$LDAPRC,
переменные $LDAP<имя опции заглавными буквами>.
Более поздние в списке установки переопределяют более ранние.
Названия опций конфигурации нечувствительны к регистру символов; их значения, в зависимости от ситуации, могут быть чувствительны к регистру символов.
Пустые строки игнорируются.
Строки, начинающиеся с символа решётки (`#'), являются комментариями и игнорируются.
Значимые строки состоят из названия опции (последовательности непробельных символов, по традиции записываемых в верхнем регистре, хотя такое требование не выдвигается), за которым следует значение. Значение начинается с первого непробельного символа после названия опции и завершается в конце строки, либо перед первым пробельным символом последовательности пробельных символов, которыми завершается строка. Разбиение значения на составляющие, если таковые имеются, делегируется определённому для этой опции обработчику (обработчикам), опять же, при их наличии. Значения в кавычках, содержащие пробельные символы, могут быть некорректными, поскольку символ кавычек может стать частью значения. Например,
# Неверно - ошибочные кавычки:
URI "ldap:// ldaps://"
# Верно - разделённый пробелами список URI, без кавычек:
URI ldap:// ldaps://
# Верно - синтаксис DN требует заключать в кавычки Example, Inc:
BASE ou=IT staff,o="Example, Inc",c=US
# или:
BASE ou=IT staff,o=Example\2C Inc,c=US
# Неверно - комментарий на одной строке с опцией:
DEREF never # Never follow aliases
Строка не может быть длиннее значения LINE_MAX, которое должно превышать 2000 на всех платформах. Не предусмотрено механизмов разбиения длинной строки на несколько строк (как в целях повышения читабельности, так и в целях недопущения превышения указанного лимита).
Опции конфигурации различного назначения:
Указывает URI (один или несколько) LDAP-сервера (серверов), к которым следует осуществлять подключение библиотеке LDAP. В качестве схемы в URI могут быть ldap, ldaps или ldapi, указывающие, соответственно, на подключения LDAP поверх TCP, LDAP поверх SSL (TLS) и LDAP поверх IPC (доменных сокетов UNIX). Каждое имя сервера может быть указано как доменное имя или как IP-адрес. Опционально, за именем сервера может следовать знак ':' и номер порта, на котором ожидает подключения LDAP-сервер. Если номер порта не указан, используется значение порта по умолчанию для конкретного вида схемы (389 для ldap://, 636 для ldaps://). Для LDAP поверх IPC аргумент name представляет собой имя сокета, а аргумент port указывать нельзя; обратите внимание, что разделительные символы директорий должны быть закодированы в формате URL, как и все остальные символы, являющиеся специальными для URL; таким образом, сокет
/usr/local/var/ldapi
должен быть указан как
ldapi://%2Fusr%2Flocal%2Fvar%2Fldapi
В данной опции может быть предоставлен список URI, разделённых пробелами.
Определяет базовое DN, использующееся по умолчанию при выполнении операций ldap. Аргумент base должен быть указан как уникальное имя (Distinguished Name) в формате LDAP.
Определяет DN подключения, использующееся по умолчанию при выполнении операций ldap. DN подключения должен быть указан как уникальное имя (Distinguished Name) в формате LDAP. Эту опцию может задавать только пользователь.
Определяет, как будет осуществляться разыменование псевдонимов при выполнении поиска. В качестве аргумента <when> может быть указано одно из следующих ключевых слов:
Псевдонимы не разыменовываются никогда. Это значение по умолчанию.
Псевдонимы разыменовываются, если они встречаются в нижестоящих по отношению к базе поиска объектах, но не разыменовываются при нахождении самого объекта базы поиска.
Псевдонимы разыменовываются только при нахождении объекта базы поиска.
Псевдонимы разыменовываются как при осуществлении поиска, так и при нахождении объекта базы поиска.
Указывает имя (имена) LDAP-сервера (серверов), к которым следует осуществлять подключение библиотеке LDAP. Каждое имя сервера может быть указано как доменное имя или как IP-адрес. Опционально, за именем сервера может следовать знак ':' и номер порта, на котором ожидает подключения LDAP-сервер. В данной опции может быть предоставлен список хостов, разделённых пробелами. Опция HOST считается устаревшей в пользу URI.
Указывает тайм-аут (в секундах), после которого вслед за вызовом connect(2), в случае отсутствия активности, возвращаются poll(2)/select(2).
Определяет порт по умолчанию, используемый при соединении с LDAP-сервером (серверами). В качестве аргумента port указывается номер порта. Опция PORT считается устаревшей в пользу URI.
Указывает, должен ли клиент автоматически следовать по отсылкам, возвращаемым LDAP-серверами. Значение по умолчанию - on. Имейте ввиду, что инструменты командной строки, такие как ldapsearch(1), всегда переопределяют эту опцию.
Определяет ограничение по размеру (указывается в количестве записей), которое следует использовать при выполнении поиска. В качестве аргумента должно быть неотрицательное целое число. Значение ноль (0) опции SIZELIMIT указывает на то, что ограничений по размеру при выполнении поиска не запрашивается. Помните, что сервер может также применять свои ограничения на количество записей, которые могут быть возвращены операцией поиска.
Определяет ограничение по времени (в секундах), которое следует использовать при выполнении поиска. В качестве аргумента должно быть неотрицательное целое число. Значение ноль (0) опции TIMELIMIT указывает на то, что ограничений по размеру при выполнении поиска не накладывается. Помните, что сервер может также применять свои ограничения на продолжительность выполнения операции поиска.
Указывает, какую версию протокола LDAP следует использовать.
Указывает тайм-аут (в секундах), после которого вызовы команд синхронного API LDAP, на которые не получены ответы, будут прерваны. Также используются для любых вызовов ldap_result(3), в которых параметру timeout было задано значение NULL.
Если OpenLDAP собран с поддержкой Simple Authentication and Security Layer, можно определить дополнительные опции:
Указывает, какой механизм SASL следует использовать.
Указывает SASL-realm.
Указывает аутентификационную идентификационную сущность. Эту опцию может задавать только пользователь.
Указывает прокси-авторизационную идентификационную сущность. Эту опцию может задавать только пользователь.
Определяет параметры безопасности Cyrus SASL. В аргументе <properties> может быть указан разделённый запятыми список следующих параметров:
(без указания каких-либо других параметров) приводит к сбросу параметров по умолчанию ("noanonymous,noplain").
отключает механизмы, потенциально неустойчивые к простым пассивным атакам.
отключает механизмы, потенциально неустойчивые к активным атакам.
отключает механизмы, потенциально неустойчивые к простым атакам по словарю.
отключает механизмы, поддерживающие анонимные соединения.
требует обеспечения так называемой прямой секретности (forward secrecy) между сессиями.
требует использования механизмов, осуществляющих передачу удостоверяющих данных клиента (и, для осуществления этого, разрешает механизмы, способные передавать удостоверяющие данные).
указывает минимально приемлемый фактор силы безопасности (security strength factor) в виде целого числа, приблизительно отражающего эффективную длину ключа, используемого для шифрования. 0 (ноль) подразумевает отсутствие защиты, 1 подразумевает только защиту целостности данных, 56 разрешает использование DES или других слабых шифров, 112 разрешает использование Triple DES и других сильных шифров, 128 разрешает использование RC4, Blowfish и других современных сильных шифров. Значение по умолчанию - 0.
указывает максимально возможный фактор силы безопасности (security strength factor) в виде целого числа (смотрите описание опции minssf). Значение по умолчанию - INT_MAX.
определяет максимально разрешённый размер буфера полученных уровней обеспечения безопасности. Значение 0 отключает уровни обеспечения безопасности. Значение по умолчанию - 65536.
Не выполнять обратные DNS-запросы для поиска канонической формы имён хостов SASL. Значение по умолчанию - off.
Если OpenLDAP собран с поддержкой Generic Security Services Application Programming Interface, есть возможность определить дополнительные опции.
Указывает, следует ли использовать подписи GSSAPI (GSS_C_INTEG_FLAG). Значение по умолчанию - off.
Указывает, следует ли использовать шифрование GSSAPI (GSS_C_INTEG_FLAG и GSS_C_CONF_FLAG). Значение по умолчанию - off.
Указывает, следует ли основанной на GSSAPI аутентификации пытаться формировать имя целевого принципала из значений атрибутов ldapServiceName или dnsHostName записи RootDSE каталога, содержащего целевой объект. Значение по умолчанию - off.
Если OpenLDAP собран с поддержкой Transport Layer Security, есть возможность определить дополнительные опции. Эти опции используются, когда при соединении выбран URI ldaps:// (по умолчанию или явно), или когда приложение устанавливает TLS путём запроса операции LDAP StartTLS.
Указывает файл, содержащий сертификаты всех удостоверяющих центров (Certificate Authorities), которым доверяет клиент.
Указывает путь к директории, содержащей сертификаты всех удостоверяющих центров в отдельных файлах. Сертификаты, указанные в опции TLS_CACERT, всегда используются перед теми, путь к которым указан в опции TLS_CACERTDIR. Библиотека GnuTLS игнорирует эту опцию.
При использовании библиотеки Mozilla NSS аргумент <path> может содержать путь к базе данных сертификатов/ключей Mozilla NSS. Если аргумент <path> содержит пути и к базе данных сертификатов/ключей Mozilla NSS, и к файлам сертификатов удостоверяющих центров, OpenLDAP будет использовать базу данных сертификатов/ключей, а файлы сертификатов удостоверяющих центров проигнорирует.
Указывает файл, содержащий сертификат клиента. Эту опцию может задавать только пользователь.
При использовании библиотеки Mozilla NSS и базы данных сертификатов/ключей (указанной в опции TLS_CACERTDIR), TLS_CERT определяет имя сертификата, который нужно использовать:
TLS_CERT Certificate for Sam Carter
Если используется токен, отличный от встроенного внутреннего, сначала указывается имя этого токена, за которым следует двоеточие:
TLS_CERT my hardware device:Certificate for Sam Carter
Для получения списка имён сертификатов используйте certutil -L:
certutil -d /path/to/certdbdir -L
Указывает файл, содержащий закрытый ключ, соответствующий сертификату, хранящемуся в файле, указанном в опции TLS_CERT. В настоящее время данный закрытый ключ должен не иметь парольной защиты, поэтому критически важное значение имеет защита самого файла с ключом. Эту опцию может задавать только пользователь.
При использовании библиотеки Mozilla NSS, TLS_KEY указывает имя файла, содержащего пароль для ключа, соответствующего сертификату, указанному в опции TLS_CERT. Для отключения парольной защиты базы данных сертификатов/ключей можно использовать команду modutil. Например, если в опции TLS_CACERTDIR в качестве расположения базы данных сертификатов/ключей указано /home/scarter/.moznss, то для смены пароля на пустую строку используйте:
modutil -dbdir ~/.moznss -changepw 'NSS Certificate DB'
Вы должны знать предыдущий пароль, если он был установлен. Предупреждение о запуске браузера следует проигнорировать. На запрос нового пароля нажмите 'Enter'.
Указывает допустимый набор шифров в порядке их предпочтения. Аргумент <cipher-suite-spec> должен представлять собой спецификацию шифров для используемой библиотеки TLS (OpenSSL, GnuTLS или Mozilla NSS). Примеры:
- OpenSSL:
TLS_CIPHER_SUITE HIGH:MEDIUM:+SSLv2
- GnuTLS:
TLS_CIPHER_SUITE SECURE256:!AES-128-CBC
Для проверки того, какие шифры доступны в данной спецификации OpenSSL, используйте команду:
openssl ciphers -v <cipher-suite-spec>
В GnuTLS доступные спецификации можно найти в man-странице gnutls-cli(1) (смотрите описание опции --priority).
В старых версиях библиотеки GnuTLS, где утилита gnutls-cli не поддерживала опции --priority, можно получить — ограниченный — список шифров командой:
gnutls-cli -l
При использовании библиотеки Mozilla NSS применяются спецификации наборов шифров OpenSSL, которые транслируются в формат, используемый внутри библиотеки Mozilla NSS. Не существует простого способа получить список наборов шифров из командной строки. Полный список можно найти в исходном коде Mozilla NSS, файл sslinfo.c, структура
static const SSLCipherSuiteInfo suiteInfo[]
Указывает минимальную версию протокола SSL/TLS, которая будет использоваться для установки защищённого соединения. Если сервер не поддерживает как минимум данную версию протокола, переговоры SSL будут завершаться неудачей. Чтобы указать необходимость использования TLS 1.x или выше, задайте в качестве аргумента этой опции 3.(x+1), то есть при
TLS_PROTOCOL_MIN 3.2
требуется использовать TLS 1.1. Если в качестве минимально допустимой указана та версия протокола, которая не поддерживается данной реализацией OpenLDAP, то в итоге будет требоваться та наибольшая версия протокола, которую OpenLDAP поддерживает. Библиотека GnuTLS игнорирует эту опцию.
Указывает файл, из которого будут получены случайные данные, в случаях, когда /dev/[u]random недоступен. Обычно задаёт имя сокета EGD/PRNGD. Для указания имени файла источника случайных данных также может быть использована переменная окружения RANDFILE. Библиотеки GnuTLS и Mozilla NSS игнорируют эту опцию.
Определяет, какие проверки требуется (и требуется ли вообще) выполнить с сертификатом сервера в сессии TLS. В качестве аргумента <level> может быть использовано одно из следующих ключевых слов:
Клиент не будет запрашивать или проверять какие-либо сертификаты сервера.
Сертификат сервера будет запрошен. Если сертификат не был предоставлен, сессия будет продолжена нормальным образом. Если же был предоставлен плохой сертификат, он будет проигнорирован и сессия будет продолжена нормальным образом.
Сертификат сервера будет запрошен. Если сертификат не был предоставлен, сессия будет продолжена нормальным образом. Если же был предоставлен плохой сертификат, сессия будет немедленно завершена.
Эти ключевые слова эквивалентны. Сертификат сервера будет запрошен. Если сертификат не был предоставлен либо был предоставлен плохой сертификат, сессия будет немедленно завершена. Данная настройка используется по умолчанию.
Определяет, следует ли использовать предоставляемые удостоверяющими центрами списки отзыва сертификатов (Certificate Revocation List, CRL) для проверки того, не был ли отозван сертификат сервера. Для использования данной опции требуется указание опции TLS_CACERTDIR. Библиотеки GnuTLS и Mozilla NSS игнорируют эту опцию. В качестве аргумента <level> может быть использовано одно из следующих ключевых слов:
Проверка CRL не выполняется.
Выполняется проверка только CRL удостоверяющего центра, выдавшего сертификат сервера.
Выполняется проверка CRL всей цепочки сертификатов.
Указывает файл, содержащий список отозванных сертификатов, который нужно использовать для проверки того, не был ли отозван сертификат сервера. Эта опция поддерживается только библиотеками GnuTLS и Mozilla NSS.
сбросить все установки по умолчанию.
путь к конфигурационному файлу.
имя альтернативного для ldaprc файла в директориях $HOME или $CWD.
задать (переопределить) опцию <option-name> как в файле ldap.conf.
общесистемный файл конфигурации ldap
пользовательский файл конфигурации ldap
локальный файл конфигурации ldap
ldap(3), ldap_set_option(3), ldap_result(3), openssl(1), sasl(3)
Kurt Zeilenga, Проект OpenLDAP
Программное обеспечение OpenLDAP разработано и поддерживается проектом OpenLDAP <http://www.openldap.org/>. Программное обеспечение OpenLDAP является производным от релиза 3.3 LDAP Мичиганского Университета.
OpenLDAP 2.4.47 | LDAP.CONF(5) | 2018/12/19 |