2024年8月8日 星期四

Linux 密碼相關 PAM及設定

PAM 相關模組
pam_pwquality 密碼品質檢查
pam_faillock 封鎖、解鎖登入失敗帳號
pam_pwhistory 密碼歷史記錄

相關檔案
/etc/login.defs 設定密碼使用期限

Debian 12 pam_faillock.so 設定

 編輯 /etc/pam.d/common-auth
# faillock
auth    requisite                       pam_faillock.so preauth
auth    [success=1 default=ignore]      pam_unix.so nullok
# faillock
auth    [default=die]                   pam_faillock.so authfail
auth    sufficient                      pam_faillock.so authsucc
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so
auth    optional                        pam_cap.so

編輯 /etc/pam.d/common-account
account [success=1 new_authtok_reqd=done default=ignore]        pam_unix.so
account requisite                       pam_deny.so
account required                        pam_permit.so
# faillock
account required      pam_faillock.so

編輯 /etc/security/faillock.conf
# 登入失敗記錄儲存位置
dir = /var/run/faillock

# 記錄不存在帳號
audit

# 不輸出訊息
silent

# syslog 不記錄
no_log_info

# 只追蹤本機使用者
local_users_only

# 若 180 秒內連續 5 次登入失敗,則封鎖帳號
deny = 5
fail_interval = 180

# 帳號封鎖後,900 秒才開放
unlock_time = 900

#  root 納入監控對象
even_deny_root

# root 封鎖後, 900 秒才開放
root_unlock_time = 900

# 管理者群組(成員視同 root 帳號)
admin_group = adm

相關指令-查詢認證失敗的記錄
faillock
faillock --user user --reset