服务器配置密码复杂度策略


服务器配置密码复杂度策略

用户密码复杂度规则设定,需要通过/etc/pam.d/system-auth文件实施(针对的是普通用户状态下修改密码会生效,root用户状态下无效),centos6中默认是通过pam_cracklib.so模块控制,(在CentOS7上实现密码复杂度策略设置,主要是使用PAMpwquality模块完成):

在/etc/pam.d/system-auth里找到同时有“password”和“pam_unix.so”字段并且附加有“remember=5”的那行,它表示禁止使用最近用过的5个密码(己使用过的密码会被保存在/etc/security/opasswd下面)。

找到同时有“password”和“pam_cracklib.so”字段并且附加有“minlen=10”的那行,它表示最小密码长度为(10-类型数量)。这里的“类型数量”表示不同的字符类型数量。PAM提供4种类型符号作为密码(大写字母、小写字母、数字和标点符号)。如果你的密码同时用上了这4种类型的符号,并且你的minlen设为10,那么最短的密码长度允许是6个字符。

找到同时有“password”和“pam_cracklib.so”字段并且附加有“ucredit=-1lcredit=-2dcredit=-1ocredit=-1”的那行,它表示密码必须至少包含一个大写字母(ucredit),两个小写字母(lcredit),一个数字(dcredit)和一个标点符号(ocredit)。

enforce_for_root确保即使是root用户设置密码,也应强制执行复杂性策略。

可以修改密码可以通过login.defs文件控制。设置密码过期期限(默认情况下,用户的密码永不过期。)编辑/etc/login.defs文件,可以设置当前密码的有效期限,具体变量如下所示:

以上将PASS_MAX_DAYS99999设置为PASS_MAX_DAYS90(密码有效期90天)

编辑系统/etc/pam.d/system-auth文件,在auth字段所在的那一部分添加如下pam_tally2.so模块的策略参数:

注:用户锁定期间,无论在输入正确还是错误的密码,都将视为错误密码,并以最后一次登录为锁定起始时间,若果用户解锁后输入密码的第一次依然为错误密码,则再次重新锁定。

编辑系统/etc/pam.d/sshd文件,添加的内容与服务器终端的一致,在auth字段所在的那一部分添加如下pam_tally2.so模块的策略参数:

用于显示历史记录和执行过的指令命令。history命令读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令。例如,要执行第2个历史命令,则输入!
2。

history命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量HISTSIZE进行控制。默认是不显示命令的执行时间,命令的执行时间,history已经记录,只是没有显示。

想查询某个用户在系统上执行了什么命令,可以使用root用户身份登录系统,检查Home目录下的用户主目录下的“.bash_history”文件,该文件记录了用户所使用的命令和历史信息。