2017-09-11 9 views
0

작동하는 LDAP 서버가 있습니다. 다음으로 LDAP 서버에 비밀번호 정책을 추가했습니다. 내 비밀번호 ldif는 다음과 같습니다 :LDAP 보안 정책의 최소 길이가 작동하지 않습니다.

dn: cn=MyPolicy,ou=Policies,dc=XXX,dc=XXXX 
cn: MyPolicy 
objectClass: pwdPolicy 
#objectClass: pwdPolicyChecker 
objectClass: device 
objectClass: top 
pwdAttribute: 2.5.4.35 
#pwdAttribute: userPassword 
pwdMaxAge: 7862400 
pwdExpireWarning: 6048000 
pwdInHistory: 3 
pwdCheckQuality: 2 
pwdMinLength: 7 
pwdMaxFailure: 3 
pwdLockout: TRUE 
pwdLockoutDuration: 300 
pwdGraceAuthNLimit: 0 
pwdFailureCountInterval: 0 
pwdMustChange: TRUE 
pwdAllowUserChange: TRUE 
pwdSafeModify: FALSE 
pwdReset: FALSE 

내 LDAP 서버에 성공적으로 추가되었습니다. 그러나 잠금 및 잠금 기간 만 작동합니다. 암호 최소 길이가 작동하지 않습니다.

pam configuration 
Server side configuration 

pam.d/common-auth 
auth [success=1 default=ignore] pam_ldap.so nullok_secure try_first_pass 
auth requisite pam_deny.so 
auth required pam_permit.so 

pam.d/common-account 
account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so 
account requisite pam_deny.so 
account required  pam_permit.so 

pam.d/common-password 
password [success=1 default=ignore] pam_unix.so obscure sha512 minlen=8 
password requisite pam_deny.so 
password required pam_permit.so 


Client side configuration 

pam.d/common-auth 
auth [success=2 default=ignore] pam_unix.so null_secure try_first_pass 
auth [success=1 default=ignore] pam_ldap.so use_first_pass 
auth requisite pam_deny.so 
auth required pam_permit.so 

pam.d/common-account 
account [success=2 new_authtok_reqd=done default=ignore] pam_ldap.so 
account [success=1 default=ignore] pam_unix.so 
account needs pam_deny.so 
account required pam_permit.so 

pam.d/common-password 
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 

ldap.conf 
pam_lookup_policy yes 

어디에서 잘못했는지 알려주세요.

답변

0

OpenLDAP를 사용하는 경우 암호 정책 오버레이가 ManagerDN에 의해 ​​완전히 무시됩니다. 직접 사용해서는 안되며 OpenLDAP 서버에만 해당됩니다. 암호 수정 작업을 수행하기 위해 덜 권한이 있지만 충분히 권한이 부여 된 다른 LDAP 계정, 즉 사용자 자신의 계정을 사용해야합니다.

+0

비밀번호 수정에 사용자의 계정을 사용하고 있습니다. 하지만 LDAP 계정에서 나는 암호의 최소 길이를 7로 지정했습니다.하지만 wen은 passwd를 사용하여 6자를 받아들이지 만 7자를 받아 들여야합니다. – user3906723

+0

@ user3906723 귀하의 의견을 고려하여 리눅스에서 PAM을 통해 사용자를 인증한다고 가정합니다 체계? 그렇다면 팸 구성을 제공해주십시오. PAM 구성에서 LDAP 디렉토리에 암호 관리를 위임 했습니까? 그렇지 않으면 암호 모듈에 암호를 입력해야합니다. – Esteban

+0

@Esteban pam 구성 서버 측 구성 :: pam.d/common-auth auth [성공 = 1 기본값 = 무시] pam_ldap.so nullok_secure try_first_pass pam.d/공통 계정 계정 pam_permit.so 필요한 인증 pam_deny.so 인증에 필요한 [성공 = 1 new_authtok_reqd = 수행의 기본 = 무시] – user3906723

1
pwdLockout: TRUE 
pwdLockoutDuration: 300 

이러한 속성은 (관리자 DN 제외) 사용자가 자신의 userPassword 속성에 수정 암호 연산을 수행 할 때이 속성이 선택 전용 계정

pwdMinLength: 7 

을 고정하는 데 실패 바인드 시도에 사용됩니다. 이 규칙을 만족하지 않는 이미 생성 된 계정은 잠그지 않습니다.

편집 :

에서 :

pam_password crypt 

사람 :

pam_password exop 

이 수정됩니다

당신의 다른 의견을 고려, 파일 /etc/ldap.conf에 줄을 수정하려고 비밀 번호는 확장 작업을 사용하여 modifypassword 그래서 쉬 ould는 암호 정책을 트리거합니다.

+0

사용자 계정에 대해 잘못된 암호를 세 번 입력하면 해당 계정이 300 초 동안 잠 깁니다. 그것은 나를 위해 잘 작동합니다. 비밀번호를 변경하는 동안 최소 길이 만 적용되지 않습니다. – user3906723

+0

@ user3906723 더 많은 정보를 가지고 내 대답을 편집했습니다 – Esteban

+0

pam_password를 exop으로 변경했지만 여전히 암호 정책을 트리거하지 않습니다. – user3906723