限制SSH登錄失敗次數

第一步:限制用戶從tty登錄
編譯PAM的配置文件:
vim /etc/pam.d/login
在第一行(最前面)添加如下內容:
auth required pam_tally2.so deny=3 lock_time=300 even_deny_root root_unlock_time=10
**各參數解釋:**
even_deny_root 也限制root用戶;
deny 設置普通用戶和root用戶連續錯誤登陸的最大次數,超過最大次數,則鎖定該用戶
unlock_time 設定普通用戶鎖定后,多少時間后解鎖,單位是秒;
root_unlock_time 設定root用戶鎖定后,多少時間后解鎖,單位是秒;
此處使用的是 pam_tally2 模塊,如果不支持 pam_tally2 可以使用 pam_tally模塊。另外,不同的pam版本,設置可能有所不同,具體使用方法,可以參照相關模塊的使用規則。
第二步:限制遠程(SSH)登錄
上面只是限制了用戶從tty登錄,而沒有限制遠程登錄,如果想限制遠程登錄,需要改SSHD文件
vim /etc/pam.d/sshd
在第一行(最前面)添加如下內容:
auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=10
查看用戶登錄失敗的次數
[root@node100 pam.d]# pam_tally2 --user redhat
Login Failures Latest failure From
redhat 7 07/16/12 15:18:22 tty1
解鎖指定用戶
[root@node100 pam.d]# pam_tally2 -r -u redhat
Login Failures Latest failure From
redhat 7 07/16/12 15:18:22 tty1
第三步:設置重復驗證次數,默認6次
編輯SSH配置文件
vim /etc/ssh/sshd_config
在ssh配置文件中查找#MaxAuthTries修改為:
MaxAuthTries 3 #錯誤3次即斷開連接