等保測評之伺服器未配置登入失敗鎖定政策及登入連接配接逾時自動退出政策
真是一事未完又來一事哈,昨天收到的等保測評出現了好多的問題,這裡将部分問題做一下記錄
看看問題
問題如下

測試伺服器
主要是測試伺服器是不是存在這種問題,經過測試問題存在,測試過程這裡省略了
問題描述
惡意人員可通過暴力破解的方式擷取賬戶密碼。且裝置易被非授權人員惡意操作,存在非授權通路的風險。
問題解決
- 一下檔案配置完成後不需要重新開機伺服器的哈,直接生效,還有就是在操作時,建議保持一個ssh遠端連接配接到伺服器,友善出現錯誤及時的復原操作
備份主要涉及的兩個重要檔案
[[email protected] ~]# cp /etc/pam.d/sshd /etc/pam.d/sshd.bak #這個是ssh的配置檔案
[[email protected] ~]# cp /etc/pam.d/login /etc/pam.d/login.bak
[[email protected] ~]# 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檔案
[[email protected] ~]# find /* -name "*pam_tally2.so*"
/usr/lib64/security/pam_tally2.so
配置登入失敗處理功能政策(伺服器終端)
[[email protected] ~]# cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak
[[email protected] ~]# vim /etc/pam.d/system-auth
[[email protected] ~]# 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 required pam_env.so
auth required pam_faildelay.so delay=2000000
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth required pam_deny.so
auth required pam_tally2.so onerr=fail deny=3 unlock_time=40 even_deny_root root_unlock_time=30 ###需要添加的這一行
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 1000 quiet
account required pam_permit.so
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_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 一起使用的。
終端測試效果如下:
檢視安全日志驗證:
[[email protected] ~]# tail -100 /var/log/secure | grep "max"
Oct 13 10:19:17 localhost sshd[2242]: PAM service(sshd) ignoring max retries; 5 > 3
配置登入失敗處理功能政策(ssh遠端連接配接登入)
[[email protected] ~]# vim /etc/pam.d/sshd
[[email protected] ~]# cat /etc/pam.d/sshd
#%PAM-1.0
auth required pam_sepermit.so
auth substack password-auth
auth include postlogin
auth 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
-auth optional pam_reauthorize.so prepare
account required pam_nologin.so
account include password-auth
password include password-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open env_params
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include password-auth
session include postlogin
# Used with polkit to reauthorize users in remote sessions
-session optional pam_reauthorize.so prepare
ssh遠端測試效果:
經過測試連續登入3此輸入錯誤的密碼後,第四次或之後的40秒内,那怕輸入正确的密碼,也不會正常的登入
檢視安全日志驗證:
其他的輔助指令
[[email protected] ~]# pam_tally2 --user root ###其中root為使用者,這個是檢視目前root使用者登入失敗了多少次
Login Failures Latest failure From
root 4 10/13/21 10:43:06 192.168.211.1
[[email protected] ~]# pam_tally2 -r -u root ##解鎖root使用者
Login Failures Latest failure From
root 8 10/13/21 10:44:54 tty1
[[email protected] ~]# pam_tally2 --user root #再次檢視root使用者的餓登入失敗次數,此時為0
Login Failures Latest failure From
root 0