изменения пароля пользователя pam_ldap с помощью rootbinddn на Debian Jessie

При конфигурировании pam_ldap на Debian Jessie, изменения пароля конечного пользователя используют rootbinddn, обходя наложение политики OpenLDAP. Это позволяет конечным пользователям изменять свои пароли, не соответствуя политике паролей, определенной в OpenLDAP, например, они могут повторить пароли и проигнорировать минимальную длину пароля. Я хотел бы, чтобы изменения пароля были сделаны, использовав конечных пользователей dn с осуществленными политиками паролей.

Каждая соответствующая конфигурация я могу думать о соответствиях моя рабочая конфигурация на Debian, Сжимает/Хрипящей, но эта проблема происходит на всех протестированных установках Debian Jessie.

Я создал ошибку Debian, но продолжаю исследовать возможность (вероятность), что это - ошибка конфигурации. https://bugs.debian.org/cgi-bin/bugreport.cgi? bug=790488

Блоки соответствующих файлов конфигурации следующие:

/etc/pam_ldap.conf и libnss-ldap.conf идентичны:

debug 0
base dc=internal,dc=net
uri ldaps://ldap-server/
ldap_version 3
rootbinddn cn=admin,dc=internal,dc=net
port 636
pam_password exop
ssl on
tls_checkpeer yes
tls_cacertfile /etc/ssl/certs/ldap-server.pem

/etc/pam.d/common-passwd:

password        [success=2 default=ignore]      pam_unix.so obscure sha512
password        [success=1 user_unknown=ignore default=die]   pam_ldap.so try_first_pass
password        requisite                       pam_deny.so
password        required                        pam_permit.so

/etc/nsswitch.conf:

passwd:         compat ldap
group:          compat ldap
shadow:         compat

То, что пароль изменяется rootbinddn, подтверждено от auditlogs на Сервере OpenLDAP, пример записи изменения пароля с сервера Debian Wheezy, сопровождаемого Сервером Debian Jessie:

# modify 1435351337 dc=internal,dc=net uid=wrttest,ou=People,dc=internal,dc=net IP=172.16.11.141:48084 conn=1066
dn: uid=wrttest,ou=People,dc=internal,dc=net
changetype: modify
replace: userPassword
userPassword:: e1NTSEFUdIkewk5eUlOaFA4bmMvMzlvVjg=
-
replace: pwdChangedTime
pwdChangedTime: 20150626204217Z
-
delete: pwdHistory
pwdHistory: 20150327201545Z#1.3.6.1.4.1.1466.115.121.1.40#38#{SSHA}NxOHHViV
 zwlUZs2TKWKJsdatrfeO3OF
-
add: pwdHistory
pwdHistory: 20150626204217Z#1.3.6.1.4.1.1466.115.121.1.40#38#{SSHA}DJJkErb9
 CEyPPPYYYAAAAESjR3wDqRj9
-
replace: entryCSN
entryCSN: 20150626204217.320385Z#000000#001#000000
-
replace: modifiersName
modifiersName: uid=wrttest,ou=People,dc=internal,dc=net
-
replace: modifyTimestamp
modifyTimestamp: 20150626204217Z
-
# end modify 1435351337


# modify 1435595556 dc=internal,dc=net cn=admin,dc=internal,dc=net IP=172.16.11.158:34413 conn=1080
dn: uid=wrttest,ou=People,dc=internal,dc=net
changetype: modify
replace: userPassword
userPassword:: e1HUHJFIzFeQHpacEJQGd2VvU08=
-
replace: pwdChangedTime
pwdChangedTime: 20150629163236Z
-
delete: pwdHistory
pwdHistory: 20150626204102Z#1.3.6.1.4.1.1466.115.121.1.40#38#{SSHA}Xi1p3Z44556K5c
 5tcFOeLaBIL1i
-
add: pwdHistory
pwdHistory: 20150629163236Z#1.3.6.1.4.1.1466.115.121.1.40#38#{SSHA}13lTJmGHfgf
 Y45672xoyuVVswcgIP
-
replace: entryCSN
entryCSN: 20150629163236.253982Z#000000#001#000000
-
replace: modifiersName
modifiersName: cn=admin,dc=internal,dc=net
-
replace: modifyTimestamp
modifyTimestamp: 20150629163236Z
-
# end modify 1435595556

Пытаясь определить, куда проблема прибывала из, я понизил пакет Debian Jessie до Хрипящей версии libpam-ldap. Я внес различные изменения в конфигурацию PAM, это или не изменил проблему или повредил аутентификацию LDAP полностью. От включения, отлаживающего в pam_ldap при оставлении его в libnss-ldap, я убедился, что маршрутизация изменения пароля обрабатывалась pam_ldap не libnss-ldap. Я рассмотрел код pam_ldap пакета, чтобы видеть, мог ли я определить, где вещи шли не так, как надо.

Обновление: В попытке отладить это, у меня есть рабочая система Jessie, где я понизил следующие пакеты, чтобы попытаться определить, какой пакет вызывает проблему: libpam-модули 1.1.3-7.1 libpam-modules-run 1.1.3-7.1 1.1.3-7.1 passwd 1:4.1.5.1-1 libpam0g 1.1.3-7.1 libpam-ldap 184-8.6 libpam-во-время-выполнения

Я также пытался удалить libpam-systemd

Обновление 2: После различного тестирования я решил, что проблема с libldap. Если хрипящая система обновлена до версии бэкпортов 2.4.31+really2.4.40+dfsg-1~bpo70+1, она начинает показывать поведение. И если jessie система понижена до 2.4.31-2, она прекращает показывать проблему. Я отправил обновление ошибки Debian и попытался повторно присвоить ее libldap-2.4-2

0
задан 20 July 2015 в 23:40
2 ответа

Ошибка, вызывающая эту конкретную проблему, уже давно присутствует в исходном коде libpam-ldap, но ее эффект проявился только после исправления отдельной ошибки в библиотеке gnutls, которую использует libldap-2.4-2. Подробности можно найти в разъясняющем письме от Райана Тэнди на странице ошибок Debian для этой проблемы. ( Ошибка Debian 790488 ).

Я уже знал, что libpam-ldap активно не разрабатывалась, но предоставляла функции, которые упускала libpam-ldapd (в частности, поддержка политики паролей). Я решил, что лучшим вариантом было бы перевести более новые системы на систему sssd, которая находится в стадии активной разработки, поддерживает наложения политик паролей и другие функции.

0
ответ дан 5 December 2019 в 12:39

Прекратите использовать RootDN каталога в качестве DNS для учетной записи root локальной системы. Rootdn каталога не подлежит контролю доступа. Используйте (при необходимости создайте) запись DNS с соответствующими разрешениями на вашем сервере LDAP для правильного изменения паролей.

0
ответ дан 5 December 2019 в 12:39

Теги

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