本次测试以阿里云上的ecs系统centos为例,使用远程连接管理。
1,查看密码复杂度是否符合8位以上,包含大小写特殊字符数字。
查看指令 grep password /etc/pam.d/system-auth
- 在没有配置默认情况
- 按着等级保护2.0要求配置密码复杂度
- 验证密码复杂度是否生效
- pam_pwquality.so
- 可以用来检密码强度!,包括密码是否在字典中,密码输入几次都失败就断掉此次联机等功能,都是这模块提供的!用的是 pam_cracklib.so 这个模块,后来改成 pam pwquality.so 这个模块,但此模块完全兼容于 pam cracklib.so最早之前其实使同时提供了 /etc/security/pwquality.conf这个文件可以额外指定默认值!比较容易处理修改!
- 这里再说一下enforce for_root: 如果用户更改密码是root,则模块将在失败检査时返回错误。默认情况下,此选顶处于关闭状态只打印有关失败检查的消息,但root仍可以更改密码。不要求root用户输入旧密码,因此不会执行比较旧密码和新密码的检查。其他的就不叙述了。
2,查看登录失败处理功能(几次锁定多久)
查看指令:grep pam_tally2.so /etc/pam.d/sshd
在没有配置的情况/etc/pam.d/sshd文件中不存在pam_tally2.so模块,在配置是可以先输入pam按tab健查看系统中是否存在pam_tally2,so模块,确认有的情况下在/etc/pam.d/sshd文件第一行添加所查出来的内容( auth required pam_tally2.so deny=5 unlock_time=300 even_deny_root root_unlock_time=300 )。
配置好后重启sshd服务,systemctl restart sshd
验证:故意输错五次密码,如何输入正确密码看能否登录,如不能登录五分钟后再输入正确密码看是否生效。
3,查超时自动退出(账号登录了无操作多久之后要重新登录)
查看指令 grep TMOUT /etc/profile
- 没有配置超时自动退出策略在/etc/profile文件中找不到TMOUT
- 在/etc/profile文件最后一行添加
TMOUT=900
export TMOUT
我这里设置了10s后无操作自动退出,方便检测是否生效。
4,密码定期更换
查看指令: grep PASS /etc/login.defs (查看的结果对root账号不起作用)
chage -l root (查看root的密码定期更换)
chage -M (参数) root (修改密码保持的最大天数)
chage -W(参数)root (修改密码过期还有多少天开始报警)