WordPress 安全插件——你需要它們嗎?

已發表: 2023-03-24

Google 為“WordPress 安全插件”提供了超過 2200 萬個結果,並且官方 WordPress 插件頁面上列出了 1,000 多個安全插件,不可否認它們的受歡迎程度。 但真正的問題是——您的網站上真的需要一個嗎?

憑藉它們的命名以及它們被宣傳為能夠為您的網站做些什麼,這個領域的一些解決方案將自己定位為確保 WordPress 安全運行的必備插件。據推測,這樣您就可以完全不再擔心安全問題。

這與現實相去甚遠。

事實上,使用構建不當的 WordPress 安全插件實際上會減慢您的網站速度——在請求甚至需要由您的服務器處理之前添加應該在網絡級別實際發生的功能

所以,事不宜遲,讓我們開始吧。

您需要 WordPress 安全插件嗎?

每個網站都是惡意黑客的潛在目標——有些網站比其他網站更大。 這不是秘密。

最近(在撰寫本文時)流行的出版物Fast Company的系統被繼續發送令人反感的 Apple News 通知的人破壞了

試圖訪問具有惡意目的的網站的人不一定針對較大的企業。 如果中小型企業假設這一點,他們可能會成為更容易的目標,因此可能會採取更少的預防措施。

除了處理您的網站在無法訪問時可能產生的情況、浪費的時間和收入損失之外的麻煩,公司還有保護客戶信息的法律義務。 這一義務伴隨著監管行動的風險。

不用說,沒有人願意成為攻擊的受害者。 但考慮到 WordPress 網站的全球生態系統的獨立價值約為 6355 億美元 - 出售安全承諾已被證明是一個很好的商機也就不足為奇了。

黑客如何攻擊 WordPress 網站

WordPress 是開源的,因此在 WordPress 核心和任何主題或插件中發現的漏洞最終會成為公眾所知。 不幸的是,這可能會在 WordPress 能夠發布漏洞補丁之前發生,從而為那些有惡意的人創造了機會之窗。 壞人很清楚這個機會,允許他們開始自動瞄準可能運行易受攻擊的主題或插件的網站——看看有什麼可能。

即使沒有這些漏洞,人和機器人使用暴力攻擊來嘗試訪問站點的情況也很常見。 這涉及重複發送多個登錄請求,以識別使用默認或常用用戶名和密碼組合的用戶帳戶。

有許多可能的方式可以入侵 WordPress 網站,這就是為什麼在服務器級別採用廣泛的方法如此重要的原因一些最有可能的黑客風險包括:

蠻力攻擊:這種類型的攻擊涉及反复嘗試不同的用戶名和密碼組合,以試圖獲得對站點管理面板的訪問權限。

SQL 注入:這種類型的攻擊涉及將惡意代碼注入網站的數據庫,然後可用於竊取敏感信息或破壞網站的功能。

跨站點腳本 (XSS) :這種類型的攻擊涉及將惡意代碼注入網站,然後由用戶的瀏覽器執行。這可用於竊取敏感信息,例如登錄憑據,或將用戶重定向到惡意網站。

文件注入:這種類型的攻擊涉及將惡意文件上傳到網站,例如後門程序或惡意軟件。然後可以使用這些文件來未經授權訪問該站點。

過時的軟件:如果一個網站沒有定期更新,它可能存在漏洞,可以被黑客利用。

網絡釣魚:這種類型的攻擊通過創建虛假的登錄頁面來誘騙用戶提供敏感信息,例如登錄憑據、信用卡號和其他個人信息。

為什麼安全插件不是明智的選擇

憑藉插件的工作方式,它們僅在請求到達服務器後才起作用。 這意味著安全插件只能在 PHP 級別挑戰事物。 例如,這可能包括具有某種機制的登錄,以在服務器收到請求后防止可能的未授權訪問。

這樣做的結果當然是在每次請求服務器時消耗額外的服務器資源,因為它位於請求和開始處理輸出之間。 顯然,這甚至不是萬無一失的: pluginvulnerabilities.com針對零日漏洞測試了 31 個安全插件,其中只有 6 個能夠抵禦攻擊。

WordPress 安全插件需要完全加載才能開始處理流量。 這意味著即使您的網站沒有受到攻擊,這些插件也會消耗資源

WordPress 安全插件本身也有自己的漏洞也不是聞所未聞,這些漏洞也可以被黑客利用。

例如,擁有超過 400 萬用戶的流行安全插件 Wordfence多年來報告了多個漏洞,例如跨站點腳本損壞的訪問控制這些漏洞很快得到修補,但這並沒有改變系統暴露的事實,儘管時間很短。

還有一種危險是安全插件會產生一種虛假的安全感以前的情況是,站點管理員安裝了一個流行的安全插件,認為它可以保護他們的站點免受所有類型的攻擊,並繼續忽略其他重要的安全措施,例如定期軟件更新、強密碼、雙因素身份驗證, 和備份。

我們看到的另一個問題是安全插件會導致與現有主題或其他插件的兼容性問題 在某些情況下,這種衝突可能導致您的網站容易受到攻擊。

使用安全插件遇到誤報也很常見 Overeager 插件可以將合法行為標記為惡意行為,這可能導致誤報並給管理員和用戶帶來不便。

底線是,當涉及到您的 WordPress 網站的安全性時,沒有可用於設置並忘記它的插件解決方案 安全是一種不斷發展的有機野獸,需要時刻保持警惕。

是否有值得使用的安全插件?

那麼如何保護 WordPress 網站呢?

首先,與在安全性、擴展性和性能方面具有競爭力的 WordPress 託管服務提供商合作——就像我們在 Servebolt 所做的那樣。 我們承擔與確保您網站的底層基礎設施完全安全相關的繁重工作。

除此之外,您希望所有惡意(和潛在惡意)請求在到達您的服務器之前就被阻止——在它們有機會消耗資源之前,以便您可以為真正的網站訪問者提供最佳體驗。

此類解決方案的一個示例是 Cloudflare。 Cloudflare 是一家提供各種互聯網安全服務的公司,包括內容分發網絡 (CDN)、域名系統 (DNS) 和 Web 應用程序防火牆 (WAF)。 這些服務協同工作以保護網站免受多種形式的網絡攻擊,例如 DDoS 攻擊、SQL 注入和跨站點腳本 (XSS)。 Cloudflare 還提供額外的功能,例如 SSL/TLS 加密,以及機器人管理系統,以進一步增強網站的安全性。

在 Servebolt,除了這種方法之外,我們還提供兩種託管的主動服務,加速域Servebolt CDN,它們可以加強您網站的安全性。它們建立在 Cloudflare 的企業產品之上,我們為所有註冊的客戶提供兩個免費域。

我們使用基於服務器的安全產品,以及在通過我們實施時構建在 Cloudflare 的 WAF 之上。 我們添加了額外的安全措施來減少黑客攻擊嘗試,並在使用 Cloudflare 時防止直接訪問服務器以減少暴力破解嘗試。 這些措施被配置為自動阻止可能有害的請求,不需要任何配置或維護

除此之外,一些插件可以提高您網站的安全性,儘管這些插件絕不能提供一站式解決方案:

  • 雙因素此插件由 WordPress 團隊開發,它使用基於時間的一次性密碼(OTP、Google Authenticator)、通用第二因素(FIDO U2F、YubiKey)、電子郵件和備份驗證啟用雙因素身份驗證代碼。

如果您的憑據在 Internet 上洩露,即使大部分惡意流量被防火牆阻止,您的服務器也可能遭到破壞。 我們強烈建議使用雙因素身份驗證來阻止不良行為者。

我們在 Servebolt 使用的替代方案是Cloudflare Access

  • Patchstack &WPScan諸如 Patchstack 或 WPScan 之類的漏洞掃描器有助於跟踪漏洞。例如,WP Scan 會根據 WordPress 安全專家維護的包含37,000 多個漏洞的已知數據庫,持續檢查您的服務器是否面臨威脅。 如果檢測到威脅,它可以通過電子郵件或使用自定義 webhook觸發通知,其中包含解決問題的所有必要信息和建議。

加強 WordPress 網站的技巧

使用加速域Servebolt CDN可以保護您的站點免受許多眾所周知的攻擊。 它們會自動實施登錄速率限制和 XML-RPC,以防止對您網站的登錄頁面進行惡意暴力攻擊。 但是您可以通過在您的網站上實施以下額外的安全措施來進一步增強您的安全性。

限製文件訪問

服務器上的每個文件和文件夾都有與之關聯的訪問權限,這些權限指定誰可以讀取、寫入和執行給定的文件或目錄。 儘管對站點的公共資產擁有開放權限似乎沒什麼大不了的,但這絕對是一種不好的做法。 此外,應該安全地鎖定一些敏感文件,例如.htaccesswp-config.php

我們建議您盡可能鎖定所有敏感文件,只有在絕對需要時才短暫地放鬆這些權限。

對於.htaccess ,您應該將權限級別更改為644 – 這將授予文件所有者讀寫訪問權限,而所有其他用戶只能讀取該文件。

您可以通過將權限模式設置為400440來進一步限制wp-config.php文件的這些權限,這意味著只有所有者(或者,也可以選擇所選組的其他成員)可以讀取文件,而修改只能由 root 用戶創建。

讓我們詳細了解一下特定WordPress目錄的權限要求:

  • WordPress 根目錄 (/):

除了.htaccess之外的所有文件都應該只能由您的帳戶寫入 - 將除.htaccess之外的所有文件的權限模式設置為 644

  • WordPress 管理區域 (/wp-admin/):

所有文件都應該只能由您的帳戶寫入——將所有文件的權限模式設置為 644。

  • WordPress 應用邏輯(/wp-includes/):

所有文件都應該只能由您的帳戶寫入——將所有文件的權限模式設置為 644。

  • 用戶提供的內容(/wp-content/):

該目錄旨在讓您和 Web 服務器進程都可寫——將所有文件的權限模式設置為 664。

但是,在 /wp-content/ 目錄中,您可能會發現:

  • 主題文件(/wp-content/themes/):

如果你想使用內置的主題編輯器,所有的文件都需要被網絡服務器進程寫入。 如果您不需要使用編輯器,那麼所有文件都只能由您的用戶帳戶寫入。

  • 插件文件(/wp-content/plugins/):

所有文件都應該只能由您的用戶帳戶寫入。 但是,某些第三方插件可能需要寫入權限。 我們建議您刪除寫入權限,並根據具體情況僅將其授予特定插件。

在選定目錄中禁用 PHP 文件執行

您可以通過限制在不需要的目錄中執行 PHP 文件來進一步提高 WordPress 網站的安全性。

您應該禁用它的第一個位置是您的/wp-content/文件夾,因為用戶可能會上傳惡意 PHP 腳本並嘗試運行它。

您可以通過在所需文件夾中創建名為.htaccess的文件並將以下代碼粘貼到其中來禁用 PHP 執行:

 <文件 *.php>

拒絕所有人

</文件>

上面的代碼創建了一個規則,禁止執行指定目錄中的任何 PHP 文件。 這意味著即使黑客將惡意 PHP 代碼注入文件,它也無法在服務器上執行,從而防止對您的網站造成任何損害。

禁用目錄索引和瀏覽

目錄瀏覽是 Web 服務器的一項功能,可顯示網站給定目錄中的所有可用文件和目錄。 啟用後,互聯網上的任何人都可以看到網站任何路徑上的所有內容。 這是一個主要的安全風險,因為它可以洩露機密信息和服務器配置。

例如,如果有人要訪問https://www.example.com/static ,他們將能夠看到(並下載)此路徑中存在的所有文件。 強烈建議關閉此功能。 您可以通過將以下行附加到您的.htaccess文件來執行此操作

 期權-指數

使用 Fail2ban 阻止暴力攻擊

Fail2ban是一種服務器實用程序,可以根據預定義的條件動態創建防火牆規則來阻止 IP 地址。 如果用戶連續 3 次登錄失敗,您可以將其與 WordPress 一起使用以暫時阻止用戶。

不要使用“admin”用戶名

對於黑客來說,具有管理權限的帳戶相當於皇冠上的明珠——管理員帳戶可以解鎖服務器上的所有門。 毫不奇怪,這是黑客瞄準的第一個帳戶。 最好為此管理員帳戶使用不同的名稱,以使他們更難執行此過程並阻止任何暴力攻擊。

如果您仍在使用“admin”用戶名,則應使用不同的名稱創建第二個帳戶並授予其管理員訪問權限。登錄您的第二個帳戶 - 並刪除舊的管理員帳戶。

限制數據庫用戶權限

數據庫安全對於任何網站都是至關重要的。 在服務器上安裝多個站點時,為每個站點創建單獨的數據庫和用戶。 這使得入侵者更難訪問整個系統並竊取個人信息。

您還應該正確配置 MySQL 帳戶權限並禁用任何不必要的功能,例如遠程 TCP 連接。 如果數據庫用戶不在白名單位置,您還可以限制登錄嘗試。 例如,如果連接不是在本地主機上啟動的,您可以阻止對根連接的訪問。

此外,WordPress 只需要對 MySQL 數據庫的讀寫權限即可實現正常功能。 如果您只向數據庫用戶授予 SELECT、INSERT、UPDATE 和 DELETE,一切仍會正常工作。 但是,有時第三方插件和 WordPress 更新在嘗試更改數據庫架構或創建新表時可能會導致錯誤。 如果您使用此安全措施,請仔細閱讀每個插件的發行說明和文檔。

更改 wp-admin URL

為了讓黑客更難以對您的 WordPress 網站發起暴力攻擊,請考慮將您的管理儀表板的默認 URL 更改為模糊的內容。 為此,您可以使用諸如WPS Hide LoginChange wp-admin login 之類的插件,它可以讓您輕鬆自定義登錄 URL。

禁用文件編輯

WordPress 中的文件編輯功能允許管理員直接從儀表板編輯主題和插件文件。 雖然它在設置網站時很有用,但如果管理員帳戶遭到破壞,這可能會帶來安全風險。 禁用文件編輯功能可以減輕這種風險。

這也將減少意外編輯更好地記錄更改,因為所有新修訂都將在版本控制中進行跟踪,並且需要在網站上線之前通過測試。

要在 WordPress 中禁用文件編輯,您可以將以下代碼行添加到站點的 wp-config.php 文件中:

 定義 ('DISALLOW_FILE_EDIT', true );

更改數據庫前綴

WordPress 在所有表名中使用通用的文本字符串,以便於識別。 更改此前綴會使惡意行為者在執行 SQL 注入攻擊和其他形式的數據庫攻擊時難以猜測您的表名。

儘管這似乎是一個微小且微不足道的改進,但互聯網上的大多數攻擊都是由自動機器人執行的,它們只針對容易實現的目標。 通過更改默認值,您可以抵禦大多數自動攻擊

您當前的數據庫前綴存儲在 WordPress 根目錄下的 wp-config.php 文件中。 默認值看起來像這樣。

 $table_prefix = 'wp_';

您可以將“wp_”前綴替換為您選擇的新的唯一前綴。 請記住,您只能使用字母、數字和下劃線。 例如:

 $table_prefix = 'my_custom_prefix_123_';

將更改保存到 wp-config.php 文件後,您需要使用新名稱手動更新現有 SQL 表。 如果您不確定如何執行此操作,可以使用Brozzme DB Prefix等插件

自動註銷非活動用戶

在 WordPress 中實施自動註銷功能可以通過在指定的不活動時間後自動終止用戶會話來幫助提高站點的安全性。 如果用戶忘記註銷或他們的設備無人看管,此功能有助於防止未經授權訪問您的站點。

要在 WordPress 中實現自動註銷功能,您可以使用Inactive Logout等插件 這樣做將確保未經授權的個人無法訪問敏感信息,從而有助於保護用戶的隱私。

行動後報告——立即採取行動保護您的網站和聲譽

每天有 30,000 個網站遭到黑客攻擊,而 WordPress 為 43% 的網絡提供支持,這意味著每天可能有 12,900 個 WordPress 網站遭到嚴重破壞。

不幸的是,在線提供的詳細說明如何保持 WordPress 網站安全的建議要么含糊、過時,要么就是完全錯誤。 正是這個糟糕的建議,完全依賴第三方插件,以及一旦設置了安全性就可以忘記它的假設,導致瞭如此多的違規行為。

儘管安全永遠不會“完成”,但它不必令人頭疼,而且本文中的大部分建議對大多數人來說都相當簡單明了。 當然,擁有一家強大的網絡託管公司,認真對待安全是大多數人的重要第一步。

關於保持 WordPress 網站安全的任何問題?請隨時與我們聯繫,我們很樂意向您介紹 Servebolt Cloud 如何幫助您為訪客提供最佳體驗。 或者,如果本指南已經回答了您所有的問題,並且您已準備好嘗試使用 Servebolt 方法……

對經驗上更快的託管託管感興趣? 試試我們的WordPress 託管方法

  • 可擴展性:在真實用戶工作負載測試中,Servebolt 的平均響應時間為 65 毫秒,比第二名快 4.9 倍。
  • 最快的全球加載時間: 1.26 秒的平均頁面加載時間使我們在全球 WebPageTest 結果列表中名列前茅。
  • 最快的計算速度: Servebolt服務器提供前所未有的數據庫速度,每秒處理的查詢數是平均水平的2.44倍,運行PHP的速度是第二名的2.6倍!
  • 完美的安全性和正常運行時間:所有監視器的正常運行時間均為 100%,並且我們的 SSL 實施獲得了 A+ 評級,您可以放心,您的網站是在線且安全的。