RockyLinux9 By SystemArch_Alex

Rocky Linux 9 基礎教學 (29):PAM 身份驗證模組深入理解與配置

系統安全的看門狗:PAM 架構

PAM (Pluggable Authentication Modules) 是 Linux 系統中處理身份驗證的核心框架。無論你透過 SSH 登入、使用 sudo 提升權限,還是修改密碼,背後都是由 PAM 在控制。理解 PAM,能讓你自定義極其嚴格的安全策略,例如限制登入次數或強制密碼複雜度。

1. PAM 配置文件結構

在 Rocky Linux 9 中,所有的 PAM 配置文件都位於 /etc/pam.d/。每個檔案通常包含四種類型的模組調用:

  • auth:驗證使用者身份(如詢問密碼)。
  • account:檢查帳號有效性(如是否過期、登入時間限制)。
  • password:處理密碼變更(如複雜度檢查)。
  • session:處理登入前後的環境設定(如掛載目錄、日誌記錄)。
2. 實戰:強制執行密碼複雜度

編輯 /etc/pam.d/system-auth/etc/security/pwquality.conf。例如,要求密碼至少 12 字元,且包含大小寫與數字:

minlen = 12
dcredit = -1
ucredit = -1
lcredit = -1
ocredit = -1
3. 實戰:防止暴力破解 (pam_faillock)

Rocky Linux 9 使用 pam_faillock 模組來鎖定多次嘗試登入失敗的帳號。編輯 /etc/security/faillock.conf

deny = 5
unlock_time = 900

這代表連續失敗 5 次後,帳號將被鎖定 15 分鐘。

4. 查看與解鎖帳號

若使用者不小心被鎖定,管理員可以進行查詢與手動解鎖:

# 查看失敗紀錄
sudo faillock --user hank

# 手動解鎖
sudo faillock --user hank --reset
5. 維運建議:謹慎修改 PAM

PAM 的配置極其敏感,一個語法錯誤可能導致所有使用者(包括 Root)都無法登入系統。建議在修改前,始終保持一個已登入且具備 Root 權限的 SSH 視窗不要關閉,以便在出錯時立即還原配置。透過 PAM 的精細控制,你可以將 Rocky Linux 9 的安全性提升到金融等級的標準。