slapd-config

slapd-config

Эта роль позволяет настраивать всю OLC сервера OpenLDAP. Для этого необходимо предварительно создать OLC и запустить slapd. Для этих целей воспользуйтесь slapd-base.

slapd-config создаст общую конфигурацию slapd непосредственно в cn=config и загрузит глобальные модули, такие как mdb, если они не скомпилированы как статические бэкенды. После этого будут созданы и настроены мониторинг бэкенда и MDB. MDB поддерживает указание наложений.

Требования

Линукс-дистрибутив на основе dpkg или pacman.

Переменные роли

Существуют несколько глобальных переменных роли:

Имя По умолчанию/Требуется Описание
slapd_enable_monitor true Загружает модуль мониторинга (если требуется) и настраивает базу данных мониторинга.
slapd_modules_path /usr/lib/ldap Путь к динамическим модулям, если требуется загрузка бэкендов.
slapd_additional_modules Также загрузить эти модули (кроме MDB и мониторинга), если они не скомпилированы.
slapd_olc_rootdn_password :heavy_check_mark: Пароль для доступа к OLC. Не экспортируется автоматически slapd-base.
slapd_monitor_rootdn_password :heavy_check_mark: Пароль rootdn для базы данных мониторинга. Автоматически будет захеширован.
slapd_mdb_rootdn_password :heavy_check_mark: Пароль rootdn для базы данных MDB. Будет автоматически захеширован.
slapd_schemas Массив путей к файлам схем для загрузки.
slapd_global_config См. описание Каждая отдельная глобальная опция конфигурации slapd. Смотрите ниже для каждого описания.
slapd_olc_config См. описание Каждое отдельное глобальное значение конфигурации для базы данных OLC.
slapd_monitor_config См. описание Каждое отдельное глобальное значение конфигурации для базы данных мониторинга.
slapd_mdb_config :heavy_check_mark: Каждое отдельное глобальное значение конфигурации для базы данных MDB.
slapd_mdb_overlays См. описание Каждый модуль для MDB. Смотрите пример для примера.

Переменные slapd-base

Вы должны установить эти переменные, если slapd-base не был выполнен на предыдущем шаге в этом плейбуке. Все переменные обязательны.

Имя По умолчанию/Требуется Описание
slapd_run_dir :heavy_check_mark: Директория выполнения для файла аргументов, pid файла и сокета ldapi
slapd_ldapi_socket :heavy_check_mark: ldapi unix сокет для локального управления slapd
slapd_mdb_dir :heavy_check_mark: Директория, в которой находится MDB
slapd_olc_dir :heavy_check_mark: Путь, где находятся LDIF файлы OLC
slapd_olc_rootdn :heavy_check_mark: Rootdn для OLC

Глобальные параметры конфигурации

Глобальная конфигурация slapd OLC разбита на разные разделы.

Общая конфигурация
Имя По умолчанию/Требуется Описание
olcConfigFile Путь к файлу конфигурации для загрузки. Подмена OLC.
olcConfigDir {{slapd_olc_dir}} Путь к файлам базы данных OLC.
olcArgsFile {{slapd_run_dir}}/slapd.args slapd будет записывать свои аргументы в этот файл.
olcPidFile {{slapd_run_dir}}/slapd.pid slapd будет записывать свой PID в этот файл.
olcGentleHUP FALSE Когда TRUE, slapd не убивает существующие соединения при SIGHUP, а ждет их завершения.
olcServerID 0 ID этого сервера. Требуется только при многомастеровом репликации.
Конфигурация безопасности
Имя По умолчанию/Требуется Описание
olcAllows Набор разрешенных функций.
olcDisallows Набор запрещенных функций.
olcRequires bind Набор условий, которые следует выполнять.
olcRestrict Список операций, которые ограничены.
olcSecurity ssf=1 simple_bind=128 Укажите набор факторов защиты, которые нужно требовать.
olcAuthIDRewrite Используется для преобразования простых имен пользователей в LDAP DN для целей аутентификации.
olcAuthzRegexp Используется для преобразования простых имен пользователей в LDAP DN для целей аутентификации. Может указываться несколько раз и требует перезагрузки сервера для вступления в силу.
olcAuthzPolicy none Какие правила использовать для авторизации прокси.
olcLocalSSF 300 Предполагаемый SSF для LDAPI соединений.
olcPasswordHash {SSHA} Один или несколько алгоритмов хеширования для изменения пароля.
olcPasswordCryptSaltFormat %s Формат соли при хешировании паролей с помощью crypt().
Конфигурация TLS
Имя По умолчанию/Требуется Описание
olcTLSCertificateFile Файл публичного ключа для slapd.
olcTLSCertificateKeyFile Приватный ключ для slapd.
olcTLSRandFile Файл для получения случайных бит, когда urandom недоступен.
olcTLSDHParamFile Файл, содержащий простые числа для обмена ключами Диффи-Хеллмана.
olcTLSCipherSuite Используемые шифры TLS.
olcTLSProtocolMin Минимальная версия TLS для обязательного использования. По умолчанию - максимальный уровень.
olcTLSCACertificateFile Путь к файлу, содержащему все доверенные центры сертификации.
olcTLSCACertificatePath Путь к директории, содержащей файлы всех доверенных центров сертификации.
olcTLSCRLCheck none Должен ли CRL CA проверяться при соединениях.
olcTLSVerifyClient never Когда проверять личность клиента.
Конфигурация логирования
Имя По умолчанию/Требуется Описание
olcLogLevel stats Конфигурация уровня логирования для каждой подсистемы.
olcLogFile Файл для логирования. slapd всегда будет логировать в stderr.
olcPluginLogFile Файл для логирования вывода плагинов slapi.
olcReplogFile Файл для репликационного лога, который может читать slurpd.
Конфигурация потоков
Имя По умолчанию/Требуется Описание
olcConcurrency Подсказка о потоках для операционной системы. Не используется в Linux.
olcListenerThreads 1 Количество потоков для прослушивания соединений. 1 достаточно для до 16 ядер.
olcThreads 16 Количество потоков CPU для обработки запросов.
olcToolThreads 1 Количество потоков CPU при работе в режиме инструмента. Не должно превышать количество ядер в системе.
Тайм-ауты и ограничения
Имя По умолчанию/Требуется Описание
olcIdleTimeout 0 Количество секунд, в течение которых клиент может ничего не делать, прежде чем будет отключен.
olcWriteTimeout 0 Количество секунд, в течение которых клиент с незавершенными записями может ничего не делать, прежде чем будет отключен.
olcTimeLimit 3600 Максимальное количество секунд, которое slapd потратит на ответ на запрос. Допускается значение unlimited.
olcSizeLimit 500 Максимальное количество записей, которые вернет поиск.
Соединения
Имя По умолчанию/Требуется Описание
olcConnMaxPending 50 Максимальное количество ожидающих запросов в анонимных сессиях.
olcConnMaxPendingAuth 1000 Максимальное количество ожидающих запросов в аутентифицированных сессиях.
olcTCPBuffer Размер TCP буфера. Операционная система может автоматически настроить это.
olcSockbufMaxIncoming 262143 Максимальный размер PDU LDAP для анонимных сессий.
olcSockbufMaxIncomingAuth 4194303 Максимальный размер PDU LDAP для аутентифицированных сессий.
SASL
Имя По умолчанию/Требуется Описание
olcSaslHost Полное доменное имя, используемое для обработки SASL.
olcSaslRealm Сфера SASL для обработки SASL.
olcSaslSecProps Укажите свойства безопасности Cyrus SASL.
olcSaslAuxprops Какие auxprop плагины использовать для поиска аутентификации.
Индексация
Имя По умолчанию/Требуется Описание
olcIndexSubstrIfMinLen 2 Минимальная длина субначальных и субфинальных индексов.
olcIndexSubstrIfMaxLen 4 Максимальная длина субначальных и субфинальных индексов.
olcIndexSubstrAnyLen 4 Длина для сублюбых индексов. Атрибуты длиной более этой длины обрабатываются по сегментам.
olcIndexSubstrAnyStep 2 Шаги, используемые в сублюбых запросах. Это смещение для сегментов фильтра, обрабатываемых.
olcIndexIntLen 4 Длина ключа для упорядоченных целых чисел.
Прочее
Имя По умолчанию/Требуется Описание
olcAttributeOptions x-hidden lang- Тагирование опций атрибутов или тегов/диапазонов опций.
olcReferral URL перенаправления, который возвращается, когда slapd не может найти локальную базу данных.
olcReverseLookup FALSE Включить необратимые проверки имен клиента.
olcRootDSE Имя LDIF файла, содержащего пользовательские атрибуты для корневого DSE.
olcReadOnly FALSE Установить весь сервер в режим только для чтения. Внимание: после установки в true, это значение нельзя изменить без изменения файлов базы данных на диске и перезагрузки slapd!
olcLdapSyntaxes У меня действительно нет идеи, почему этот атрибут здесь. Документации в интернете нет.

Значения конфигурации базы данных

Эти значения применимы ко всем базам данных (OLC, монитор и MDB). Этот раздел дает общее представление о них. Значения по умолчанию для каждой базы данных указаны ниже. База данных MDB также имеет некоторые дополнительные атрибуты, которые поддерживаются только для этой базы данных.

Общие
Имя Требуется Описание
olcSuffix :heavy_check_mark: DN суффикс запросов, которые будут переданы бэкенду базы данных. Это не требуется для OLC и мониторинга.
olcReadOnly :heavy_check_mark: Устанавливает эту базу данных в режим только для чтения. Изменения невозможны.
olcHidden :heavy_multiplication_x: Не отвечать на любые запросы к этой базе данных. slapd будет отрицать существование этой базы данных.
olcLastMod :heavy_check_mark: Будет ли slapd автоматически поддерживать modfiersName, modifyTimestamp, creatorsName, createTimestamp, entryCSN и entryUUID.
olcSubordinate :heavy_multiplication_x: Является ли эта база данных подчиненной другой базе данных.
Безопасность
Имя Требуется Описание
olcSecurity :heavy_multiplication_x: Укажите набор факторов защиты, которые нужно требовать.
olcRootDN :heavy_check_mark: Имя RootDN для этой базы данных.
olcRootPW :heavy_check_mark: Хешированный пароль RootDN для этой базы данных.
olcRequires :heavy_multiplication_x: Набор условий, которые нужно требовать.
olcRestrict :heavy_multiplication_x: Список операций, которые ограничены.
olcAddContentAcl :heavy_check_mark: Будут ли операции выполнять проверку ACL по содержимому добавляемой записи.
olcAccess :heavy_check_mark: Массив правил ACL для этой базы данных.
Тайм-ауты и ограничения
Имя Требуется Описание
olcTimeLimit :heavy_multiplication_x: Максимальное количество секунд, которое slapd будет тратить на ответ на запрос. Допускается значение unlimited.
olcSizeLimit :heavy_multiplication_x: Максимальное количество записей для возвращения из поиска.
olcLimits :heavy_multiplication_x: Ограничения по времени и размеру на основе инициатора операции или базового DN.
Syncrepl
Имя Требуется Описание
olcSyncrepl :heavy_multiplication_x: Основная конфигурация Syncrepl.
olcUpdateDN :heavy_multiplication_x: DN, которому разрешено обновлять реплику. Не должен быть rootDN.
olcSyncUseSubentry :heavy_multiplication_x: Хранить contextCSN syncrepl в подзаписи вместо контекстной записи.
olcUpdateRef :heavy_multiplication_x: Перенаправление, которое следует передать, когда slapd запрашивает изменение реплицированной базы данных.
olcMirrorMode :heavy_multiplication_x: Устанавливает эту базу данных в режим зеркала.
slurpd
Имя Требуется Описание
olcReplica :heavy_multiplication_x:
olcReplicaArgsFile :heavy_multiplication_x:
olcReplicaPidFile :heavy_multiplication_x:
olcReplicationInterval :heavy_multiplication_x:
olcReplogFile :heavy_multiplication_x:
Прочее
Имя Требуется Описание
olcSchemaDN :heavy_multiplication_x: DN для подзаписи подсхемы для записей.
olcMaxDerefDepth :heavy_multiplication_x: Максимальное количество алиасов для отслеживания.
olcPlugin :heavy_multiplication_x: Загрузка slapi плагинов.
olcMonitoring :heavy_multiplication_x: Сбор данных мониторинга для этой базы данных.
olcExtraAttrs :heavy_multiplication_x: Укажите атрибуты для возврата, даже если они не ищутся.
Настройки MDB

Эти настройки применимы только к базе данных MDB!

Имя Требуется По умолчанию Описание
olcDbDirectory :heavy_check_mark: {{slapd_mdb_dir}} Путь к директории базы данных на диске.
olcDbNoSync :heavy_multiplication_x: TRUE Не синхронизировать немедленно после получения данных.
olcDbCheckpoint :heavy_multiplication_x: 8192 15 Как часто (КБ/минут) сбрасывать базу данных на диск.
olcDbMaxReaders :heavy_multiplication_x: Максимальное количество потоков, которые могут одновременно получать доступ к базе данных.
olcDbMaxSize :heavy_multiplication_x: Максимальный размер базы данных в байтах.
olcDbMode :heavy_multiplication_x: 0600 Режим файлов базы данных.
olcDbSearchStack :heavy_multiplication_x: 16 Глубина стека во время выполнения фильтров поиска.
olcDbRtxnSize :heavy_multiplication_x: Количество записей для обработки в одной операции чтения.
olcDbIndex :heavy_multiplication_x: Индексы, которые нужно создать для этой базы данных.

Значения по умолчанию для каждой базы данных

Имя По умолчанию frontend По умолчанию OLC По умолчанию монитор По умолчанию MDB
olcSuffix :exclamation:
olcReadOnly FALSE FALSE
olcHidden FALSE
olcLastMod TRUE TRUE
olcSubordinate
olcSecurity
olcRootDN {{slapd_olc_rootdn}} cn=root,cn=monitor cn=root,{{olcSuffix}}
olcRootPW [Хешированный пароль] [Хешированный пароль] [Хешированный пароль]
olcRequires
olcRestrict
olcAddContentAcl TRUE TRUE
olcAccess 'to * by * read' 'to * by * none' 'to * by * none' 'to * by * none'
olcTimeLimit
olcSizeLimit
olcLimits
olcSyncrepl
olcUpdateDN
olcSyncUseSubentry FALSE FALSE
olcUpdateRef
olcMirrorMode FALSE
olcReplica
olcReplicaArgsFile
olcReplicaPidFile
olcReplicationInterval
olcReplogFile
olcSchemaDN cn=Subschema
olcMaxDerefDepth 15 15
olcPlugin
olcMonitoring FALSE FALSE
olcExtraAttrs

Зависимости

schema2ldif должен быть установлен.

Пример плейбука

- hosts: ldap
  roles:
  - slapd-config
    slapd_modules_path: /usr/lib/openldap
    slapd_olc_rootdn_password: water
    slapd_mdb_rootdn_password: water
    slapd_monitor_rootdn_password: water
    slapd_additional_modules: [ 'memberof' ]
    slapd_mdb_config:
      olcSuffix: "dc=example,dc=com"
    slapd_mdb_overlays:
      memberof:
        olcOverlay: memberof
        objectClass: olcMemberOf
        olcMemberOfDangling: ignore

Лицензия

Эта работа лицензирована под Creative Commons Attribution-ShareAlike 4.0 International License.

Авторская информация

О проекте

Configure an entire slapd with the OLC

Установить
ansible-galaxy install stuvusIT/slapd-config
Лицензия
other
Загрузки
7352
Владелец
stuvus IT Team - Studierendenvertretung Universität Stuttgart