您可以采取多種措施來確保您的網站安全。這包括從更新插件和執行備份等簡單任務到更復雜的策略,例如遷移到具有更強大安全措施的托管服務提供商。
您可以采取多種措施來確保您的網站安全。這包括從更新插件和執行備份等簡單任務到更復雜的策略,例如遷移到具有更強大安全措施的托管服務提供商。
1. 保持 WordPress、插件和主題更新
當插件或主題在數月或數年內未更新時,黑客能通過尋找軟件中的漏洞并找到進入網站的方法。
保護自己免受這些潛在的威脅使 WordPress 及其所有組件在允許的情況下保持最新狀態。
2. 更改默認的“admin”用戶名
使用“admin”或“administrator”默認的用戶名會讓攻擊者更容易強行進入。
許多黑客試圖通過嘗試盡可能多的用戶名和密碼組合來闖入網站。這稱為暴力攻擊。如果有人已經知道您的用戶名,這意味著他們只需要猜測一個登錄因素。
WordPress 不允許您在設置管理員帳戶后更改用戶名。若要進行更改,需要創建一個新帳戶,為其指定管理員用戶角色,然后刪除舊帳戶。
為此,請轉到“用戶”→“添加新用戶”。然后,輸入帳戶的詳細信息(包括難以猜測的用戶名),然后從“角色”菜單中選擇“管理員”。
3.使用強密碼并定期更改密碼
雖然有一些方法可以重新獲得對被盜帳戶的訪問權限,但這個過程可能很艱巨。此外,黑客可能會對您的內容和聲譽造成無法彌補的損害。
為了提高安全性,您需要定期更改密碼。這樣,如果憑據泄露,您的帳戶將是安全的。
4. 實現雙因素身份驗證 (2FA)
啟用 2FA 后,您的站點將需要額外的驗證方法才能用戶登錄。通常,這是通過短信、電子郵件或身份驗證應用程序發送的一次性代碼。
由于黑客無法訪問您的移動設備或電子郵件,因此他們將無法登錄您的帳戶。一些網站提供使用 2FA 的選項,而另一些網站則強制執行。
5.通過SSL證書使用HTTPS加密
安全套接字層 (SSL) 證書使您的網站能夠通過 HTTPS(HTTP 的安全版本)加載。該證書驗證您的網站是否真實,以及瀏覽器和服務器之間的通信是否已加密。
您可以從多個機構免費獲得SSL證書,例如Let's Encrypt。許多WordPress網絡主機會自動為您的網站設置SSL證書。其他網絡主機將允許您通過cPanel手動設置證書。
6.安裝信譽良好的安全插件
WordPress 安全插件通常帶有一系列功能和工具,可幫助您保護您的網站。這些通常包括:
垃圾郵件防護
拒絕服務 (DDoS) 攻擊防護
Web 應用程序防火墻 (WAF)
惡意軟件掃描和清理
自動備份
7.定期備份您的網站
定期備份數據可以說是確保數據安全的最重要的事情。對于網站,在發生安全漏洞或故障時,完整備份可以成為救命稻草。
WordPress有很多備份選項。某些網絡主機提供自動備份作為托管計劃的一部分。但是最好不要完全依賴這些備份。如果您的服務器因編碼錯誤、主機錯誤或黑客攻擊而受到損害,備份也可能受到損害。更好的選擇是增加異地存儲備份。
如果您不斷向網站添加新內容,這些實時備份是理想的選擇。這意味著您將始終擁有最新版本的副本。此外,備份存儲在異地,因此即使您的站點完全關閉,您也可以隨時訪問它們。
8. 使用 Web 應用程序防火墻 (WAF)
WAF 是一種防火墻,旨在過濾進出網站的流量。它使用規則來過濾特定類型的流量,并且可以將已知的惡意 IP 列入黑名單。
WAF 旨在幫助您阻止常見類型的網絡攻擊,包括 SQL 注入、跨站點腳本 (XSS) 和跨站點請求偽造 (CSRF)。他們之所以能夠做到這一點,要歸功于他們復雜的規則系統。
防火墻的規則越全面,就越有效。許多安全插件都擁有復雜的 WAF,其規則集是根據多年處理 WordPress 攻擊的經驗設計的。
雖然您可以手動設置和配置 WAF,但最好的辦法是使用 Web 主機或可以設置 WAF 的安全插件。這樣,只需打開防火墻即可。
9.定期掃描惡意軟件
掃描您的網站以查找惡意軟件涉及使用第三方工具或安全插件。該軟件會瀏覽您網站的文件、插件和主題以查找感染惡意的軟件。如果它檢測到任何不對勁的地方,它會讓你知道問題出在哪里。
現在,大多數防病毒軟件只是在后臺運行,只有在出現問題時才會打擾您。
如果您采取措施保護您的網站,惡意軟件感染應該非常罕見。即便如此,設置自動惡意軟件掃描也沒有什么壞處,以防您受到零日漏洞或其他類型的難以阻止的攻擊的攻擊。
10.阻止表單和評論垃圾郵件
任何具有開放評論部分或表單的 WordPress 網站都可能遇到垃圾郵件。
您可以嘗試使用 CAPTCHA 來阻止機器人垃圾郵件提交,但您不可避免地會惹惱一些用戶,并降低您的網站蓬勃發展所需的合法參與度和轉化率。
11. 使用 FTP 實現安全文件權限
基于 UNIX 的系統中的每個文件和文件夾都具有一組權限。這些權限由三個數字集表示。例如,“777”表示每個用戶都對文件或目錄具有完全寫入、讀取和執行權限。
三個數字中的第一個表示誰擁有文件或目錄。第二個數字代表所有者組中的帳戶,第三個數字代表其他每個用戶。
在上面的示例中, 7 表示這些類型的用戶中的每一個都具有讀取 (4)、寫入 (2) 和執行 (1) 權限。如果你把這些值加起來,你會得到一個七。
您分配給 WordPress 文件和目錄的文件權限將控制誰可以訪問、讀取和編輯它們。WordPress 的推薦文件權限是目錄的 755 和文件的 644。
要設置這些權限,您需要通過文件傳輸協議 (FTP) 工具(如 FileZilla)連接到您的網站。您可以從您的托管帳戶獲取 FTP 憑據。
連接到站點后,導航到根目錄(通常標記為 public_html)。在此文件夾中,您可以選擇所需的任何子目錄或文件,右鍵單擊它,然后選擇顯示“文件權限”的選項。
將彈出一個新窗口,您可以在其中設置通過“數值”字段選擇的文件或目錄的權限。
如果更改目錄的權限,您還會看到一個選項,上面寫著遞歸到子目錄。這將使您能夠為所有子目錄或文件設置相同的權限。
請注意,當涉及到 WordPress 文件的最佳權限時,該規則有一些例外。其中之一是 wp-config.php 文件。
12. 保護您的 wp-config.php 文件
wp-config.php文件包括有關您的網站及其數據庫的關鍵信息。它是最重要的 WordPress 核心文件之一,這意味著您應該采取其他措施來保護它。
在權限方面,最好將 wp-config.php 設置為 400 或 440。如果您還記得上一部分的細分,您將知道這些權限值轉換為:
400:只有所有者才能讀取文件。
440:只有所有者和所有者組中的用戶才能讀取文件。
這將完全刪除wp-config.php的寫入權限。這通常是一個安全的選擇,因為它可以防止任何人修改文件的設置。
保護wp-config.php的另一種方法是將根目錄上方移動一級。如果 WordPress 在默認位置找不到該文件,它將在一個目錄中查找該文件。
這意味著WordPress仍將正常運行,但攻擊者可能會被找不到文件的事實所愚弄。
13.禁用wp-config.php文件中的文件編輯
WordPress 提供了多種編輯文件的選項。其中之一是使用插件和主題文件編輯器,它們可從儀表板獲得。
這些文件編輯器使您能夠更改站點的代碼,而無需通過 FTP 連接到它。這種方法的缺點是,如果黑客獲得了有權使用這些編輯器的帳戶的訪問權限,他們可能會對您的網站造成嚴重破壞。
因此,您可能需要考慮在 WordPress 中禁用文件編輯。為此,您可以打開 wp-config.php 文件并向其添加以下代碼行:
define('DISALLOW_FILE_EDIT', true);
請注意,某些主題和插件將自動禁用文件編輯。如果您在儀表板中看不到文件或主題編輯器,則可能是您正在使用這些工具之一。
14. 限制 .htaccess 文件中的目錄瀏覽
如果啟用了目錄瀏覽,您不會收到 403 禁止的錯誤,而是會看到該文件夾中的子目錄和文件列表。
如果要保護站點,則必須禁用目錄瀏覽。如果有人可以看到您網站文件夾的內容,他們可以獲得很多信息,例如您使用的主題和插件。他們還將能夠不受限制地瀏覽媒體文件,從隱私的角度來看,這是很糟糕的。
默認情況下,大多數 WordPress 網絡主機都禁用目錄瀏覽。如果您的不提供此功能,您可以通過編輯根目錄中的 .htaccess 文件來自行啟用它。
為此,請打開該文件并添加以下代碼行:
Options -Indexes
保存更改并關閉文件。現在,如果您嘗試通過瀏覽器導航到某個目錄,您將收到一條錯誤消息,提示您無權訪問它。
15. 限制對 wp-admin 目錄的訪問
wp-admin 是 WordPress 目錄的默認位置。如果您訪問您網站的主頁并將 /wp-admin 添加到 URL 的末尾,您將進入 WordPress 儀表板(在通過登錄頁面后)。
這種結構是WordPress網站的標準。這樣,你和攻擊者都可以輕松查找和訪問儀表板。
保護 WordPress 管理員的一種方法是使用密碼保護它。這樣,用戶在通過登錄頁面后需要輸入不同的密碼。
如果您的虛擬主機使用 cPanel,您可以使用目錄隱私工具向 wp-admin 目錄添加密碼。
進入此工具后,瀏覽文件夾,直到找到 wp-admin 目錄。單擊它旁邊的“編輯”按鈕,然后在下一頁上勾選“密碼保護此目錄”選項。
現在,目錄隱私工具將要求您為wp-admin設置密碼。保存密碼后,嘗試訪問 WordPress 儀表板。密碼彈出窗口應直接出現在瀏覽器中。
16.隱藏您的wp-admin登錄URL
保護 WordPress 管理員的另一種方法是更改指向登錄頁面的 URL。如果將此策略與上一節中介紹的其他密碼保護相結合,則攻擊者應該無法進入您網站的儀表板。
您可以手動更改wp-login URL,但使用插件可以簡化該過程。WPS Hide Login 是一個簡單的工具,可讓您設置新的登錄 URL,而無需編輯任何站點的代碼。
安裝插件后,轉到“設置”→“WPS 隱藏登錄”,然后查找顯示“登錄網址”的部分。使用該選項旁邊的字段,并將默認登錄 URL 替換為自定義 URL。
您可能希望使用字母和數字的隨機組合。這將使攻擊者更難猜測。只需確保為新的登錄頁面添加書簽,或設置一個您可以記住的 URL。
17. 限制登錄嘗試
限制用戶在特定時間段內可以進行的登錄嘗試次數。此限制不會影響普通用戶,但應該足以挫敗使用機器人的暴力攻擊。通過限制他們嘗試新憑據的速度,可以最大程度地減少他們成功的機會。
18. 自動注銷空閑用戶
這可能不是問題,具體取決于您從哪里登錄,但它仍然是一項值得實施的安全措施。當有其他人可以訪問您網站的儀表板時,尤其適用。
WordPress 不會自動注銷用戶。要添加此功能,您需要使用像 Inactive Logout 這樣的插件。
安裝插件后,轉到“設置”→“非活動注銷 ”→“常規設置”。查找“空閑超時”選項,并將該值設置為所需的任何計時器(以分鐘為單位)。
這樣如果用戶在該時間段內處于空閑狀態,則用戶將自動注銷。該插件還允許您配置一條消息,告知他們原因。
19.更改默認的WordPress數據庫前綴
每個 WordPress 數據庫都有一個名稱。默認情況下,該名稱為 wp_something,“something”代表數據庫的實際名稱。
這里真正重要的是前綴。默認情況下,WordPress使用wp_前綴,這意味著攻擊者可以很容易地猜出數據庫的全名。
只需更改前綴,攻擊者就會更加困難地完成該任務。不幸的是,更改 WordPress 數據庫前綴并不是那么簡單。
此過程需要您編輯兩個核心文件并對數據庫本身進行更改。因此在執行操作之前,您需要執行完整的網站備份。
首先,通過FTP訪問網站并轉到wp-config.php文件。打開文件并在其中查找以下行:
$table_prefix = ‘wp_’;
您可以繼續將“wp”前綴替換為其他內容,例如“newprefix”。這只是一個例子。
現在,保存文件并使用 phpMyAdmin 訪問數據庫。從左側列表中選擇 WordPress 數據庫,然后單擊表格列表上方屏幕頂部菜單中的 SQL。
這將打開一個頁面,您可以在其中執行影響數據庫的 SQL 命令。現在需要做的是替換數據庫中所有表的現有表前綴。默認情況下,這意味著以下表:
wp_options
wp_postmeta
wp_posts
wp_term_relationships
wp_term_taxonomy
wp_terms
wp_commentmeta
wp_comments
wp_links
請記住,某些插件也可能向數據庫添加新表。您還需要更新這些表的前綴。
對于每個表,您需要運行以下 SQL 命令:
RENAME table wp_xxxx TO newname_xxxx;
“xxxx”占位符代表下劃線后每個表的名稱。同樣,您需要將newname_前綴更改為之前在修改wp-config.php時設置的前綴。
根據需要對數據庫中的每個表重復此過程。準備就緒后,可以返回到儀表板。
更改數據庫前綴可能會破壞您網站上的任何活動插件和主題。這些工具不會識別更新的數據庫,除非您停用并重新激活它們。
因此,您需要瀏覽網站上的每個插件和主題并遵循該過程。完成后,檢查您的網站以確保一切正常。
20.隱藏您的WordPress版本
過去,WordPress用于在頁腳中顯示網站正在使用的軟件版本。我們的想法是,這些信息對于故障排除目的很有用,如果前端訪問者可以隨時獲得這些信息,那么查找起來會容易得多。
這種方法的問題在于,顯示版本號意味著攻擊者可以查找特定于該版本的漏洞。這為惡意行為者提供了大量信息,他們可以利用這些信息對您的網站進行攻擊。
另外,此功能對您沒有實際好處。畢竟,您可以隨時從儀表板檢查您網站的 WordPress 版本。
21. 使您的 PHP 版本保持最新
您可能知道,WordPress主要建立在PHP上。它依靠這種編程語言來執行大多數管理任務。
PHP也是一個軟件。這意味著它會定期更新新特性和功能,并改進性能。
WordPress 要求您的服務器運行 PHP 7.4 或更高版本。PHP有更新的版本,每個版本都為軟件帶來了性能和安全升級。這些升級也延續到WordPress本身。
隨著新版本的出現,大多數信譽良好的網絡主機都會在其服務器上更新PHP。一些提供商甚至允許您手動在版本之間切換(這對于解決 WordPress 網站上的錯誤可能是必需的)。
您可以通過導航到 WordPress 儀表板中的“設置”→“站點運行狀況”→“信息”→服務器來檢查您的站點正在運行的 PHP 版本。在這里,您將看到服務器配置的概述,包括它使用的 PHP 版本。
22. 關閉 PHP 錯誤報告
WordPress 帶有一個調試工具,使 CMS 能夠記錄 PHP 錯誤。您可以使用這些錯誤報告來解決您網站上的技術問題。
不幸的是,這些報告也可能導致安全問題。如果攻擊者可以訪問 PHP 錯誤日志,他們可以獲得有關您網站如何工作的大量信息。他們可能能夠看到您網站上哪些插件處于活動狀態,以及您網站上存在 PHP 問題的重要文件。
除非您正在積極解決 WordPress 中的錯誤,否則您不需要啟用 PHP 錯誤報告。如果您使用它來診斷問題,則需要在獲得所需信息后立即禁用 WordPress 調試模式。
禁用 PHP 錯誤報告需要您修改位于 WordPress 根目錄中的wp-config.php文件。您可以通過 FTP 訪問該目錄。
然后,打開wp-config.php文件并添加以下代碼行:
define ( ‘WP_DEBUG’, true );
將 true 值更改為 false 并保存文件。這將禁用 WordPress 中的錯誤日志。
您可以根據需要隨時重新打開它們。您只需將值更改回 true。
23.刪除不必要的插件和主題
插件和主題使 WordPress 成為一個多功能的平臺。它們為您的網站添加新功能,并使您能夠自定義其設計。
在確定您最喜歡的主題之前,您可能會嘗試許多不同的主題,但永遠不要卸載其余的主題。
您網站上的每個活動插件或不使用的主題都存在安全風險。
但是,這里有一個例外。出于故障排除的目的,您可能希望保持默認主題(如 Twenty Twenty-Three)已安裝但處于非活動狀態。
24. 刪除不必要的用戶帳戶
有些人可能會重復使用其個人帳戶中的憑據來登錄您的網站。如果這些憑據在安全漏洞中泄露,攻擊者將能夠使用它們來訪問您的網站。
在 WordPress 中刪除用戶帳戶很簡單。為此,請轉到“用戶”→“所有用戶”,然后選擇一個帳戶。確定要刪除的帳戶后,將鼠標懸停在該帳戶上,然后單擊“刪除”。
請注意,此選項僅在您是管理員時才會顯示。只要沒有其他人有權訪問管理員帳戶,您就應該是唯一能夠刪除用戶帳戶的人。
25. 監控用戶活動
活動日志是監視特定事件并記錄的工具。您可以訪問該日志,這使您能夠發現那些用戶對網站安全性產生負面影響的事件和操作。
默認情況下,此功能在 WordPress 中不可用,但您可以使用插件添加它。
26. 使用 CDN 降低 DDoS 攻擊的風險
內容分發網絡 (CDN) 可以幫助您大幅縮短加載時間。他們通過使用分布在世界各地的數據中心網絡緩存您的網站來做到這一點。當有人訪問該站點時,CDN 會攔截請求并從最近的服務器加載副本。
除了減少加載時間之外,使用 CDN 還具有許多好處。例如您的網站將更好地處理流量高峰。此外,CDN 可以在發生攻擊時充當屏障。
如果您的網站是 DDoS 攻擊的目標,CDN 可以快速關閉它。如果網絡檢測到連接異常,許多 CDN 可能會要求訪問者驗證他們是否是人類。由于 DDoS 攻擊依賴于機器人,因此它們通常無法繞過這些類型的安全檢查。
即使 DDoS 攻擊設法到達 CDN,其數據中心也是為了管理大量涌入的流量而構建的。同時,您的網站本身將受到 CDN 的保護。
您可以將任何您想要的 CDN 與 WordPress 集成。
27. 遷移到以安全為中心的托管服務提供商
每個虛擬主機都有自己的賣點。例如,一些托管服務提供商更注重安全性和性能,而另一些則優先考慮負擔得起的價格。
理想情況下,您將選擇一個承諾提供一流性能和安全性的網絡主機。有很多網絡主機符合這些標準并為您處理基本的安全任務。這些任務可能包括:
備份、設置 WAF、保護您免受 DDoS 攻擊、惡意軟件掃描和清理。
