openldap加入复杂的密码策略

前端之家收集整理的这篇文章主要介绍了openldap加入复杂的密码策略前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本次加入的密码策略,大致上有以下内容

  • 密码是长度至少为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

猜你在找的Bash相关文章