Кеширует ли slapd пароль администратора из начальной настройки даже после его сброса? - PullRequest
0 голосов
/ 15 января 2020

Я установил slapd и запустил dpkg -conconfigure slapd, введя пароль A. Затем я остановил slapd, удалил /var/lib/ldap/*.mdb и использовал slapadd для импорта другой базы данных с другого сервера. Он имеет тот же контент, ту же организацию, те же учетные записи, но пароль для учетной записи администратора (cn = admin, dc = example, dc = org) отличается. Я снова запустил slapd и попытался пройти аутентификацию, используя учетную запись администратора. Проблема, с которой я сталкиваюсь, заключается в том, что всегда принимает мой исходный пароль администратора A. Он также принимает импортированный пароль администратора B, и я могу сбросить пароль B на пароль C и затем использовать пароль C, но я все еще могу использовать пароль A.

root@server:~# slapd -V
@(#) $OpenLDAP: slapd  (Ubuntu) (Aug  8 2019 18:08:36) $
        Debian OpenLDAP Maintainers <pkg-openldap-devel@lists.alioth.debian.org>
root@server:~# ldappasswd -x -H ldapi:/// -D cn=admin,dc=example,dc=org -W cn=admin,dc=example,dc=org
Enter LDAP Password: gibberish
ldap_bind: Invalid credentials (49)                         
root@server:~# ldappasswd -x -H ldapi:/// -D cn=admin,dc=example,dc=org -W cn=admin,dc=example,dc=org
Enter LDAP Password: password A
New password: idz94YbV
root@server:~# ldappasswd -x -H ldapi:/// -D cn=admin,dc=example,dc=org -W cn=admin,dc=example,dc=org
Enter LDAP Password: password A
New password: HoI3Ewy5
root@server:~# ldappasswd -x -H ldapi:/// -D cn=admin,dc=example,dc=org -W cn=admin,dc=example,dc=org
Enter LDAP Password: password B
ldap_bind: Invalid credentials (49)
root@server:~# ldappasswd -x -H ldapi:/// -D cn=admin,dc=example,dc=org -W cn=admin,dc=example,dc=org
Enter LDAP Password: HoI3Ewy5
New password: toJgEu4.                            
root@server:~# ldappasswd -x -H ldapi:/// -D cn=admin,dc=example,dc=org -W cn=admin,dc=example,dc=org
Enter LDAP Password: HoI3Ewy5
ldap_bind: Invalid credentials (49)
root@server:~# ldappasswd -x -H ldapi:/// -D cn=admin,dc=example,dc=org -W cn=admin,dc=example,dc=org
Enter LDAP Password: password A                 
New password: vb2XpT7n

У меня запущен sssd, но ldappasswd не использует sssd, поэтому я не думаю, что он связан. Я все равно остановил sssd и все еще вижу то же самое поведение. Я также перезапустил slapd, попробовал один пароль, снова перезапустил slapd, попробовал другой пароль и увидел такое же поведение.

Это похоже на пример cn = admin, dc =, в учетной записи dc = org два поля пароля, и я могу изменить одно, но не другое, и когда я связываюсь, я связываюсь с обоими. У меня есть политика паролей, настроенная с помощью ppolicy; здесь следует учетная запись cn = admin (чтобы вы могли видеть соответствующие атрибуты pwd).

dn: cn=default,ou=policies,dc=example,dc=org
objectClass: pwdPolicy
objectClass: organizationalRole
objectClass: pwdPolicyChecker
cn: default
pwdAttribute: userPassword
pwdMinLength: 3
pwdCheckQuality: 2
structuralObjectClass: organizationalRole
entryUUID: ba0d38a8-c756-1039-89a1-e79868d60c5c
creatorsName: cn=admin,dc=example,dc=org
createTimestamp: 20200109180805Z
pwdCheckModule: pqchecker.so
pwdExpireWarning: 60
pwdInHistory: 3
pwdMustChange: TRUE
pwdMaxFailure: 3
pwdMaxAge: 120
entryCSN: 20200114140952.518589Z#000000#000#000000
modifiersName: cn=admin,dc=example,dc=org
modifyTimestamp: 20200114140952Z

dn: cn=admin,dc=example,dc=org
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
structuralObjectClass: organizationalRole
entryUUID: 710606a2-c671-1039-9d67-25c3b2789b4f
creatorsName: cn=admin,dc=example,dc=org
createTimestamp: 20200108144647Z
pwdHistory: 20200115153929Z#1.3.6.1.4.1.1466.115.121.1.40#38#{SSHA}i6pBAm9Fw
 8rL7DPyCiiUu/oqOYzS0XsU
pwdHistory: 20200115153937Z#1.3.6.1.4.1.1466.115.121.1.40#38#{SSHA}/3O779Y6c
 urEatnGPIbjzAf+oO8PYgzU
pwdHistory: 20200115154125Z#1.3.6.1.4.1.1466.115.121.1.40#38#{SSHA}TqihecOtW
 uVmWW24kBtIzmWvMkYi/ibM
userPassword:: e1NTSEF9Y2lhaDRFYTBHWERqQnpCSDhGL1RFd0E5MHdhTTVXb1k=
pwdChangedTime: 20200115154125Z
entryCSN: 20200115154125.045190Z#000000#000#000000
modifiersName: cn=admin,dc=example,dc=org
modifyTimestamp: 20200115154125Z

Это то, что учетная запись администратора имеет пароль бэкдора, который всегда будет работать? Это как-то связано с ppolicy?

...