Linux登錄失敗處理功能

隨筆- 4  文章- 0  評論- 0 

Linux登錄失敗處理功能

本文要實現的功能:如果有人惡意嘗試破解你的服務器密碼,那麼這個功能就能幫你起到一定的作用,當嘗試密碼錯誤超過設定的次數後,就會鎖定該賬戶多長時間(自行設定),時間過後即可自行解鎖,這樣可以增加攻擊者的成本。

   服務器系統:centos6.5(centos其他版本應該也是可以的,請自行測試)

 

1.備份要操作的兩個配置文件

cp /etc/pam.d/sshd /etc/pam.d/sshd.bak
cp /etc/pam.d/login /etc/pam.d/login.bak

 

2.檢查是否有pam_tally2.so模塊

[root@iZ25dd99ylmZ security]# find /lib* -iname "pam_tally2.so"
/lib64/security/pam_tally2.so
[root@iZ25dd99ylmZ security]# find /lib* -iname "pam_tally.so"
[root@iZ25dd99ylmZ security]# cat /etc/pam.d/sshd

3.登錄失敗處理功能策略(服務器終端)

編輯系統/etc/pam.d/system-auth 文件,在 auth 字段所在的那一部分策 略下面添加如下策略參數:

auth required pam_tally2.so  onerr=fail  deny=3  unlock_time=40 even_deny_root root_unlock_time=30

注意添加的位置,要寫在第一行,即#%PAM-1.0的下面。
以上策略表示:普通帳戶和 root 的帳戶登錄連續 3 次失敗,就統一鎖定 40 秒, 40 秒後可以解鎖。如果不想限制 root 帳戶,可以把  even_deny_root root_unlock_time

這兩個參數去掉, root_unlock_time 表示 root 帳戶的 鎖定時間,onerr=fail 表示連續失敗,deny=3,表示 超過3 次登錄失敗即鎖定。

注意:

用戶鎖定期間,無論在輸入正確還是錯誤的密碼,都將視爲錯誤密碼,並以最後一次登錄爲鎖定起始時間,若果用戶解鎖後輸入密碼的第一次依然爲錯誤密碼,則再次重新鎖定。

 

 查看日誌 tail -f /var/log/secure 可以看出下面的提示

 

4.登錄失敗處理功能策略(ssh遠程連接登錄)

上面只是限制了從終端登陸,如果想限制ssh遠程的話, 要改的是
/etc/pam.d/sshd這個文件,添加的內容跟上面一樣!

 如果在操作中間出現下面這個錯誤:

Dec  7 15:06:51 iZ2zee7gmy40tbverl53rfZ sshd[15747]: PAM unable to dlopen(/lib64/security/pam_tally.so): /lib64/security/pam_tally.so: cannot open shared object file: No such file or directory
Dec  7 15:06:51 iZ2zee7gmy40tbverl53rfZ sshd[15747]: PAM adding faulty module: /lib64/security/pam_tally.so

上面的錯誤意思是在/lib64/security/ 下面找不到pam_tally.so,而我進入到目錄下,確實沒找到這個文件,解決方法是將現有的 pam_tally2.so做個軟連接到pam_tally.so

[root@iZ2zee7gmy40tbverl53rfZ ~]# cd /lib64/security/
[root@iZ2zee7gmy40tbverl53rfZ ~]#ln -s pam_tally2.so pam_tally.so

5.測試
可以故意輸錯密碼超過三次,然後第五次輸入正確密碼,如果正確密碼進入不了系統,說明配置生效。以上的配置是即時生效的,不用重啓配置文件或系統,但是請注意多開個ssh
窗口,防止配置文件更改錯誤,將自己關在服務器外面。


6.解鎖賬戶
如果密碼在鎖定時間內,但是又要立即進入系統,可使用下面方法解鎖被鎖定用戶,當然這是對於root用戶解鎖普通用戶來說的。如果root用戶被鎖,請等待鎖定期過後在操作。

 

查看用戶失敗次數

[root@localhost ~]# pam_tally2          --------------------查看所有用戶登錄失敗次數

[root@localhost ~]# pam_tally2 --user root      ------------指定查看登錄失敗的用戶次數

解鎖指定用戶

[root@iZ25dsfp6c3dZ ~]# pam_tally2 -r -u albert  

複製代碼
複製代碼
[root@iZ2zee7gmy40tbverl5Z ~]# pam_tally2 --user root
Login           Failures Latest failure     From
root                5    12/07/17 17:05:54  49.4.151.18
[root@iZ2zee7gmy40tbverl5Z ~]# pam_tally2 -r -u root
Login           Failures Latest failure     From
root                5    12/07/17 17:05:54  49.4.151.18
[root@iZ2zee7gmy40tbverlfZ ~]# pam_tally2 -r -u root    ###解鎖之後隨即失敗次數歸零,此時即可登錄系統
Login           Failures Latest failure     From
root                0    
[root@iZ2zee7gmy40tbverlfZ ~]# 
複製代碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章