Security
為什麼輸入錯誤密碼後延遲很大?
我注意到關於密碼的一個奇怪的事情(好吧,據我說)。例如,如果我在登錄時輸入了錯誤的密碼,系統會延遲幾秒鐘才告訴我。當我嘗試
sudo
使用錯誤的密碼時,我還必須在 shell 顯示“抱歉,再試一次”之前等待。我想知道為什麼“辨識”不正確的密碼需要這麼長時間?這已經在我使用的幾個發行版(甚至 OSX)上看到過,所以我認為這不是特定於發行版的東西。
這是一個安全的事情,實際上並不需要很長時間才能意識到它。這解決了2個漏洞:
- 這會限制登錄嘗試,這意味著有人無法以盡可能快的速度來破解系統(每秒嘗試 100 萬次?我不知道)。
- 如果它在驗證您的憑據不正確後立即執行此操作,您可以使用它使您的憑據無效所花費的時間來幫助猜測您的部分憑據是否正確,從而大大減少猜測時間。
為了防止這兩件事系統只需要一定的時間來完成,我認為您可以使用 PAM 配置等待時間(請參閱 Michael 的回答)。
安全工程(第 3 版,Amazon |第 2 版,免費)對這些問題給出了更好的解釋。參見第 2 章 (PDF) — 特別是 §2.4 和 §2.5.3.3。