星期三, 4月 27, 2022

OpenLDAP Password Policy overlay (ppolicy)

 事情是這樣子的............. (如同往常,又離題了XD)

正當我興高采烈地安裝好openLDAP並且準備開心的使用時,在大量寫入資料時發生錯誤。

根據錯誤訊息才知道原來是mapsize limit reached的問題,還好這個小插曲不算太難解決,調整大小之後就順利解決了。

vim increaseDbSize.ldif
dn: olcDatabase={2}mdb,cn=config changetype: modify add: olcDbMaxSize olcDbMaxSize: 1000000000
ldapmodify  -Y EXTERNAL -H ldapi:/// -f increaseDbSize.ldif

就當以為一切都順利搞定時,才發現原來預設是沒有密碼政策的,什麼密碼複雜度、輸入失敗錯誤鎖定..等是需要額外套用,嗯,這一切看起來真的是非常合理呢,接著便拼命的上網爬文,無論是網路上各路大神、或是鄉民的單一心法照抄都是失敗(可能看得不夠多),所幸皇天不負苦心人,混合使用之後終於僥倖的套用成功,記錄下來提供給可能照抄單一大神步驟失敗的朋友們試試看看。

第一步:啟用policy Overlay

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif

第二步:建立一個放置規則的位置(請把cn=admin,dc=yourdomain,dc=yourcom替換成您的位置)

vim policies_1.ldif
dn:ou=Policies,cn=admin,dc=yourdomain,dc=yourcom objectClass: top objectClass: organizationalUnit ou: Policies description: Password policy config files
ldapadd -D cn=admin,dc=yourdomain,dc=yourcom -W -f policies_1.ldif


第三步: 讀取Modules

vim policy_module.ldif
dn: cn=module{0},cn=config objectClass: olcModuleList cn: module{0} olcModuleLoad: ppolicy.la
ldapadd -Y EXTERNAL -H ldapi:/// -f policy_module.ldif


第四步:讓資料夾知道讀取政策位置(mdb請自行替換成你的openLDAP的模式)

vim policy_overlay.ldif

dn: olcOverlay={1}ppolicy,olcDatabase={2}mdb,cn=config objectClass: olcOverlayConfig objectClass: olcPPolicyConfig olcOverlay: {1}ppolicy olcPPolicyDefault: cn=DefaultPPolicy,ou=Policies,cn=admin,dc=yourdomain,dc=yourcom

ldapadd -Y EXTERNAL -H ldapi:/// -f policy_overlay.ldif


第五步:建立密碼政策(可以參考slapo-ppolicy)

vim Default_Policies.ldif
dn: cn=DefaultPPolicy,ou=Policies,cn=admin,dc=yourdomain,dc=yourcom cn: DefaultPPolicy objectClass: pwdPolicy objectClass: device objectClass: top pwdAttribute: userPassword pwdMaxAge: 2592000 pwdExpireWarning: 2160000 pwdInHistory: 3 pwdCheckQuality: 1 pwdMinLength: 8 pwdMaxFailure: 3 pwdLockout: TRUE pwdLockoutDuration: 30 pwdGraceAuthNLimit: 0 pwdFailureCountInterval: 0 pwdMustChange: TRUE pwdAllowUserChange: TRUE pwdSafeModify: FALSE
ldapadd -D cn=admin,dc=yourdomain,dc=yourcom -W -f Default_Policies.ldif

接下來就可以快樂的使用這些密碼政策了

參考文章

How to increase size of OpenLDAP MDB database? (MDB_MAP_FULL Error Code)

OPENLDAP: password policy overlap, how to assign to a specific OU

OpenLDAP Password Policy overlay (ppolicy)

slapo-ppolicy

1 則留言:

Max 提到...

感謝分享