如何在 WordPress 上阻止失敗的登錄嘗試

已發表: 2021-10-26

登錄失敗可能有多種原因。 通常,這只是用戶真正忘記了密碼的結果。 它發生在我們最優秀的人身上,這樣我們就不會做出過於嚴厲的判斷。 然而,有時可能會發生更嚴重的事情——有人試圖闖入。

登錄失敗故障排除的藝術

像所有其他 WordPress 問題一樣,故障排除(也就是追根溯源)是我們需要採取的第一步。 這將幫助我們確保我們正在處理實際問題而不是其症狀。 幸運的是,有一個簡單的方法可以開始這個過程——查看數據。 本質上,您應該看到以下兩件事之一:

  • 錯誤的用戶名和錯誤的密碼組合

錯誤的用戶名和密碼組合可能有兩個原因之一。 有人或某事試圖猜測用戶名/密碼組合以獲得訪問權限,或者這是有針對性的攻擊。 在第一個選項的情況下,這是很常見的情況。 否則,它可能是對您網站的有針對性的攻擊,以獲取訪問權限或使您的網站過載 (DoS/DDoS)。

  • 正確的用戶名和錯誤的密碼組合

正確的用戶名和錯誤的密碼組合可能意味著兩件事之一。 要么是有人忘記密碼的真實案例,要么是有人發現了在您的 WordPress 上註冊的實際用戶名,現在正試圖猜測密碼。

您應該記住的另一件事是頻率。 短時間內的大量嘗試通常是自動攻擊的標誌。 另一方面,緩慢且不規則的時間表是一個人還沒有喝咖啡的跡象。

登錄嘗試失敗過多的危險

密碼猜測攻擊非常普遍。 太多失敗的 WordPress 登錄嘗試通常表明存在此類攻擊。 如果沒有辦法對此進行管理,您可能會使您的網站容易受到攻擊和破壞。 幸運的是,管理這種風險非常容易,並且只需要很少的管理工作。

當登錄嘗試失敗時,WordPress 不提供任何限製或採取規避措施的功能。 用戶可以繼續嘗試令人作嘔,直到他們做對為止。 雖然給人們額外的機會可以被認為是合乎道德的事情,但施加限制和控制對於確保您的 WordPress 網站的安全性和完整性大有幫助。

如何防止在 WordPress 上嘗試登錄失敗

實施 WordPress 登錄失敗策略比聽起來容易。 主要有兩個選項可供選擇,我們現在將討論。

手動限制失敗的登錄

如果您希望在沒有插件的情況下限制 WordPress 登錄失敗,您可以修改活動主題的 function.php 文件並添加相關代碼。 有幾種方法可以將自定義代碼添加到 WordPress 網站; 但是,這需要對 PHP 以及 WordPress 的工作原理有很好的了解。

安裝插件

還有另一個也是最實用的選擇——使用插件。 插件有各種形狀和大小,包括僅限制登錄嘗試的插件和允許您在 WordPress 上強制執行密碼安全策略以實現更嚴格控制和安全性的插件。

WPassword 就是這樣一個 WordPress 插件。 它使管理員可以更好地控制密碼在其 WordPress 網站上的使用和管理方式。 除了許多其他功能外,它還包括設置明確處理失敗登錄嘗試的策略的能力。

其他需要考慮的事項

另一個值得一提的選擇是 CAPTCHA。 Advanced noCaptcha 和 invisible Captcha 等插件非常適合幫助您阻止自動攻擊。 由於需要在嘗試記錄之前完成驗證碼,因此此類攻擊背後的機器人無法通過測試,並且不會進行單次登錄嘗試。

在有關失敗登錄策略的對話中往往會出現的另一個選項是阻止 IP。 通過此選項,有問題的 IP 被列入黑名單,從一開始就阻止它訪問您的網站。 雖然這在技術上是正確的,但持續存在的惡意行為者可以簡單地使用不同的 IP - 他們可以輕鬆做到這一點。 正因為如此,封殺IP的策略往往以貓鼠遊戲告終。

一個更好的選擇是使用 CDN(內容交付網絡)並讓他們處理阻止違規 IP。 這可以為您節省寶貴的時間,您可以將其投資於富有成效的事情上。

如何設計 WordPress 失敗的登錄策略

在我們開始在 WordPress 網站上執行失敗的登錄策略之前,我們需要考慮一些事情。 與所有其他與安全相關的問題一樣,管理失敗的登錄嘗試也存在安全/可用性悖論。 越安全的東西,它就越不可用。 反之亦然。 不允許任何人登錄非常安全,但幾乎無法使用。 給用戶無限的登錄機會可能會損害安全性,但會增加可用性。

您需要了解的是您願意給用戶多少迴旋餘地。 傳統上,三種嘗試被認為是充分和合理的。 有些人不同意這個概念,並將允許的最大登錄嘗試次數設置為十次。 無論哪種方式,提供無限制的登錄嘗試都不是一個好策略,並且可能會產生負面影響。

事情的真相是沒有正確或錯誤的答案。 三是一個安全的數字,但它會增加管理開銷。 十個可能具有較低的管理開銷,但會帶來更大的風險。

因此,您可能希望首先將登錄嘗試次數限制為 3 次,然後評估情況。 使用 WPassword 時,更改此數字非常容易。 因此,您可以非常輕鬆地使政策適應您的用戶和環境。

如果您還考慮一下帳戶被鎖定時會發生什麼,那將是最好的。 帳戶應該在預先配置的時間窗口後自動解鎖,還是應該由管理員手動解鎖? 這個問題屈服於與之前相同的問題:您需要在可用性和安全性之間做出決定。 可能影響這部分策略的另一個重要方面是用戶的位置。 如果人們從世界的另一端登錄,您是否樂意凌晨兩點醒來解鎖帳戶? 如果沒有,用戶應該等待多長時間才能再次登錄? 這會影響他們的生產力或您的底線嗎?

選擇正確的插件(和策略)來管理 WordPress 失敗的登錄

一旦您了解了您希望密碼和登錄失敗策略的樣子,您就需要開始著手實施了。 我們之前提到 WPassword 作為主要候選人。 它提供了許多配置選項,讓您在配置和實施密碼策略時有相當大的餘地。

為 WordPress 啟用登錄失敗策略後,您可以選擇用戶在其帳戶被鎖定之前嘗試的次數。 您還可以決定如何解鎖以及是否要強制用戶更改密碼,如下所述。

第 1 步:安裝並激活 WPassword

安裝 WPassword 很容易。 您可以直接從 WP White Security 的網站下載密碼安全插件,然後將其上傳到您的 WordPress 網站。

安裝插件後,單擊 WordPress 側面菜單中的插件,找到插件,然後單擊激活。 這將添加一個名為Password Policies的新菜單選項,您需要單擊該選項。

步驟 2:啟用失敗登錄策略

勾選啟用失敗登錄策略旁邊的複選框以限制 WordPress 網站上的失敗登錄嘗試。 輸入鎖定用戶之前登錄嘗試失敗的次數,通常認為 3 到 5 次是一個好的開始。

啟用失敗登錄策略

其他配置選項包括帳戶被鎖定後會發生什麼,以及是否需要被阻止的用戶在解除阻止時重置密碼。 有關詳細信息,請參閱 WordPress 登錄失敗策略知識庫文章。

第 3 步:採取額外的安全措施

驗證碼

我們還談到了 CAPTCHA——在許多登錄和表單中普遍存在的測試,旨在讓人類通過,同時阻止機器人和其他形式的自動攻擊。 Advanced no Captcha 和 invisible Captcha 等插件使實施此類測試變得超級容易,同時提供通用兼容性和對不同版本的支持。

兩因素身份驗證

在提高登錄過程的安全性時,雙因素身份驗證是必不可少的。 通過此過程,用戶需要通過輸入通過智能手機提供的一次性密碼進行第二次身份驗證。 通過使用 2FA(您可以通過 WP 2FA 等插件輕鬆完成),您可以確保即使密碼被洩露,除非此人的手機與該用戶帳戶綁定,否則他們將無法登錄。

第 4 步:更進一步(可選)

有了密碼和失敗的登錄策略、驗證碼和雙因素身份驗證,您應該得到很好的保障。

但是,如果您的網站仍然遇到大量失敗的登錄嘗試,您應該考慮使用 CDN 服務。 您可能想與您的網絡託管服務提供商聯繫,以幫助您實施適合大規模攻擊的解決方案。

WordPress密碼安全需要360度的方法

正如我們在整篇文章中所看到的,在實施密碼策略時需要考慮幾個因素。 雖然阻止失敗的 WordPress 登錄是一個很好的第一步(也是必要的一步),但通過採用 360 度方法,您可以更加安全。 這不僅可以幫助您覆蓋所有基礎,還可以幫助您激發對 WordPress 網站的更多信任和信心。

360 度方法著眼於幾個因素,包括插件和主題、託管、TLS、WordPress 核心等。 這樣,您可以確保您的 WordPress 安全性處於最佳狀態。