Как мне заставить парольную политику openldap работать на 12.04 или 14.04?

Я установил оверлей, установил политику по умолчанию, я вижу в syslog что на политику ссылаются, но она, похоже, не применяется.

В частности, я тестировал pwdMinLength из 10. Однако я могу изменить пароль на любой из 6 символов или более. Я перепутался с slapd конфигурации, pam, ldap.conf... Я просто не могу понять это.

Вот мой /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
password        requisite                       pam_deny.so
password        required                        pam_permit.so

Вот мое наложение:

root@ldap:/etc/ldap/slapd.d/cn=config/olcDatabase={1}hdb# cat olcOverlay\=\{0\}ppolicy.ldif
# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
# CRC32 e13ac822
dn: olcOverlay={0}ppolicy
objectClass: olcOverlayConfig
objectClass: olcPPolicyConfig
olcOverlay: {0}ppolicy
olcPPolicyDefault: cn=default,ou=policies,dc=mydomain,dc=local
olcPPolicyUseLockout: FALSE
olcPPolicyForwardUpdates: FALSE
structuralObjectClass: olcPPolicyConfig
entryUUID: 73ace97c-bd97-1033-89a7-83eeab8cfd47
creatorsName: cn=config
createTimestamp: 20140821155626Z
olcPPolicyHashCleartext: TRUE
entryCSN: 20140822194949.226250Z#000000#000#000000
modifiersName: cn=admin,cn=config
modifyTimestamp: 20140822194949Z

root@ldap:/etc/ldap/slapd.d/cn=config# grep -r pol *
cn=module{0}.ldif:olcModuleLoad: {1}ppolicy
cn=schema/cn={4}ppolicy.ldif:dn: cn={4}ppolicy
cn=schema/cn={4}ppolicy.ldif:cn: {4}ppolicy
cn=schema.ldif: w policy state updates to be forwarded via updateref' SYNTAX OMsBoolean SINGL
olcDatabase={1}hdb/olcOverlay={0}ppolicy.ldif:dn: olcOverlay={0}ppolicy
olcDatabase={1}hdb/olcOverlay={0}ppolicy.ldif:olcOverlay: {0}ppolicy
olcDatabase={1}hdb/olcOverlay={0}ppolicy.ldif:olcPPolicyDefault: cn=default,ou=policies,dc=mydomain,dc=local

Here is the policy:
dn: ou=policies,dc=mydomain,dc=local
objectClass: organizationalUnit
objectClass: top
ou: policies
structuralObjectClass: organizationalUnit
entryUUID: 02bd96f4-b6ac-1033-8430-5db15c0b2efc
creatorsName: cn=admin,dc=mydomain,dc=local
createTimestamp: 20140812203558Z
entryCSN: 20140812203558.385280Z#000000#000#000000
modifiersName: cn=admin,dc=mydomain,dc=local
modifyTimestamp: 20140812203558Z

dn: cn=default,ou=policies,dc=mydomain,dc=local
objectClass: pwdPolicy
objectClass: device
objectClass: top
pwdAttribute: userPassword
pwdMaxAge: 3024000
pwdExpireWarning: 1814400
pwdInHistory: 3
pwdMaxFailure: 3
pwdLockout: TRUE
pwdLockoutDuration: 600
pwdGraceAuthNLimit: 0
pwdFailureCountInterval: 0
pwdMustChange: TRUE
pwdAllowUserChange: TRUE
structuralObjectClass: device
entryUUID: 29977c86-b74c-1033-8432-5db15c0b2efc
creatorsName: cn=admin,dc=mydomain,dc=local
createTimestamp: 20140813154223Z
pwdMinLength: 10
cn: default
pwdCheckQuality: 2
pwdSafeModify: TRUE
entryCSN: 20140822193458.399642Z#000000#000#000000
modifiersName: cn=admin,dc=mydomain,dc=local
modifyTimestamp: 20140822193458Z

Я был вокруг и вокруг этого. Любая помощь будет оценена

1 ответ

Моя настройка ppolicy похожа на вашу конфигурацию, и она работает для меня. Я думаю, что все зависит от того, как вы проверяете свою политику паролей.

Я проверил это с помощью:

(пароль пользователя11 меняется):

  1. ldappasswd -x -h ubuntu-vostro -D "cn = пользователь11, ou = пользователи, dc = ваш домен,dc=net" -W -S "cn= пользователь11, ou = пользователи, dc = ваш домен,dc=net" (примечание -D "cn = user11...")

  2. phpLdapAdmin, залогинен как user11, очистил кеш, изменил пароль

  3. self-service-password (скрипт php, работающий на сервере apache2), зарегистрированный как user11. Убедитесь, что в config.inc.php у вас есть $who_change_password = "user"; (не "менеджер").

    Похоже, rootdn (менеджер / администратор) обходит все политики паролей, поэтому, если вы используете учетную запись rootdn (%ADMIN%) для изменения пароля пользователя, ваша политика pwdMinLength не будет выполняться принудительно.

Вы можете включить мониторинг openLDAP и запустить эту команду, чтобы убедиться, что ваш оверлей ppolicy правильно загружен: ldapsearch -x -D dc= ваш домен, dc = net -w -b 'cn = Overlays, cn = Monitor' -s base '(objectClass =) '''' +

Другие вопросы по тегам