背景:
方法:
一、操作前需備份要操作的三個(gè)配置文件
cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bakcp /etc/pam.d/sshd /etc/pam.d/sshd.bakcp /etc/pam.d/login /etc/pam.d/login.bak
二、確定使用pam_tally2.so模塊還是pam_tally.so模塊來實(shí)現(xiàn)
使用下面命令,查看系統(tǒng)是否含有pam_tally2.so模塊,如果沒有就需要使用pam_tally.so模塊,兩個(gè)模塊的使用方法不太一樣,需要區(qū)分開來。
# find / -name pam_tally2.so/usr/lib64/security/pam_tally2.so
三、su 多次切換失敗后鎖定用戶__登錄失敗處理功能策略
編輯系統(tǒng)/etc/pam.d/system-auth 文件,一定要在pam_env.so后面添加如下策略參數(shù):
#%PAM-1.0# This file is auto-generated.# User changes will be destroyed the next time authconfig is run.auth required pam_env.so#限制su 多次切換失敗后鎖定用戶auth required pam_tally2.so onerr=fail deny=3 unlock_time=40 even_deny_root root_unlock_time=40............................
注意:添加的位置順序不要錯(cuò),在#%PAM-1.0的下面,一定要在pam_env.so(auth required pam_env.so)后面onerr=fail 表示定義了當(dāng)出現(xiàn)錯(cuò)誤時(shí)的缺省返回值;even_deny_root 表示也限制root用戶;deny 表示設(shè)置普通用戶和root用戶連續(xù)錯(cuò)誤登陸的最大次數(shù),超過最大次數(shù),則鎖定該用戶;unlock_time 表示設(shè)定普通用戶鎖定后,多少時(shí)間后解鎖,單位是秒;root_unlock_time 表示設(shè)定root用戶鎖定后,多少時(shí)間后自動解鎖否則手動,單位是秒;
以上策略表示:普通賬戶和root的帳戶登錄連續(xù)3次失敗,普通用戶統(tǒng)一鎖定時(shí)間40秒,root用戶鎖定40秒,40秒后可以解鎖。
如果不想限制root帳戶,可以把even_deny_root root_unlock_time這兩個(gè)參數(shù)去掉,root_unlock_time表示root帳戶的鎖定時(shí)間,onerr=fail表示連續(xù)失敗,deny=3,表示超過3次登錄失敗即鎖定。
用戶鎖定期間,無論在輸入正確還是錯(cuò)誤的密碼,都將視為錯(cuò)誤密碼,并以最后一次登錄為鎖定起始時(shí)間,若果用戶解鎖后輸入密碼的第一次依然為錯(cuò)誤密碼,則再次重新鎖定。
su錯(cuò)誤示例:---------------------------------------------------[test1@localhost ~]$ su - root密碼:su: 鑒定故障[test1@localhost ~]$ su - root密碼:su: 鑒定故障[test1@localhost ~]$ su - root密碼:su: 鑒定故障[test1@localhost ~]$ su - root因?yàn)?4 失敗登錄而鎖定帳戶su用戶切換鎖定后查看:# pam_tally2 --user test2Login Failures Latest failure Fromtest2 4 06/06/20 02:14:21 pts/0
四、ssh遠(yuǎn)程連接登錄__登錄失敗處理功能策略
上面只是限制了從終端su登陸,如果想限制ssh遠(yuǎn)程的話,要改的是/etc/pam.d/sshd這個(gè)文件,添加的內(nèi)容跟上面一樣!
編輯系統(tǒng)/etc/pam.d/sshd文件,注意添加地點(diǎn)在#%PAM-1.0下一行,即第二行添加內(nèi)容
#%PAM-1.0auth required pam_tally2.so onerr=fail deny=3 unlock_time=600 even_deny_root root_unlock_time=600......................
ssh鎖定用戶后查看:
# pam_tally2 --user test1Login Failures Latest failure Fromtest1 6 06/06/20 02:18:46 192.168.2.2
五、限制用戶從tty登錄__登錄失敗處理功能策略
編輯系統(tǒng) /etc/pam.d/login 文件,注意添加地點(diǎn)在#%PAM-1.0的下面,即第二行,添加內(nèi)容
#%PAM-1.0auth required pam_tally2.so onerr=fail deny=5 unlock_time=600 even_deny_root root_unlock_time=600......................
tty登錄鎖定后查看:
# pam_tally2 --user root Login Failures Latest failure Fromroot 17 06/06/20 02:10:14 tty1
六、TELNET用戶限制
編輯 /etc/pam.d/remote文件,注意添加地點(diǎn)在pam_env.so后面,參數(shù)和ssh一致
auth required pam_tally2.so onerr=fail deny=5 unlock_time=600 even_deny_root root_unlock_time=600
七、查看用戶失敗次數(shù)
# pam_tally2 #查看所有用戶登錄失敗次數(shù)(有會顯示,沒有鎖定用戶無信息)# pam_tally2 --user root #查看指定登錄失敗的用戶次數(shù)
八、手動解鎖指定用戶
# pam_tally2 -r -u root #清除失敗登錄記錄,且后面可以輸入正確的賬戶密碼登錄