登入失敗後鎖定帳號
RedHat 8
NOTE:
- RH8 新增一個 faillock 設定檔在 /etc/security/faillock.conf。
如果在 system-auth 內有指定參數,會忽略 faillock.conf 相同參數的設定。 - unlock_time - 帳號鎖定後,經過多久時間會自動解鎖。
- deny - 密碼錯誤次數。
新增目錄 faillock (optional)
TIP: 如果不指定目錄,預設目錄是 /var/run/faillock。
mkdir /var/log/faillock
Edit /etc/pam.d/system-auth , /etc/pam.d/password-auth
# for auth
# faillock, add the below line BEFORE pam_unix.so
auth required pam_faillock.so preauth dir=/var/log/faillock silent audit deny=3 fail_interval=900 unlock_time=600
auth required pam_faillock.so authfail dir=/var/log/faillock unlock_time=600
#
auth sufficient pam_unix.so try_first_pass nullok
# faillock, add the below line AFTER pam_unix.so
auth [default=die] pam_faillock.so authfail deny=3 fail_interval=900 unlock_time=600
#
# for account
# faillock, add the below line BEFORE pam_unix.so
account required pam_faillock.so
#
account required pam_unix.so
RedHat 6
Edit /etc/pam.d/system-auth , /etc/pam.d/password-auth
# for auth
# add the below line BEFORE pam_unix.so
auth required pam_faillock.so preauth silent audit deny=3 unlock_time=600 # insert this
auth sufficient pam_unix.so nullok try_first_pass
# add the below line AFTER pam_unix.so
auth [default=die] pam_faillock.so authfail audit deny=3 unlock_time=600 # insert this
# for account
# add the below line BEFORE pam_unix.so
account required pam_faillock.so # insert this
account required pam_unix.so
預設不會套用在 root;如果需要限制 root,下面這一行加上 even_deny_root
:
auth required pam_faillock.so preauth silent audit deny=3 even_deny_root unlock_time=1200 root_unlock_time=600
如果要排除特定 user,在第一個 pam_faillock.so
之前加上這行:
auth [success=1 default=ignore] pam_succeed_if.so user in user1:user2:user3
如何手動解鎖與檢查被鎖定的帳戶
# display the authentication failure for all users
faillock
# display the authentication failure for the specified user
faillock --user mytest
# unlock the user
faillock --user mytest --reset
Tip:
要確認設定是否有作用,可以監看 log 檔 /var/log/secure,登入錯誤次數達到設定值時,應該要出現下面的訊息。
Mar 8 15:26:08 centos7 sshd[26995]: pam_faillock(sshd:auth): Consecutive login failures for user i04181 account temporarily locked
VSFTPD
如果 vsftpd 使用系統帳號做認證時,也適用帳號鎖定的規則。
參考教學
- [RH] What is pam_faillock and how to use it in Red Hat Enterprise Linux?
- [RH] Lock account after 3 failed attempts.
- Linux 封鎖、解鎖登入失敗次數過多的帳號 pam_faillock 教學與範例
No Comments