Как установить максимальный срок действия пароля в OpenLDAP для Linux

Вопрос или проблема

Я пытаюсь выяснить, как изменить некоторые настройки политики паролей в OpenLDAP (на уровне системы, а не для каждого пользователя), чтобы все пользователи LDAP-аккаунтов (то есть как существующие, так и новые пользователи) имели свои пароли, истекающие через 90 дней.

Я знаю, что основной параметр, который это контролирует, – это параметр maxPasswdAge, но не уверен, как его установить. Я пробовал разные параметры ldapmodify, но это не сработало:

ldapmodify -W -x -D "cn=Manager,dc=mydomain,dc=local" -f test.ldif 

dn: cn=pwdpolicyentry,cn=common,cn=products,cn=OracleContext,o=my_company,dc=com
changetype: modify
replace: pwdMaxAge
pwdMaxAge: 7776000

Сообщение об ошибке было ..

modifying entry "cn=pwdpoilicyentry,cn=common,cn=products,cn=Oraclecontext,dc=mydomain,dc=com"
ldapmodify :no such object(32)

matched DN: dc=mydomain,dc=com 

Мои вопросы следующие:

Существуют ли альтернативные способы сделать это, например: просто изменить параметр вручную где-то в каком-то конфигурационном файле и перезапустить сервер LDAP.

Существуют ли какие-то службы, которые нужно перезапустить после внесения изменений?

Похоже, что в вашем дереве отсутствуют записи для политической записи.

Вам нужно загрузить наложение slapo-ppolicy. Страница руководства для модуля указывает, что вам нужно настроить. Я также нахожу документацию Ztrax полезной.

Инструмент, который вам нужен, это ppolicy.

Это многоступенчатая задача, включающая:

  1. добавление модуля;
  2. добавление схемы;
  3. добавление наложения к данной базе данных (оно также определяет, какая политическая запись является политикой по умолчанию);
  4. одно или несколько добавлений записей, которые определяют политики паролей (одна из них может быть политикой по умолчанию).

В записи, определенной на шаге 4, вы можете изменить атрибут pwdMaxAge.

Ваша запись “пользователя” в каталоге LDAP должна иметь 2 атрибута:

passwordExp: on
passwordMaxAge: 8640000

8640000 = 100 дней.

Ответ или решение

Для настройки срока действия паролей в OpenLDAP так, чтобы у всех пользователей (как существующих, так и новых) пароли истекали через 90 дней, вам необходимо выполнить несколько шагов, включая установку соответствующих модулей, добавление схемы и определение политики паролей. Ниже представлена полная инструкция по настройке:

Шаг 1: Установка модуля ppolicy

Убедитесь, что у вас установлен и активирован модуль управления политиками паролей (ppolicy). Для этого выполните следующие команды в терминале:

# Убедитесь, что пакет openldap-server установлен
sudo yum install openldap-servers
# или для Ubuntu
sudo apt-get install slapd ldap-utils

Шаг 2: Добавление схемы

Вам необходимо добавить схему для политики паролей. Это можно сделать, добавив файл схемы в OpenLDAP. Обычно схема ppolicy располагается в /etc/ldap/schema/ppolicy.schema. Если у вас её нет, вы можете скачать её или создать вручную.

Теперь вы можете добавить эту схему в вашу базу данных. Для этого выполните команду:

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/ppolicy.schema

Шаг 3: Добавление наложений (overlay)

Теперь вам нужно добавить наложение ppolicy к вашей базе данных. Откройте конфигурационный файл OpenLDAP (обычно располагается в /etc/ldap/slapd.d/ или /etc/openldap/slapd.conf в зависимости от вашего дистрибутива) и добавьте следующую секцию:

dn: cn=module{0},cn=module,cn=config
changetype: modify
replace: olcModuleLoad
olcModuleLoad: ppolicy.la

Шаг 4: Определение политики паролей

Теперь создайте LDAP-объект, который будет представлять вашу политику паролей. Создайте файл с именем pwdpolicy.ldif со следующим содержимым:

dn: cn=pwdpolicy,dc=mycompany,dc=com
objectClass: ppolicy
cn: pwdpolicy
pwdAttribute: userPassword
pwdMaxAge: 7776000
pwdExpireWarning: 604800

Затем выполните команду для добавления этой политики:

ldapadd -x -D "cn=Manager,dc=mycompany,dc=com" -W -f pwdpolicy.ldif

Шаг 5: Применение политики ко всем пользователям

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

dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcPPolicyDN
olcPPolicyDN: cn=pwdpolicy,dc=mycompany,dc=com

Шаг 6: Перезапуск сервиса

После внесения всех изменений необходимо перезапустить сервис OpenLDAP:

sudo systemctl restart slapd

Службы, которые нужно перезапустить

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

Дополнительные советы

  1. Убедитесь, что у всех пользователей в базе данных есть необходимые атрибуты:

    passwordExp: on
    passwordMaxAge: 7776000
  2. Проверяйте логи OpenLDAP для выявления ошибок, если что-то пойдет не так.

Теперь ваши пользователи будут получать уведомление о необходимости изменить пароли, если они не поменяют их в течение 90 дней.

Оцените материал
Добавить комментарий

Капча загружается...