關於PAM
Linux-PAM (Pluggable Authentication Modules for Linux)可插拔認證模塊。
https://www.cnblogs.com/klb561/p/9236360.html
#vi /etc/pam.d/system-auth
增加auth required pam_tally2.so deny=6 onerr=fail no_magic_root unlock_time=120
pam_tally/pam_tally2模塊參數:
全局選項 onerr=[succeed|fail] file=/path/to/log 失敗登錄日志文件,默認為/var/log/tallylog audit 如果登錄的用戶沒有找到,則將用戶名信息記錄到系統日志中 silent 不打印相關的信息 no_log_info 不通過syslog記錄日志信息
AUTH選項 deny=n 失敗登錄次數超過n次后拒絕訪問 lock_time=n 失敗登錄后鎖定的時間(秒數) unlock_time=n 超出失敗登錄次數限制后,解鎖的時間 no_lock_time 不在日志文件/var/log/faillog 中記錄.fail_locktime字段 magic_root root用戶(uid=0)調用該模塊時,計數器不會遞增 even_deny_root root用戶失敗登錄次數超過deny=n次后拒絕訪問 root_unlock_time=n 與even_deny_root相對應的選項,如果配置該選項,則root用戶在登錄失敗次數超出限制后被鎖定指定時間 |
由於實際使用中用戶被鎖定很麻煩,影響ftp業務,需要設置自動解鎖時間,參數中有兩個選項與鎖定時間有關:
lock_time=n 失敗登錄后鎖定的時間(秒數)
unlock_time=n 超出失敗登錄次數限制后,解鎖的時間
不知道這倆參數有啥區別,百度到一個帖子:
lock_time參數是只要1次失敗就會鎖60秒,就算我用了deny = 3也是算1失敗就鎖了(測試時用pam_tally2指令看統計就會知道了,失敗幾次它還是呈現1次)
所以要unlock_time = 60搭配deny = 2
http://bbs.51cto.com/thread-1469884-1.html
另外,網上例子中沒有加magic_root選項,所以,最終加固配置為:
# vi /etc/pam.d/system-auth
auth required pam_tally2.so deny=6 onerr=fail unlock_time=1
參數說明:
deny = n代表拒絕存取,如果超過n次
lock_time = n代表1次失敗后就鎖n秒
unlock_time = n代表幾次失敗就鎖n秒,搭配deny = 2就是兩次失敗就鎖n秒
even_deny_root代表也限制root帳號
root_unlock_time = n這個跟unlcok_time一樣,只是這給給root帳號用,如果要區別一般帳號的話,就可以額外作這個限制
參考:
http://www.361way.com/pam-tally2/4277.html