Задать вопрос
@Rorus
Оптимист

OpenLdap создание аттрибута-аналога userPassword как сделать?

Настроил почтовую систему Postfix+Dovecot+OpenLDAP. Локальным агентом доставки работает Dovecot. Из базы данных он берет 3 параметра: user, password и mail_crypt_private_password. Последним шифруются ключи пользователей для шифрования всей почты в их ящиках. Ключ у каждого пользователя свой.

Столкнулся с проблемой, связанной с недостаточными знаниями по Ldap: на данный момент параметр Довкота mail_crypt_private_password берется из атрибута Ldap "description". Понимаю, что это неправильно, это не тот атрибут для хранения паролей и хранится он в открытом виде (в отличие от userPassword). В имеющихся схемах атрибута аналогичного userPassword я не нашел. Здесь я вижу решение 2 варианта:
1. Вручную создать атрибут аналогичный userPassword. Сделал дополнительную схему "dovecot-options.schema" с одним атрибутом mailcryptPassword и соответствующим ему objectClass. Атрибут добавился, но со свойствами обычного текста. А должен быть со свойствами userPassword.
2. Для каждого пользователя почты в базе создать children запись содержащую атрибут userPassword. Но тогда непонятно как Dovecot при выборке будет отличать пароль пользователя userPassword=password от пароля шифрования userPassword=mail_crypt_private_password, 100% что будут ошибки и проблемы.

Думаю, что правильней создать отдельный атрибут mailcryptPassword, но как его создать чтобы его свойства были такие же как у userPassword? Он - как и пароль пользователя - в базе данных будет храниться в виде хеша SSHA.
Прошу откликнуться тех кто хорошо разбирается в OpenLDAP
  • Вопрос задан
  • 32 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@vitaly_il1
DevOps Consulting
Посмотрите здесь
https://github.com/ValV/postfix-dovecot-ldap-schema
Ответ написан
Комментировать
@Rorus Автор вопроса
Оптимист
Спасибо, попробовал добавить эту схему. К сожалению, включенный в нее атрибут mailPassword снова же сохраняется как обычный текст. То есть, теоретически, хостер и любые заинтересованные органы его могут легко подсмотреть.
Попробовал его сделать потомком userPassword, чтобы он получил все свойства родителя - не получилось, упорно сохраняется в plaintext. Похоже что userPassword единственный в таком роде. Попробую написать разработчикам OpenLDAP
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы