等保测评之服务器未配置登录失败锁定策略及登录连接超时自动退出策略
真是一事未完又来一事哈,昨天收到的等保测评出现了好多的问题,这里将部分问题做一下记录
看看问题
问题如下
测试服务器
主要是测试服务器是不是存在这种问题,经过测试问题存在,测试过程这里省略了
问题描述
恶意人员可通过暴力破解的方式获取账户口令。且设备易被非授权人员恶意操作,存在非授权访问的风险。
问题解决
一下文件配置完成后不需要重启服务器的哈,直接生效,还有就是在操作时,建议保持一个ssh远程连接到服务器,方便出现错误及时的回滚操作备份主要涉及的两个重要文件
[root@localhost ~]# cp /etc/pam.d/sshd /etc/pam.d/sshd.bak #这个是ssh的配置文件[root@localhost ~]# cp /etc/pam.d/login /etc/pam.d/login.bak[root@localhost ~]# ll /etc/pam.d/sshd.bak /etc/pam.d/login.bak ##这个文件里面记录了所有关于登录的配置文件记录-rw-r--r--. 1 root root 796 10月 13 10:01 /etc/pam.d/login.bak-rw-r--r--. 1 root root 904 10月 13 10:00 /etc/pam.d/sshd.bak
检查是否存在的重要pam模块.so文件
[root@localhost ~]# find /* -name "*pam_tally2.so*"/usr/lib64/security/pam_tally2.so
配置登录失败处理功能策略(服务器终端)
[root@localhost ~]# cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak[root@localhost ~]# vim /etc/pam.d/system-auth[root@localhost ~]# cat /etc/pam.d/system-auth#%PAM-1.0# This file is auto-generated.# User changes will be destroyed the next time authconfig is run.auth requiredpam_env.soauth requiredpam_faildelay.so delay=2000000auth sufficient pam_unix.so nullok try_first_passauth requisitepam_succeed_if.so uid >= 1000 quiet_successauth requiredpam_deny.soauth required pam_tally2.so onerr=fail deny=3 unlock_time=40 even_deny_root root_unlock_time=30 ###需要添加的这一行accountrequiredpam_unix.soaccountsufficient pam_localuser.soaccountsufficient pam_succeed_if.so uid < 1000 quietaccountrequiredpam_permit.sopassword requisitepam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtokpassword requiredpam_deny.sosessionoptionalpam_keyinit.so revokesessionrequiredpam_limits.so-sessionoptionalpam_systemd.sosession[success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uidsessionrequiredpam_unix.so
deny 指定最大几次认证错误,如果超出此错误,将执行后面的策略。如锁定N秒,如果后面没有其他策略指定时,默认永远锁定,除非手动解锁。lock_time 锁定多长时间,按秒为单位;unlock_time 指定认证被锁后,多长时间自动解锁用户;magic_root 如果用户uid=0(即root账户或相当于root的帐户)在帐户认证时调用该模块发现失败时,不计入统计;no_lock_time 不使用.fail_locktime项在/var/log/faillog 中记录用户 ---按英文直译不太明白,个人理解即不进行用户锁定;even_deny_root root用户在认证出错时,一样被锁定(该功能慎用,搞不好就要单用户时解锁了)root_unlock_time root用户在失败时,锁定多长时间。该选项一般是配合even_deny_root 一起使用的。
终端测试效果如下:
查看安全日志验证:
[root@localhost ~]# tail -100 /var/log/secure | grep "max"Oct 13 10:19:17 localhost sshd[2242]: PAM service(sshd) ignoring max retries; 5 > 3
配置登录失败处理功能策略(ssh远程连接登录)
[root@localhost ~]# vim /etc/pam.d/sshd[root@localhost ~]# cat /etc/pam.d/sshd#%PAM-1.0auth requiredpam_sepermit.soauth substackpassword-authauth includepostloginauth required pam_tally2.so onerr=fail deny=3 unlock_time=40 even_deny_root root_unlock_time=30 ##添加部分# Used with polkit to reauthorize users in remote sessions-authoptionalpam_reauthorize.so prepareaccount requiredpam_nologin.soaccount includepassword-authpassword includepassword-auth# pam_selinux.so close should be the first session rulesession requiredpam_selinux.so closesession requiredpam_loginuid.so# pam_selinux.so open should only be followed by sessions to be executed in the user contextsession requiredpam_selinux.so open env_paramssession requiredpam_namespace.sosession optionalpam_keyinit.so force revokesession includepassword-authsession includepostlogin# Used with polkit to reauthorize users in remote sessions-session optionalpam_reauthorize.so prepare
ssh远程测试效果:
经过测试连续登录3此输入错误的密码后,第四次或之后的40秒内,那怕输入正确的密码,也不会正常的登录
查看安全日志验证:
其他的辅助命令
[root@localhost ~]# pam_tally2 --user root ###其中root为用户,这个是查看当前root用户登录失败了多少次Login Failures Latest failureFromroot4 10/13/21 10:43:06 192.168.211.1[root@localhost ~]# pam_tally2 -r -u root ##解锁root用户Login Failures Latest failureFromroot8 10/13/21 10:44:54 tty1[root@localhost ~]# pam_tally2 --user root #再次查看root用户的饿登录失败次数,此时为0Login Failures Latest failureFromroot0