萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 透過 PAM 模組限制使用者登入失敗次數完整設定

透過 PAM (Pluggable Authentication Modules) 的 pam_tally2.so 模組,可限制使用者連續登入失敗次數,超過閾值自動鎖定帳號,有效防禦暴力破解攻擊。本文詳細說明 /etc/pam.d/login (本地登入) 與 /etc/pam.d/sshd (SSH 遠端登入) 的完整配置。

核心模組參數說明

參數說明
deny=N連續失敗 N 次鎖定帳號(含 root)
lock_time=S一般使用者鎖定 S 秒後自動解鎖
unlock_time=S同 lock_time,較新版本參數名
root_unlock_time=Sroot 使用者鎖定 S 秒後自動解鎖
even_deny_root同樣限制 root 使用者(預設不限制 root)
per_user依 /etc/security/faillock.conf 個別設定

配置本地登入 (/etc/pam.d/login)

#%PAM-1.0
auth required pam_tally2.so deny=3 lock_time=300 even_deny_root root_unlock_time=10
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
session required pam_selinux.so close
session optional pam_keyinit.so force revoke
session required pam_loginuid.so
session include system-auth
session optional pam_console.so
session required pam_selinux.so open

關鍵點:pam_tally2.so 行必須放在第二行(#%PAM-1.0 之後),若放在 pam_securetty.so 之後,使用者輸入正確密碼仍可登入,鎖定機制失效。

配置 SSH 遠端登入 (/etc/pam.d/sshd)

#%PAM-1.0
auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=10
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
session optional pam_keyinit.so force revoke
session include system-auth
session required pam_loginuid.so

同樣放在第二行,確保 SSH 暴力破解同樣受保護。

管理指令

指令用途
pam_tally2 --user username查看指定使用者失敗次數與最後失敗時間
pam_tally2查看所有使用者失敗記錄
pam_tally2 -r -u username手動解鎖指定使用者(歸零計數器)
pam_tally2 -r解鎖所有使用者

實際輸出範例

[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 0 07/16/12 15:18:22 tty1

圖示說明

PAM 登入失敗鎖定效果示意圖

注意事項

  • 舊版系統可能無 pam_tally2.so,改用 pam_tally.so(參數略有不同)。
  • 不同發行版 PAM 版本參數可能差異,請參考 man pam_tally2。
  • 鎖定僅影響密碼認證,SSH 金鑰認證、sudo 等不受影響。
  • 建議搭配 fail2ban 從網路層面封鎖惡意 IP。
copyright © 萬盛學電腦網 all rights reserved