OpenLDAP 密码策略

Posted js1314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenLDAP 密码策略相关的知识,希望对你有一定的参考价值。

OpenLDAP默认是没有密码检查策略的,123456这也得密码也能接受,这显然是管理员不希望看到的。

参考地址:https://www.yaoge123.com/blog/archives/1276

        导入密码策略schema

  ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/ppolicy.ldif

 

         假如没有cn=module{0}的话,参考地址:https://www.cnblogs.com/Kevin-1967/p/8931304.html,需要添加:因为需要在OpenLdap中添加组的功能,所以需要添加memberOf功能,步骤如下

在/etc/openldap目录下新建文件memberof_load_configure.ldif。内容如下:

dn: cn=module{0},cn=config

objectClass: olcModuleList
cn: module{0}
olcModulepath: /usr/lib64/openldap
olcModuleload: {0}memberof.la

dn: olcOverlay={0}memberof,olcDatabase={2}hdb,cn=config
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: olcConfig
objectClass: top
olcOverlay: {0}memberof

说明:上面的参数请根据实际情况修改(比如32的系统的话olcModulepath为/usr/lib/openldap)
dn: cn=module{0},cn=config 如果/etc/openldap/slapd.d/cn=config目录下已经存在cn=module{0}.ldif 文件的话,你就需要修改 module后面的数字了
dn: olcOverlay={0}memberof,olcDatabase={2}bdb,cn=config 这行中 如果上述目录中没有olcDatabase={2}bdb.ldif文件就把 olcDatabase={2}bdb改成olcDatabase={2}hdb
之后执行命令ldapadd -Q -Y EXTERNAL -H ldapi:/// -f memberof_load_configure.ldif。

 

    加载模块,因为已经添加过syncprov模块了,所以只要追加ppolicy模块就可以了

dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: ppolicy.la
ldapmodify -Y EXTERNAL -H ldapi:/// -f mod_ppolicy.ldif

 

  指定默认策略dn名

dn: olcOverlay=ppolicy,olcDatabase={2}hdb,cn=config
changeType: add
objectClass: olcOverlayConfig
objectClass: olcPPolicyConfig
olcOverlay: ppolicy
olcPPolicyDefault: cn=default,ou=Users,dc=hbjc,dc=com
olcPPolicyHashCleartext: TRUE
ldapmodify -Y EXTERNAL -H ldapi:/// -f ppolicy.ldif

 

 

创建默认策略

dn: ou=Users,dc=hbjc,dc=com
objectClass: organizationalUnit
objectClass: top
ou: ppolicy

dn: cn=default,ou=Users,dc=hbjc,dc=com
cn: default
objectClass: top
objectClass: device
objectClass: pwdPolicy
objectClass: pwdPolicyChecker
pwdAllowUserChange: TRUE
pwdAttribute: userPassword
pwdCheckQuality: 2
pwdExpireWarning: 604800
pwdFailureCountInterval: 0
pwdGraceAuthnLimit: 5
pwdInHistory: 5
pwdLockout: TRUE
pwdLockoutDuration: 600
pwdMaxAge: 0
pwdMaxFailure: 5
pwdMinAge: 0
pwdMinLength: 8
pwdMustChange: FALSE
pwdSafeModify: FALSE
pwdCheckModule: check_password.so
ldapadd -Y EXTERNAL -H ldapi:/// -f defaultppolicy.ldif

 

      修改/etc/openldap/check_password.conf,定义check_password.so规则

   MirrorMode的两台LDAP均需进行上述同样的配置

    Posted in xNix
    Tagged LDAP

 

密码策略属性参考地址:https://wiki.shileizcc.com/confluence/pages/viewpage.action?pageId=40566878

密码策略属性详解

密码策略涉及的属性如下。

pwdAllowUserChange:允许用户修改其密码。

pwdAttribute:pwdPolicy 对象的一个属性,用于识别用户密码。

pwdExpireWarning:密码过期前告警天数。

pwdFailureCountInterval:密码失败后恢复时间。

pwdGraceAuthNLimit:密码过期后不能登入的天数,0 代表禁止登录。

pwdInHistory:开启密码历史记录,用户保证不能和之前设置的密码相同。

pwdLockout:超过定义次数,账号被锁定。

pwdLockoutDuration:密码连接输入错误次数后,账号锁定时间。

pwdMaxAge:密码有效期,到期需要强制修改密码。

pwdMaxFailure:密码最大失效次数,超过后账号被锁定。

pwdMinAge:密码有效期。

pwdMinLength:密码修改密码时最短的密码长度。

pwdMustChange:用户登录系统后提示修改密码。

pwdSafeModify:是否允许用户修改密码,与 pwdMustChange 共同使用。

pwdLockoutDuration:账号锁定后,不能自动解锁,此时需要管理员干涉。

设定用户密码定期修改及过期时间

向条目中添加一个名为shadowAccount的objectClass, 设定如下属性(attributes):
shadowLastChange: 密码从1970年1月1日开始, 到最近一次修改, 一共间隔了多少天. 比如这里指定成16967就表示2016年6月15日. 也可以直接获取当天的日期,方法为:在系统里useradd一个用户,查看/etc/shadow中该用户的第三个值, 即是该值. 该值如果设置成0, 则表示下次登陆将强制修改密码, 用户修改密码成功以后, 该值将发生对应的变化;
shadowMin: 密码从shadowLastChange指定的日期开始, 到多少天以后才能再次修改密码, 防止某些人天天没事就修改密码, 此值设置成0表示不限制;
shadowMax: 密码从shadowLastChange指定的日期开始, 到多少天以后过期(即多少天后必须更改密码);
shadowInactive: 密码过期以后还可以登陆多少天(每次登陆都会要求更改密码), 如果超过此值指定的天数, 下次登陆时会提示Your account has expired; please contact your system administrator;
shadowWarning: 提前多少天开始警告用户密码将会过期;
shadowExpire: 密码从1970年1月1日开始, 多少天以后将会过期, 这里一般用不到;
shadowFlag: 暂时无用

一组建议的值

  • shadowLastChange: 0
  • shadowMin: 0
  • shadowMax: 90 #每隔90天强制更换密码
  • shadowInactive: 7 #过期以后还有7天可以登陆,每次登陆都会提示修改密码
  • shadowWarning: 8 #提前8天开始提示密码即将过期

 

Openldap密码策略pwdAttribute属性设置OID

参考地址:https://blog.csdn.net/wxb880114/article/details/102408269

http://osask.cn/front/ask/view/472349

pwdAttribute: userPassword
或者
pwdAttribute: 2.5.4.35

 

以上是关于OpenLDAP 密码策略的主要内容,如果未能解决你的问题,请参考以下文章

OpenLDAP 密码策略

openldap加入复杂的密码策略

如何激活密码策略以在 OpenLDAP/windows 中使用扩展操作进行密码重置

OpenLdap介绍

07-OpenLDAP密码审计

OpenLDAP 上的 SSHA 密码加密