是否有向非數學家證明密碼安全性的標準方法?
我的客戶端有一個伺服器正受到來自殭屍網路的暴力登錄嘗試。由於伺服器和客戶端客戶端的變幻莫測,我們無法輕易阻止通過防火牆、埠更改或登錄帳戶名稱更改的嘗試。
已決定讓它受到攻擊,但要找到一種方法來保證密碼的安全。管理層和其他一些顧問已經確定,最好的辦法是安裝密碼輪換軟體,每十分鐘輪換一次密碼,並將新密碼提供給需要登錄的使用者。
蠻力嘗試每秒發生兩次。
我需要證明使用 12-15 個字元的強密碼是一種更簡單且免費的解決方案。我知道如何用數學證明這一點,但我只是在寫類似“我們的密碼有 x 多種可能的排列,攻擊者每天只能嘗試 n 次嘗試,因此我們希望他們去 x/他們平均需要 2n 天才能猜出我們的密碼。” 有沒有更標準的“證明”?
使用帶有 iptables 的 fail2ban 是一個很好的方法。
這是給你的數學:
混合大小寫字母和常用符號,8 個字元長,為您提供 2.9 萬億個組合,每秒 10,000 次嘗試將花費 9,488 年。這當然是最大值——預計您的密碼將在 4000 年後被破解。1000 年,如果你不覺得幸運的話。
如您所見,如果您使用 15 個字元的密碼,則應該沒有任何問題,例如:
dJ&3${bs2ujc"qX
除了fail2ban,
如果您正在執行任何現代 UNIX,通常可以將錯誤密碼輸入休眠時間更改為最多 5 秒,從而將攻擊速度降低 2000%。
$$ Solaris 10 has it in /etc/default/login, search for SLEEPTIME $$使用相同的容差意味著您可以每 3 小時 20 分鐘輪換一次密碼。 此外,在鎖定之前嘗試密碼將是一個可行的選擇,但我懷疑它不適合您,因為您有多個使用者共享一個帳戶並且不希望它一直被鎖定。
要求 12-15 個字元的密碼會有所幫助,但如果您不斷受到攻擊,另一種解決方案可能會更好。我不知道貴公司對此的預算容忍度是多少,但是需要登錄該帳戶的每個人的 RSA 密鑰卡也可以解決這個問題。兩因素身份驗證將機率推到量子計算時間。
蠻力方法持續了足夠長的時間讓你在這個板上發帖是相當令人驚訝的。一般來說,這是相當低俗的,充其量只是一個日誌填充物,而真正的攻擊正在進行中。