Apache-2.2

防止伺服器在 wordpress 暴力攻擊中無法使用

  • October 11, 2013

我管理一個伺服器,上面安裝了很多 wordpress。尋找解決方案以防止在暴力攻擊中使用高 CPU,這使伺服器每天無法使用幾個小時。

這些是目標:

  • 推薦人檢測是不夠的(範例)(已經嘗試過這個解決方案,但是攻擊我的黑客可以繞過它並填滿 CPU)。
  • 通過 .htaccess 對“wp-login.php”進行密碼保護不是一個好的解決方案(範例)(公司要求)。

您可以做很多事情來阻止攻擊者吞噬您的資源。

(重新)考慮對管理區域使用密碼保護

您可能有充分的理由不在所有或某些網站上使用此技術,但請不要低估此技術的實用性。盡可能使用。

通過要求使用者在 Web 伺服器級別登錄,您可以最大限度地減少攻擊者可以造成的損害,限制處理這些攻擊所需的資源,並進一步保護您可能存在漏洞的網站。

將管理員登錄限制為 ip 白名單(Web 伺服器)

您可以拒絕訪問您網站的某些部分。即使你必須打開一個相當大的IP子網,也比讓全世界都進來好!

在 nginx 中,它可能看起來像這樣:

location /wp-admin {
 # block one workstation
 deny    192.168.1.1;
 # allow anyone in 192.168.1.0/24
 allow   192.168.1.0/24;
 # drop rest of the world
 deny    all;
}

更難找到

蠻力攻擊做出了許多假設。如果您可以重命名 wp-admin 文件夾、重命名 wp-login.php 或在非標準埠上執行 wp-admin,那麼您將不必花費寶貴的資源來嘗試驗證這些暴力登錄。

試試fail2ban

http://wordpress.org/plugins/wp-fail2ban/

fail2ban 是您可以實施以防止暴力破解密碼猜測攻擊的最簡單和最有效的安全措施之一。

fail2ban 有一些有趣的特性:

阻止嘗試使用錯誤的使用者名登錄

許多攻擊者嘗試使用常用使用者名登錄,例如 admin。最好不要使用這些使用者名,在這種情況下,您可以阻止任何嘗試使用這些使用者名登錄的人。

WPf2b 現在允許您指定一個正則表達式,如果請求的使用者名匹配,它將縮短登錄過程

定義(‘WP_FAIL2BAN_BLOCKED_USERS’,’^admin$’);

ip 白名單 (fail2ban)

這裡的想法是列出將作為請求的遠端 IP 出現的受信任代理的 IP 地址。

define('WP_FAIL2BAN_PROXIES','192.168.0.42,192.168.0.43');

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