本次加入的密码策略,大致上有以下内容:
密码是长度至少为8位
密码至少包含数字,大写字母,小写字母,特殊字符
5次内使用过的密码不能再次使用
连续输入错误超过5次,密码将锁定5分钟
实现过程:
实现上述密码策略主要用到两个模块,一个是自带的模块:ppolicy,另一个外部扩展模块:pqchecker
第一步:载入ppolicy模块
#vim/etc/openldap/slapd.conf modulepath/usr/lib/openldap modulepath/usr/lib64/openldap moduleloadppolicy.la overlayppolicy.la ppolicy_defaultcn=Captain,ou=pwpolicies,dc=xxx,dc=com |
上述配置,指定了模块查找的位置,并载入ppolicy模块,设置密码策略的默认规则为:dn 为cn=Captain,dc=com的密码策略,
rm-rf/etc/openldap/slapd.d/* [root@ll~]#slaptest-f/etc/openldap/slapd.conf-F/etc/openldap/slapd.d configfiletestingsucceeded [root@ll~]#chown-Rldap.ldap/etc/openldap/* [root@ll~]#chown-Rldap.ldap/var/lib/ldap [root@ll~]#/etc/init.d/slapdrestart |
只有执行了上面的操作,配置才会生效
既然已经指定了默认策略,那接下来就是生成这个默认策略了。
1.生成密码策略的ou
#vim1.ldif dn:ou=pwpolicies,dc=com objectClass:organizationalUnit ou:pwpolicies #通过命令将上面的设置,生成一个ou ldapadd-x-D"cn=admin,dc=xxx"-W-f1.ldif |
2,在上述ou下生成默认的密码策略对象
#vim2.ldif dn:cn=Captain,dc=com cn:Captain objectClass:pwdPolicy objectClass:person pwdAllowUserChange:TRUE pwdAttribute:userPassword pwdExpireWarning:259200 pwdFailureCountInterval:0 pwdGraceAuthNLimit:5 pwdInHistory:5 pwdLockout:TRUE pwdLockoutDuration:300 pwdCheckQuality:1 pwdMaxAge:2592000 pwdMaxFailure:5 pwdMinAge:0 pwdMinLength:8 pwdMustChange:TRUE pwdSafeModify:TRUE pwdReset:TRUE sn:dummyvalue #通过命令将上面的设置,生成一个对象 ldapadd-x-D"cn=admin,dc=xxx"-W-f2.ldif |
配置完成后,密码策略就已经生效了。
注:不能在PHPldapadmin页面验证密码策略,要么用修改密码的命令,要么自己代码实现修改密码进行验证。
5020703.png" border="0" style="margin-left:2px;margin-right:2px;vertical-align:text-bottom;" alt="%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_201" src="http://wiki.luojilab.com/download/attachments/7045239/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20170805020703.png?version=1&modificationDate=1501870047847&api=v2">
上面的策略只能实现基本的功能,但对于密码负责度的检测,自带的模块无法实现,我们只能额外安装其他模块,此处用到的模块是:关于更多类似模块,可查看:http://techadminblog.com/openldap-password-quality-check/
此模块必须进行编译安装
#安装java yuminstalljava-1.8.0-openjdk-devel #下载源代码 #下载ldap,地址为:ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.45.tgz #下载pqchecker:https://github.com/ameddeb/pqchecker/archive/master.zip #安装gcc编译器 yuminstallgcc* #安装pqchecker tar�Cxzf/usr/local/src/soft/openldap-2.4.44.tgz cd/usr/local/src/soft/openldap-2.4.44 ./configure&&makedepend cd/usr/local/src/soft/ tar-xzfpqchecker-master.zip cdpqchecker-master ./configureLDAPSRC=/usr/local/src/soft/openldap-2.4.44JAVAHOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-2.b16.el6_9.x86_64PARAMDIR=/etc/openldap/pqcheckerlibdir=/usr/lib64/openldap make makeinstall/etc/openldap/pqchecker chown�CRldap:ldap/etc/openldap/pqchecker |
上面已经指定策略配置文件为:/etc/openldap/pqchecker/pqparams.dat,默认的策略是,至少一个大写字母,一个小写字母,一个特殊字符,一个数字。
0|01010101
规则实例如上:| 号后面的为规则,前两位表示密码至少得有多少个大写字母,最多为99个,最少为0个,以此类推,每两位标识一种字符至少包含的数量,后面分别是小写字母,数字,特殊字符。更负责的规则此处不做介绍~
接下来就是开始默认密码策略对新策略的支持:
#vim3.ldif dn:cn=Captain,dc=com changetype:modify replace:pwdCheckQuality pwdCheckQuality:2 - add:objectclass objectclass:pwdPolicyChecker - add:pwdcheckmodule pwdcheckmodule:pqchecker.so #通过命令将上面的设置,生效 ldapadd-x-D"cn=admin,dc=com"-W-f2.ldif |
到此,所有的密码策略就配置完毕了。
原文链接:https://www.f2er.com/bash/391613.html