限定linux上的root密码强度本身就是一个伪命题。root用户可以直接操作/etc/shadow 修改密码。之所以要这么搞主要还是为了稍微提高一下系统的安全性,毕竟不是人人都知道shadow的改法。
windows也类似,可以通过修改注册表的方式修改密码,但是windows的安全策略依然有密码强度的选项。
之所以选择passwdqc,是因为网上找了一下,发现绝大多数的linux密码强度策略限制都只针对非root用户,而passwdqc可以限定到root用户。
passwdqc的主页如下:
http://www.openwall.com/passwdqc/
配置文件的规则说明如下:
http://www.openwall.com/passwdqc/README.shtml
简单找一个我的规则解释一下:
(注:ubuntu的配置文件在/etc/pam.d/common-password redhat和centos的配置文件在/etc/pam.d/sys-auth)
我的规则是这样的:
password required pam_passwdqc.so min=disabled,disabled,12,8,8 max=30 passphrase=3 match=4 similar=deny enforce=everyone disable_firstupper_lastdigit_check
规则解释如下:
1)只包含一种字符的密码,拒绝(大小写,数字,特殊字符分别为4种字符)
2)只包含两种字符的密码,拒绝
3)如果密码中被识别出了常用的单词,那么最小长度就必须为12位。常用单词的最小识别长度为3.(由passphrase=3制定)
4)包含三种字符的密码,最小长度为8位
5) 包含四种字符的密码,最小长度为8位
6)如果发现本次修改的密码跟老密码有4个substring的长度类似,就认为是弱密码。(match=4 similar=deny)
7) 这个策略对所有用户都生效。(enforce=everyone )
8)默认情况下,对于输入的密码,如果第一个字母是大写字母,或者最后一个字母为数字,则不会计入密码字符的种类。比如:Fuck1234,由于第一个F是大写字母,所以会被认为,该密码只有小写字母和数字两种字符。这个非常奇怪,我也不知道原因是什么。我们用disable_firstupper_lastdigit_check 禁止了这种识别。
需要注意的是disable_firstupper_lastdigit_check并不是官方的一个功能,官方的版本发布到1.0.5就结束了,这个功能是在1.0.5-4发布的,是redhat的一个开发人员提交的。
如下图:
fedora中有一个srpms:ftp://mirrors1.kernel.org/fedora-secondary/releases/15/Everything/source/SRPMS/pam_passwdqc-1.0.5-7.fc15.src.rpm
这个是1.0.5-7版本。
我这边附件提供了一个由此patch出来的pam_passwdqc.so文件。大家需要的可以下载。
有了这样的配置,我们就可以放心修改密码了,如果不符合上述规范,会提示出来的。
- 大小: 64.3 KB
- 大小: 64.6 KB
分享到:
相关推荐
linux操作系统PAM模块实例,linux操作系统PAM模块实例。
该文档适用于,对linux 有一定了解,从事或者正要从事linux pam模块开发的同学
ubuntu的samba可是使windows直接通过文件夹的形式访问ubuntu内的文件,方便快捷,并且通过使用PAM同步samba与系统用户密码后,用户可以直接使用ubuntu的账号访问samba,从而减少管理samba单独的账号密码。
如何设置linux密码策略,以提高linux身份鉴别的安全性
Linux-Pam-1.3.0.tar.gz is a package for installing PAM.
用Linux-PAM模块实现用户登陆的控制.pdf
PAM-Linux实现安全登录,Linux——PAM-的应用开发和内部实现源码分析,介绍了如何利用PAM模块编程进行对Linux操作系统安全访问。 并附有论文,包含原理分析,实现步骤,实验结果
linux下可插入验证模块更改用户权限和目录权限的代码,很有参考价值!
对于linux pam.d文件的详细说明 ,是第一步的学习。 pam.d文件是一个Linux中相当的重要的权限控制方面。
Linux——PAM-的应用开发和内部实现源码分析,介绍了如何利用PAM模块编程进行对Linux操作系统安全访问。
一种基于Linux-PAM模块的身份验证方法.pdf
Linux用户认证方法及PAM介绍.pdf 学习资料 复习资料 教学资源
linux pam源码
利用PAM增强Linux登录认证安全性.pdf
linux环境下pam安全模块 相关的视频 pam 1/5 http://www.boobooke.com/bbs/thread-67642-1-1.html pam 2/5 http://www.boobooke.com/bbs/thread-67655-1-1.html pam 3/5 ...
Linux-PAM(用于Linux的PAM(可插式认证模块))可以被看作是一组共享库,而通过Linux-PAM,系统管理员可以自由选择应用程序使用的认证机制。文中分析了Linux-PAM机制的工作原理,介绍了PAM的服务模块和配置文件,并阐述...
该模块支持普通用户更改密码,而root用户无需知道旧密码即可更改密码。 该模块没有自己的配置选项,但是接受那些修改pam_get_authtok (3)行为的选项。 在指定PAM_MODULE_DIR同时进行PAM_MODULE_DIR 。 在password...
pam常用模块命令及编辑方法 pam的编辑格式 pam的基础讲解及常用的pam模块介绍
PAM Fido2模块(pre-alpha) 该PAM模块为Linux系统提供安全的用户名和无密码登录名。 通过向任何兼容的FIDO2设备发送FIDO2声明请求,并针对每个用户针对一组已注册的公共密钥验证结果声明,来执行用户认证。 重要的...