Redhat

在 RHEL6 中使用 pam_tally2 鎖定帳戶

  • January 30, 2015

在每個策略 3 次登錄失敗後,我正在使用pam_tally2鎖定帳戶,但是,連接使用者沒有收到指示 pam_tally2 操作的錯誤。(通過 SSH。)

我希望在第四次嘗試時看到:

Account locked due to 3 failed logins

必需必需的組合或文件中的順序似乎沒有幫助。這是在Red Hat 6下,我正在使用/etc/pam.d/password-auth. 鎖定*確實按預期工作,*但使用者沒有收到上述錯誤。這會導致很多混亂和沮喪,因為當他們確定使用正確的密碼時,他們無法知道身份驗證失敗的原因。

實施遵循 NSA 的紅帽企業 Linux 5 安全配置指南。(pg.45) 據我了解,PAM 中唯一改變的是 /etc/pam.d/sshd 現在包含 /etc/pam.d/password-auth 而不是 system-auth

如果您的安全策略要求在多次錯誤登錄嘗試後鎖定帳戶,請實施使用 pam_tally2.so。

要強制密碼鎖定,請將以下內容添加到 /etc/pam.d/system-auth。首先,添加到 auth 行的頂部:

auth required pam_tally2.so deny=5 onerr=fail unlock_time=900

其次,添加到帳戶行的頂部:

account required pam_tally2.so

編輯:

我在一次登錄嘗試期間通過重置 pam_tally2 收到錯誤消息。

user@localhost's password: (bad password)
Permission denied, please try again.
user@localhost's password: (bad password)
Permission denied, please try again.

(從另一個 shell 重置 pam_tally2)

user@localhost's password: (good password)
Account locked due to ...
Account locked due to ...
Last login: ...
[user@localhost ~]$

你還需要ChallengeResponseAuthentication yes/etc/ssh/sshd_config.

要顯示錯誤,pam需要一個對話功能。

此選項告訴 ssh 提供更完整的 PAM 對話功能,其中包括提供輸出和要求任意輸入(而不是僅僅由 傳遞密碼sshd)。

**編輯:**您需要PasswordAuthentication no確保密碼輸入始終通過此 PAM 對話。

不幸的是,你所追求的東西不可用。OpenSSH 將只允許或拒絕身份驗證。它不會讓攻擊者或笨拙的使用者知道任何進一步的資訊,這是標準行為。PAM 不知道 OpenSSH 的網路通信或它使用的任何其他特定於應用程序的行為它只是一堆用於身​​份驗證的模組。

除此之外,pam_tally2 不提供任何類型的使用者定義的錯誤消息指令,因此您只能依賴系統日誌中的內容。

您可以研究的一種方法是修改 OpenSSH 程式碼庫(不太難),但這超出了這個問題的範圍。

引用自:https://serverfault.com/questions/447230