保護您的 WordPress 網站的 14 種方法 - 一步一步

已發表: 2022-01-05

WordPress 安全性應該是網站所有者的首要任務。 為什麼? 因為每分鐘對 WordPress 網站的攻擊多達 90,000 次。

如果這還不夠令人擔憂,Google 每週會將大約 20,000 個惡意軟件網站和 50,000 個網絡釣魚網站列入黑名單。 當一個網站被列入黑名單時——用戶被迫同意風險——會導致大約 95% 的流量損失。

雖然 WordPress 的最新版本始終是最安全的版本,但您可以對您的網站做更多的事情來確保它不會被黑客和機器人侵入。

這裡有一些最佳實踐提示,可幫助您保護您的網站。

  1. 使用好的網絡主機
  2. 僅使用優質主題和插件
  3. 使 WordPress 核心、主題和插件保持最新
  4. 不要使用“管理員”作為用戶名
  5. 使用強密碼
  6. 使用雙重身份驗證
  7. 限制登錄嘗試
  8. 安裝 SSL 證書
  9. 更改數據庫前綴
  10. 保護 wp-config.php 和 .htaccess 文件
  11. 添加安全密鑰
  12. 禁用文件編輯
  13. 防止 PHP 文件被執行
  14. 有選擇地禁用 XML-RPC

1. 使用好的虛擬主機

一個好的網絡主機是您抵禦網站攻擊的第一道防線。 所以不要自動選擇便宜的共享主機。 相反,做你的功課。

選擇支持最新版本的基本 Web 技術(如 PHP 和 MySQL)的信譽良好的主機。 請務必檢查您的主機是否支持 PHP 7——它是官方推薦的 WordPress 的 PHP 版本。

考慮選擇託管的 WordPress 主機。 這些服務專為 WordPress 設置,負責託管的所有重要技術方面,包括安全性、備份、正常運行時間和性能。

2. 只使用優質主題和插件

根據 WPScan,52% 的網站漏洞是由插件引起的,而 11% 是由主題引起的。 結合起來,這是 WordPress 安全性的 60% 以上

確保您的插件和主題能夠抵禦攻擊的最簡單方法是僅從信譽良好的來源下載它們。 這包括 WordPress.org 和高級提供商。 從在主題和插件中隱藏惡意代碼的狡猾開發人員那裡下載可能會危及您的網站。

如果您不確定要從中下載的網站是否安全,請查找推薦和評論以確保您想要的產品具有良好的質量。

此外,請確保您使用的任何插件和主題也得到很好的支持並定期更新。 如果一個插件或主題很長時間沒有更新,很可能它包含未修補的安全漏洞,甚至是可能使您容易受到黑客攻擊的不良代碼。

最後,只保留您實際需要和使用的插件和主題。 你擁有的越多,被黑客入侵的風險就越高。 因此,請定期查看您的插件和主題列表,並停用並刪除您不需要的任何內容。

3. 使 WordPress 核心、主題和插件保持最新

WordPress 是開源軟件,由全球志願者社區開發和維護。 每個新版本都會修補任何安全漏洞。

默認情況下,WordPress 會自動安裝次要更新(即 WordPress 4.9.4)。 但是對於主要版本(即 WordPress 4.9),您有責任手動更新到最新版本。

確保您的網站始終運行最新版本的 WordPress。

這些核心更新對於您網站的安全性和性能至關重要。 因此,請務必備份您的站點並在可用時應用任何核心更新。

同樣,定期更新任何插件和主題也很重要,因此您始終使用最新且安全的軟件版本。

4. 不要使用“Admin”作為用戶名

不要使用“admin”作為您網站的用戶名。 早期版本的 WordPress 使用“admin”作為默認用戶名,使黑客更容易 - 在蠻力攻擊期間猜測的難題更少。

但最近發布的 WordPress 改變了這一點,讓用戶有機會在安裝過程中輸入自己的用戶名。 但是,有些人仍然選擇使用“管理員”而不是提供原始用戶名。 只是不要。

您想讓惡意攻擊者更難滲透您的網站,因此攻擊需要更長的時間,您或您的託管服務提供商可以在攻擊成功之前識別並阻止它們。

5. 使用強密碼

始終為您的 WordPress 管理員帳戶、數據庫、主機帳戶、電子郵件地址和任何 FTP 帳戶創建強大且唯一的密碼。 與用戶名一樣,密碼是黑客猜測的另一個難題,您的密碼越強,黑客就越難成功登錄您的網​​站。

在安裝過程中,WordPress 會嘗試對您強制使用強密碼,如果您輸入了弱密碼,則會要求您選中一個框。 雖然您可能想要自己的密碼,但像安全密碼生成器這樣的工具可以為您創建一個強密碼。

安全密碼生成器可讓您創建唯一且隨機的密碼。

6.使用雙重身份驗證

即使使用強大的用戶名和密碼,暴力攻擊仍然是許多網站的問題。 這是兩因素身份驗證可以提供幫助的地方。

雙因素身份驗證在登錄過程中增加了另一個步驟,除了輸入他們通常的登錄憑據外,還強制用戶輸入發送到手機的代碼。 這可以阻止自動攻擊並確保您的網站不會成為黑客的受害者。

像 iThemes Security 這樣的插件可以實現雙因素身份驗證。 還有免費的插件,例如兩因素身份驗證,可以為您的網站添加這一額外的安全層。

免費的雙重身份驗證插件可讓您在登錄站點時輕鬆添加另一層保護。

7.限制登錄嘗試

默認情況下,您可以嘗試多次登錄您的 WordPress 帳戶。 雖然這對您來說可能很方便,如果您健忘並且並不總是在第一次甚至第三次獲得正確的密碼,但對於實施暴力攻擊的黑客也很方便 - 它給了他們無限次數的破解嘗試您的用戶名和密碼組合。

這可以通過限制用戶在您的站點上進行的失敗登錄嘗試次數來輕鬆解決。 WP Limit Login Attempts 等免費插件可讓您限制登錄嘗試並暫時阻止 IP 地址。

8. 安裝 SSL 證書

在您的網站上安裝 SSL 證書是必須的,特別是如果您有電子商務商店。 不僅因為這將使黑客難以攔截用戶瀏覽器和您的服務器之間的敏感信息,而且因為谷歌現在堅持所有網站都應該有一個。

從 2018 年 7 月 Chrome 68 的發布開始,不使用 HTTPS 加載的網頁將被標記為“不安全”。 這意味著嘗試訪問沒有 SSL 證書的站點的用戶將收到該站點不可信的警告。

該公告意義重大,因為根據 Cloudflare 的說法,超過一半的網絡訪問者會看到這些警告。

Let's Encrypt 是一個免費的證書頒發機構,為網站所有者提供 SSL 證書。

獲得 SSL 證書變得越來越容易。 Let's Encrypt 提供免費的開源證書,而託管公司通常會免費提供一個(有時甚至是免費的)。

9.更改數據庫前綴

默認情況下,WordPress 使用 wp_ 作為站點數據庫中所有表的前綴。 這意味著如果您使用默認值(這是 WordPress 的常識),黑客可以很容易地猜出您的表名是什麼,從而使其容易受到 SQL 注入的攻擊。

解決此問題的一種簡單方法是將前綴更改為隨機的,例如5jiqtu69dg_使用隨機字符串生成器。 要更新表的前綴,請打開站點文件目錄根目錄中的 wp-config.php 文件並找到以下行:

 $table_prefix = 'wp_';

使用我的示例,您將像這樣替換該行:

 $table_prefix = '5jiqtu69dg_';

接下來,您需要更新數據庫中使用的前綴。 雖然 iThemes Security 等安全插件可以幫助您快速輕鬆地完成此操作,但您可以在此處通過 phpMyAdmin 了解如何手動完成此操作。

10. 保護 wp-config.php 和 .htaccess 文件

您網站的 wp-config.php 文件通常位於您網站的根文件夾中,其中包含有關 WordPress 安裝的關鍵信息,包括數據庫的名稱、主機、用戶名和密碼。 同時,.htaccess 是一個隱藏文件,用於設置目錄級服務器配置、啟用漂亮的永久鏈接並允許重定向。

防止訪問這些關鍵文件很容易。 只需將以下內容添加到您的 .htaccess 文件中即可保護 wp-config.php:

 <文件 wp-config.php>
命令允許,拒絕
否認一切
</文件>

或者,您可以簡單地將 wp-config.php 文件移到更高的目錄中,因為 WordPress 會自動在那裡查找它。

要阻止對 .htaccess 的不必要訪問,您需要做的就是更改代碼中的文件名:

 <文件 .htaccess>
命令允許,拒絕
否認一切
</文件>

11. 添加安全密鑰

WordPress 安全密鑰和鹽對存儲在瀏覽器 cookie 中的信息進行加密,保護密碼和其他敏感信息。 總共有四個安全密鑰: AUTH_KEYSECURE_AUTH_KEYLOGGED_IN_KEYNONCE_KEY

這些身份驗證密鑰基本上是一組隨機變量,使破解密碼變得更加困難。 像“wordpress”這樣的非加密密碼攻擊者不需要花費太多精力就可以破解。 但是像“L2(Bpw 6#:S.}tjSKYnrR~.Dys5c>+>2l2YMMSVWno4`!%wz^GOBf};uj*>-tkye”這樣的長而隨機的密碼要破解得多。

添加安全密鑰和鹽是一個手動過程並且很容易做到。 這是如何做到的:

  1. 獲取一組新的安全密鑰和鹽。 您可以在此處隨機生成它們。
  2. 接下來,更新您的 wp-config.php 文件。 打開您的文件並向下滾動,直到找到下面的部分並用新的鍵和鹽替換舊值:
 /**#@+
 * 身份驗證唯一密鑰和鹽。
 *
 * 將這些更改為不同的獨特短語!
 * 您可以使用 {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org 密鑰服務} 生成這些
 * 您可以隨時更改這些以使所有現有 cookie 無效。 這將迫使所有用戶必須重新登錄。
 *
 * @since 2.6.0
 */
define('AUTH_KEY', '在此處添加唯一變量');
define('SECURE_AUTH_KEY', '在此處添加唯一變量');
define('LOGGED_IN_KEY', '在此處添加唯一變量');
define('NONCE_KEY', '在此處添加唯一變量');
define('AUTH_SALT', '在此處添加唯一變量');
define('SECURE_AUTH_SALT', '在此處添加唯一變量');
define('LOGGED_IN_SALT', '在此處添加唯一變量');
define('NONCE_SALT', '在此處添加唯一變量');

/**#@-*/
  1. 保存您的 wp-config.php 文件。 您將自動退出您的 WordPress 網站並需要重新登錄。

12.禁用文件編輯

WordPress 具有用於插件和主題文件的內部代碼編輯器。 雖然這對於想要快速更改文件的管理員很有用,但也意味著黑客和高級用戶也可以進行文件更改。 您可以通過轉到 WordPress 管理員中的外觀 > 編輯器來找到此功能。

您可以在 wp-config.php 文件中禁用文件編輯。 只需打開您的文件並添加這行代碼:

 定義('DISALLOW_FILE_EDIT',真);

您仍然可以通過 FTP 或 cPanel 編輯您的插件和主題,只是不在 WordPress 管理員中。

13.防止PHP文件被執行

黑客在 WordPress 中上傳惡意軟件的常用文件夾是wp-content/uploads,還有wp-includes/ 。 要防止在這些文件夾中執行文件,請在文本編輯器中創建一個新文本文件並粘貼以下代碼:

 <文件 *.php>
否認一切
</文件>

接下來,將此文件保存為 .htaccess 並通過 FTP 或 cPanel 將其上傳到您的/wp-content/uploadswp-includes/文件夾。

14. 有選擇地禁用 XML-RPC

XML-RPC 或 XML 遠程過程調用是一種 API,可幫助將 Web 和移動應用程序與您的 WordPress 站點連接起來。 它在 WordPress 3.5 中默認啟用,但後來被發現會顯著放大暴力攻擊。

例如,如果黑客想在您的站點上嘗試 500 個不同的密碼,通常他們必須進行 500 次單獨的登錄嘗試。 但是使用 XML-RPC,黑客可以使用system.multicall函數在單個 HTTP 請求中嘗試大量的用戶名和密碼組合。

雖然為您的站點完全禁用此功能很容易,但這將意味著失去像 Jetpack 這樣的插件的功能。 相反,最好選擇使用專門設計的插件實現和禁用 XML-RPC 的方式。

獎勵:如何檢查漏洞

有幾種不同的方法可以檢查您的站點是否存在漏洞:使用在線站點掃描程序或使用插件。

使用這些免費的在線工具,您只需輸入您網站的 URL,它們就會開始掃描您的網站以查找已知漏洞:

WordPress 安全掃描– 此工具被動檢查基本安全問題。 您需要升級到高級計劃才能進行高級測試。

Sucuri SiteCheck – 檢查您的網站是否存在已知惡意軟件、黑名單狀態、網站錯誤和過期軟件。 通過高級升級,此工具將執行惡意軟件清理、DDoS/暴力防護、黑名單刪除和安全監控。

WPScan – 託管在 GitHub 上的這款黑盒 WordPress 漏洞掃描程序可讓您使用核心、插件和主題掃描您的站點以查找已知漏洞。 您需要使用終端來運行此應用程序。 它免費供個人使用,由 Sucuri 贊助。

獎勵:最佳 WordPress 安全插件

在您的 WordPress 網站上安裝安全插件會增加另一道防線來抵禦可能的攻擊。 它們提供了廣泛的功能來幫助保護您的站點(包括站點掃描),並且可以在您的站點遭到入侵時通知您。

以下是排名前 3 的插件:

文字圍欄

Wordfence 安全插件。

WordFence 是一個非常受歡迎的免費安全插件,擁有超過 2 百萬個活動安裝和一個高級選項可用。 它具有“威脅防禦源”,可引入最新的防火牆規則、惡意軟件簽名和惡意 IP 地址,從而保留您的網站。

Web 應用程序防火牆可識別並阻止惡意流量,而實時 IP 黑名單可阻止來自惡意 IP 的所有請求,從而在減少負載的同時保護您的站點。

該插件通過限制登錄嘗試、強制使用強密碼和其他登錄安全措施來防止暴力攻擊。 如果它在您的網站中發現任何類型的感染,它將通過電子郵件通知您。 您還可以實時監控您網站的流量,以檢查它是否受到攻擊。

蘇庫裡

Sucuri 安全插件。

對於免費的安全插件,Sucuri 的安全插件提供了一套全面的功能,包括安全活動審計,以便您可以密切關注對您的站點所做的任何更改、文件完整性監控、遠程惡意軟件掃描、黑名單監控和安全強化措施。

該插件的“黑客攻擊後安全措施”部分將引導您完成妥協後應該做的三件關鍵事情。 您還可以啟用安全通知,以便在您的網站上發現感染或受到威脅時,您會立即收到警報。

當您升級到高級版本時,您可以訪問網站防火牆以增加保護。

iThemes 安全

iThemes 安全插件。

雖然免費版 iThemes Security 有助於鎖定 WordPress、修復常見漏洞並加強用戶憑據,但專業版幾乎提供了您可能需要的所有安全措施。

有兩因素身份驗證、惡意軟件掃描計劃和用戶操作日誌記錄,因此您可以跟踪用戶何時編輯內容、登錄或註銷。 您可以更新安全密鑰和鹽、設置密碼到期並將 Google reCAPTCHA 添加到您的站點。

其他功能包括在線文件比較、WP-CLI 集成和臨時權限提升,因此您可以授予臨時管理員或編輯器訪問您的站點的權限。

結論

沒有正確的方法可以保護您的 WordPress 網站免受安全威脅。 您能做的最好的事情就是讓 WordPress 核心、主題和插件保持最新,並實施許多不同的解決方案來修補漏洞、保護關鍵文件並強制用戶加強他們的憑據。

安排定期備份也是必須的。 您永遠不知道您的網站何時會遭受攻擊,因此您必須做好準備並製定計劃以在緊急情況下快速恢復您的網站。

投資一個可靠的安全插件,讓您可以掃描您的站點以查找漏洞、監控操作並在出現問題時提醒您,這也將有助於強化您的站點並確保它能夠很好地抵禦威脅。