談到WordPress安全性,您可以採取很多措施來鎖定您的網站,以防止黑客和漏洞影響您的電子商務網站或部落格。您最不想發生的事情是一天早上醒來發現您的網站一團糟。因此,今天我們將分享許多技巧、策略和技術,您可以使用這些技巧、策略和技術來提高WordPress安全性並保持受保護。
WordPress安全嗎?
您可能想知道的第一個問題是WordPress安全嗎?多半是對的。然而,WordPress通常會因為容易出現安全漏洞並且本質上不是用於企業的安全平臺而受到批評。這通常是由於使用者一直遵循經過行業驗證的安全最差做法。
使用過時的WordPress軟體、無效的外掛、糟糕的系統管理、憑據管理以及非技術人員WordPress使用者缺乏必要的Web和安全知識,使黑客能夠控制他們的網路犯罪遊戲。即使是行業領導者也不總是使用最佳實踐。路透社被黑是因為他們使用的是過時的WordPress版本。
從根本上說,安全並不是完全安全的系統。這樣的事情很可能是不切實際的,或者不可能找到和/或維護。然而,安全是降低風險,而不是消除風險。這是關於在合理範圍內使用所有可用的適當控制元件,使您可以改善整體姿勢,從而降低使自己成為目標並隨後被黑客入侵的可能性。– WordPress安全法典
現在,這並不是說漏洞不存在。根據多平臺安全公司Sucuri 2017年第三季度的一項研究, WordPress繼續領先於他們工作的受感染網站(83%)。 這一比例高於2016年的74%。
WordPress安全漏洞
WordPress為Internet上超過43.0%的網站提供支援,並且擁有數十萬個主題和外掛組合,因此存在漏洞並不斷被發現也就不足為奇了。但是,圍繞WordPress平臺也有一個很棒的社羣,以確保這些東西儘快得到修補。截至2022年,WordPress安全團隊由大約50名(高於2017年的25名)專家組成,其中包括首席開發人員和安全研究人員——大約一半是Automattic的員工,還有一些人在網路安全領域工作。
WordPress漏洞
在下面檢視一些不同型別的WordPress安全漏洞。
- Backdoors(後門)
- Pharma Hacks
- Brute-force Login Attempts(暴力登入嘗試)
- Malicious Redirects(惡意重定向)
- Cross-site Scripting (XSS,跨站指令碼)
- Denial of Service
Backdoors(後門)
這個名副其實的後門漏洞為黑客提供了繞過安全加密的隱藏通道,以通過異常方法( wp-Admin、SFTP 、FTP等)訪問WordPress網站。一旦被利用,後門使黑客能夠通過跨站點汙染對託管伺服器造成嚴重破壞攻擊——危害託管在同一伺服器上的多個站點。在2017年第三季度, Sucuri報告說,後門仍然是攻擊者採取的眾多黑客攻擊後行動之一,71%的受感染網站具有某種形式的後門注入。
惡意軟體家族分佈
後門通常被加密以看起來像合法的WordPress系統檔案,並通過利用平臺過時版本中的弱點和錯誤進入WordPress資料庫。TimThumb慘敗是利用黑幕指令碼和過時軟體危害數百萬網站的後門漏洞的典型例子。
幸運的是,這個漏洞的預防和治療相當簡單。您可以使用SiteCheck等工具掃描您的WordPress網站, 該工具可以輕鬆檢測常見的後門程式。雙重身份驗證、阻止IP、限制管理員訪問和防止未經授權執行PHP檔案很容易解決常見的後門威脅,我們將在下面詳細介紹。Canton Becker 也有一篇關於清理WordPress安裝上的後門混亂的好文章。
Pharma Hack
Pharma Hack漏洞用於在過時版本的WordPress網站和外掛中插入惡意程式碼,導致搜尋引擎在搜尋受感染網站時返回藥品廣告。與傳統的惡意軟體相比,該漏洞更像是垃圾郵件威脅,但讓搜尋引擎有足夠的理由阻止該網站以散佈垃圾郵件的指控。
Pharma Hack的移動部分包括外掛和資料庫中的後門,可以按照Sucuri部落格中的說明進行清理。然而,這些漏洞利用通常是隱藏在資料庫中的加密惡意注入的惡意變種,需要徹底的清理過程來修復漏洞。不過,您可以使用推薦的WordPress託管服務提供商和最新的伺服器並定期更新您的WordPress安裝、主題和外掛,從而輕鬆防止Pharma Hacks。
Brute-force Login Attempts(暴力登入嘗試)
蠻力登入嘗試使用自動化指令碼來利用弱密碼並獲得對您網站的訪問許可權。兩步驗證、限制登入嘗試、監控未經授權的登入、阻止IP和使用強密碼是防止暴力攻擊的一些最簡單和高效的方法。但不幸的是,許多WordPress網站所有者未能執行這些安全措施,而黑客很容易在一天內使用暴力攻擊破壞多達30,000個網站。
Malicious Redirects(惡意重定向)
惡意重定向使用FTP、SFTP、wp-admin和其他協議在WordPress安裝中建立後門,並將重定向程式碼注入網站。重定向通常以編碼形式放置在您的 .htaccess檔案和其他WordPress核心檔案中,將網路流量引導至惡意站點。我們將在下面的WordPress安全步驟中介紹一些可以防止這些問題的方法。
跨站指令碼 (XSS)
跨站點指令碼 (XSS) 是指將惡意指令碼注入到受信任的網站或應用程式中。攻擊者使用它在不知情的情況下向終端使用者傳送惡意程式碼,通常是瀏覽器端指令碼。目的通常是獲取cookie或會話資料,甚至可能重寫頁面上的HTML。
根據WordFence的說法,跨站指令碼漏洞是WordPress外掛中最常見的漏洞。
Denial of Service
可能是其中最危險的一個,拒絕服務 (DDoS)漏洞利用程式碼中的錯誤和錯誤來淹沒網站作業系統的記憶體。黑客通過DDoS攻擊利用過時且有漏洞的WordPress軟體版本,入侵了數百萬個網站並賺取了數百萬美元。儘管出於經濟動機的網路犯罪分子不太可能以小公司為目標,但他們往往會破壞過時的易受攻擊的網站,以建立殭屍網路鏈來攻擊大型企業。
即使是最新版本的WordPress軟體也無法全面防禦備受矚目的DDoS攻擊,但至少可以幫助您避免陷入金融機構與老練網路犯罪分子之間的交火中。不要忘記2016年10月21日。這是網際網路因DNS DDoS攻擊而癱瘓的日子。
WordPress安全指南 2022
根據網際網路實時統計,每天有超過100,000個網站被黑客入侵。這就是為什麼花一些時間閱讀以下關於如何更好地加強WordPress安全性的建議如此重要的原因。
WordPress網站每天都被黑客入侵
隨著WordPress平臺的變化和新漏洞的出現,我們將確保及時更新這篇文章的相關資訊。
- 安全的WordPress託管
- 使用最新的PHP版本
- 聰明的使用者名稱和密碼
- 最新版本
- 鎖定WordPress後臺
- 雙重身份驗證
- HTTPS – SSL證書
- 強化wp-config.php
- 禁用XML-RPC
- 隱藏WordPress版本
- HTTP安全標頭
- WordPress安全外掛
- 資料庫安全
- 安全連線
- 檔案和伺服器許可權
- 在儀表板中禁用編輯
- 防止盜鏈
- 始終進行WordPress備份
- DDoS防護
1. 安全的WordPress託管
談到WordPress安全性,不僅僅是鎖定您的網站,儘管我們將在下面為您提供有關如何做到這一點的最佳建議。您的WordPress主機還負責Web伺服器級別的安全性。
選擇一個您可以信任的主機非常重要。或者,如果您在自己的VPS上託管WordPress,那麼您需要具備自己做這些事情的技術知識。
安全的WordPress託管
伺服器加固是維護完全安全的WordPress環境的關鍵。它需要多層硬體和軟體級別的安全措施來確保託管WordPress站點的IT基礎架構能夠防禦物理和虛擬的複雜威脅。
因此,託管WordPress的伺服器應使用最新的作業系統和(安全)軟體進行更新,並徹底測試和掃描漏洞和惡意軟體。
在伺服器上安裝WordPress之前,伺服器級防火牆和入侵檢測系統應該到位,即使在WordPress安裝和網站建設階段也能得到很好的保護。但是,機器上安裝的每個旨在保護 WordPress 內容的軟體都應該與最新的資料庫管理系統相容,以保持最佳效能。伺服器還應配置為使用安全網路和檔案傳輸加密協議(例如SFTP而不是FTP),以隱藏敏感內容免受惡意入侵者的侵害。
託管伺服器架構示例
2.使用最新的PHP版本
PHP是您的WordPress網站的支柱,因此在您的伺服器上使用最新版本非常重要。PHP的每個主要版本通常在釋出後的兩年內都得到完全支援。在此期間,會定期修復錯誤和安全問題並進行修補。截至目前,在PHP 7.1或更低版本上執行的任何人都不再擁有安全支援,並且面臨未修補的安全漏洞。
支援的PHP版本
你猜怎麼著?根據官方WordPress Stats頁面,截至撰寫本文時,超過57%的WordPress使用者仍在使用PHP 5.6或更低版本。如果將此與PHP 7.0結合使用,則高達77.5%的使用者當前正在使用不再受支援的PHP版本。那太可怕了!
有時,企業和開發人員確實需要時間來測試並確保與他們的程式碼相容,但他們沒有藉口在沒有安全支援的情況下執行。更不用說在舊版本上執行的巨大效能影響了。
WordPress PHP版本統計
不知道您當前使用的是哪個版本的PHP?大多數主機通常將其包含在您網站的標頭請求中。一種快速檢查方法是通過Pingdom執行您的站點。單擊第一個請求並查詢X-Powered-By
引數。通常,這將顯示您的Web伺服器當前使用的PHP版本。但是,出於安全原因,某些主機會刪除此標頭。部分伺服器預設會刪除此標頭以確保您的網站安全。
在Pingdom中檢查PHP版本
在寶塔面板,您甚至可以通過儀表盤中的按鈕在PHP版本之間切換。
寶塔面板切換PHP版本
如果您在使用cPanel的WordPress主機上,通常可以通過單擊軟體類別下的“PHP Select”在PHP版本之間切換。
cPanel PHP版
3.使用聰明的使用者名稱和密碼
令人驚訝的是,加強WordPress安全性的最佳方法之一就是簡單地使用巧妙的使用者名稱和密碼。聽起來很容易對吧?好吧,看看SplashData的2019年全年最常被盜密碼的年度列表(按受歡迎程度排序)。
- 123456
- password
- 123456789
- 12345678
- 12345
- 111111
- 1234567
- sunshine
- qwerty
- iloveyou
沒錯!最受歡迎的密碼是“123456”,其次是一個驚人的“密碼”。
強制使用安全的WordPress密碼
核心WordPress的wp_hash_password
函式使用phpass密碼雜湊框架和八次基於MD5的雜湊。
一些最好的安全性從基礎開始。Google對如何選擇強密碼有一些很好的建議。或者,您可以使用強密碼生成器等線上工具。您可以在此處瞭解有關如何更改WordPress密碼的更多資訊。
為每個網站使用不同的密碼也很重要。儲存它們的最佳方式是本地儲存在計算機上的加密資料庫中。KeePass是一個很好的免費工具。如果您不想走這條路,還有線上密碼管理器,例如1Password或LastPass。即使您的資料安全地託管在雲中,這些通常也更安全,因為您沒有在多個站點上使用相同的密碼。它還可以防止您使用便籤。
就您的WordPress安裝而言,您永遠不應該使用預設的“admin”使用者名稱。為管理員帳戶建立一個唯一的WordPress使用者名稱,並刪除“admin”使用者(如果存在)。您可以通過在儀表盤的“使用者”下新增一個新使用者併為其分配“管理員”配置檔案(如下所示)來執行此操作。
WordPress管理員角色
為新帳戶分配管理員角色後,您可以返回並刪除原來的“管理員”使用者。確保在單擊刪除時選擇“將所有內容歸於”選項並選擇新的管理員配置檔案。這將指定此人作為這些文章的作者。
將所有內容歸於管理員
您還可以使用以下命令在phpMyAdmin中手動重新命名您當前的管理員使用者名稱。確保在編輯表格之前備份您的資料庫。
UPDATE wp_users SET user_login = 'newcomplexadminuser' WHERE user_login = 'admin';
4. 始終使用最新版本的WordPress、外掛和主題
加強WordPress安全性的另一個非常重要的方法是始終保持最新狀態。這包括WordPress核心、外掛和主題(來自WordPress外掛庫和高階版)。這些更新是有原因的,很多時候這些包括安全增強和錯誤修復。我們建議您閱讀我們關於WordPress自動更新如何工作的深入指南。
讓WordPress保持最新狀態
不幸的是,數以百萬計的企業執行著過時版本的WordPress軟體和外掛,但仍然相信他們正走在商業成功的正確道路上。他們列舉了不更新的原因,例如“他們的站點將崩潰”或“核心修改將消失”或“外掛 X 無法工作”或“他們只是不需要新功能”。
事實上,網站崩潰主要是因為舊 WordPress 版本中的錯誤。WordPress團隊和了解所涉及風險的專家開發人員從不推薦核心修改。WordPress更新主要包括必備的安全補丁以及執行最新外掛所需的附加功能。
您是否知道據報道 外掛漏洞佔黑客已知入口點的55.9% ?這就是WordFence在一項研究中發現的,他們採訪了1,000多名WordPress網站所有者,這些網站所有者都是攻擊的受害者。通過更新您的外掛,您可以更好地確保您不是這些受害者之一。
被黑的WordPress 網站
還建議您只安裝受信任的外掛。WordPress外掛庫中的“特色”和“流行”類別可能是一個很好的起點。或者直接從開發者網站下載。我們強烈反對使用無效的WordPress外掛和主題。
首先,您永遠不知道修改後的程式碼可能包含什麼。這很容易導致您的網站被黑客入侵。不為高階 WordPress 外掛付費也無助於整個社羣的發展。我們需要支援開發人員。
以下是正確刪除WordPress主題的方法。
您可以使用像VirusTotal這樣的線上工具 來掃描外掛或主題的檔案,以檢視它是否檢測到任何型別的惡意軟體。
病毒總數
如何更新WordPress核心
有幾種簡單的方法可以更新您的WordPress安裝。
要更新WordPress核心,您可以單擊WordPress儀表盤中的“更新”,然後單擊“立即更新”按鈕。
更新WordPress核心
您還可以通過下載最新版本並通過SFTP上傳來手動更新WordPress。
重要的!如果操作不正確,覆蓋錯誤的資料夾可能會破壞您的網站。如果您對此感到不自在,請先諮詢開發人員。
請按照以下步驟更新現有安裝:
- 刪除舊的
wp-includes
和wp-admin
目錄。 - 上傳新的
wp-includes
和wp-admin
目錄。 - 將新資料夾中的單個檔案上傳
wp-content
到現有wp-content
資料夾,覆蓋現有檔案。不要刪除您現有的wp-content
資料夾。不要刪除現有wp-content
目錄中的任何檔案或資料夾(被新檔案覆蓋的檔案或資料夾除外)。 - 將新版本根目錄中的所有新鬆散檔案上傳到您現有的WordPress根目錄。
如何更新WordPress外掛
更新WordPress外掛與更新WordPress核心的過程非常相似。單擊WordPress儀表盤中的“更新”,選擇要更新的外掛,然後單擊“更新外掛”。
更新WordPress外掛
同樣,您也可以手動更新外掛。只需從外掛開發人員或WordPress外掛庫中獲取最新版本並通過FTP上傳,覆蓋目錄中的現有外掛 /wp-content/plugins
。
同樣重要的是要注意,開發人員並不總是讓他們的外掛保持最新。WP Loop的團隊對儲存庫中有多少WordPress外掛沒有跟上當前的WordPress核心進行了很好的分析。 根據他們的研究 ,外掛庫中將近50%的外掛在2年多的時間裡沒有更新。
這並不意味著該外掛不適用於當前版本的WordPress,但建議您選擇積極更新的外掛。過時的外掛更有可能包含安全漏洞。
img src:WP迴圈
在外掛方面使用您的最佳判斷。檢視“上次更新”日期和外掛有多少評分。如下例所示,這個已經過時並且評論很差,所以我們很可能會建議遠離它。WordPress在大多數一段時間未更新的外掛頂部也有一個警告。
評分不佳的舊WordPress外掛
還有很多資源可以幫助您掌握最新的WordPress安全更新和漏洞。請參閱下面的一些:
- WP Security Bloggers : 一個包含20多個安全源的很棒的聚合資源。
- WPScan漏洞資料庫:目錄超過10,000個WordPress核心、外掛和主題漏洞。
- ThreatPress:每日更新的WordPress外掛、主題和WordPress核心漏洞資料庫。
- 官方WordPress安全檔案
WordPress安全檔案
5. 鎖定您的WordPress管理後臺
有時,流行的WordPress隱蔽安全策略對於普通的線上業務和WordPress網站來說是適當有效的。如果您讓黑客更難找到某些後門,那麼您受到攻擊的可能性就會降低。鎖定您的WordPress管理後臺並登入是增強安全性的好方法。兩種很好的方法是首先更改您的預設wp-admin登入URL並限制登入嘗試。
如何更改您的WordPress登入URL
預設情況下,您的WordPress站點的登入URL是 domain.com/wp-admin。問題之一是所有的機器人、黑客和指令碼都知道這一點。通過更改URL,您可以減少自己的目標並更好地保護自己免受暴力攻擊。這不是萬能的解決方案,它只是一個小技巧,絕對可以幫助保護您。
要更改您的WordPress登入 URL,我們建議使用免費的WPS Hide login外掛或高階Perfmatters外掛。這兩個外掛都有一個簡單的輸入欄位。請記住選擇一些獨特的東西,這些東西不會出現在機器人或指令碼可能會嘗試掃描的列表中。
使用Perfmatters隱藏WordPress登入URL
如何限制登入嘗試
雖然上述更改管理員登入URL的解決方案可以幫助減少大多數錯誤登入嘗試,但設定限制也非常有效。免費的Cerber Limit Login Attempts外掛是輕鬆設定鎖定持續時間、登入嘗試以及IP白名單和黑名單的好方法。
限制WordPress中的登入嘗試
如果您正在尋找更簡單的WordPress安全解決方案,另一個不錯的選擇是免費的Login Lockdown外掛。登入鎖定記錄每次失敗登入嘗試的IP地址和時間戳。如果在短時間內從同一IP範圍內檢測到超過一定次數的嘗試,則對該範圍內的所有請求禁用登入功能。並且完全相容我們上面提到的WPS Hide登入外掛。
鎖定WordPress
如何新增基本HTTP身份驗證(htpasswd保護)
鎖定管理員的另一種方法是新增HTTP身份驗證。這需要使用者名稱和密碼才能訪問WordPress登入頁面。注意:這通常不應在電子商務網站或會員網站上使用。但這可能是防止機器人訪問您的網站的一種非常有效的方法。
.htpasswd身份驗證提示
Apache
如果您使用的是cPanel主機,您可以從其控制面板啟用受密碼保護的目錄。要手動設定,您首先需要建立一個 .htpasswd
檔案。您可以使用這個方便的生成器工具。然後將檔案上傳到你的wp-admin資料夾下的一個目錄,例如:
home/user/.htpasswds/public_html/wp-admin/htpasswd/
然後使用以下程式碼建立一個.htaccess
檔案並將其上傳到您的/wp-admin/
目錄。確保更新目錄路徑和使用者名稱。
AuthName "Admins Only" AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/htpasswd AuthType basic require user yourusername
這樣做的一個警告是它會破壞您網站前端的AJAX (admin-ajax)。這是某些第三方外掛所必需的。因此,您還需要將以下程式碼新增到上述 .htaccess檔案中。
<Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files>
Nginx
如果您正在執行Nginx,您還可以使用HTTP基本身份驗證來限制訪問。看看這個教學。
啟用後,您的WordPress網站將需要身份驗證才能訪問它。您可以隨時更改憑據或在不再需要時將其禁用。
鎖定URL路徑
如果您使用的是Cloudflare或Sucuri等Web應用程式防火牆 (WAF),它們也有辦法鎖定URL路徑。本質上,您可以設定一個規則,以便只有您的IP地址才能訪問您的WordPress管理員登入URL。同樣,這通常不應在電子商務網站或會員網站上使用,因為它們也依賴於訪問您網站的後端。
- Cloudflare在其Pro和更高階別帳戶中具有鎖定URL功能。您可以為任何URL或路徑設定規則。
- Sucuri具有黑名單URL路徑功能。然後,您可以將自己的IP列入白名單。
6. 利用雙重身份驗證
當然,我們不能忘記兩因素身份驗證!無論您的密碼有多安全,都存在被他人發現的風險。雙因素身份驗證涉及一個兩步過程,在該過程中,您不僅需要密碼登入,還需要第二種方法。它通常是文字 (SMS)、電話或基於時間的一次性密碼 (TOTP)。在大多數情況下,這可以100%有效地防止對您的WordPress網站的暴力攻擊。為什麼?因為攻擊者幾乎不可能同時擁有您的密碼和手機。
關於雙因素身份驗證,實際上有兩個部分。第一個是您在網路託管服務提供商處擁有的帳戶和/或儀表板。如果有人可以訪問它,他們可能會更改您的密碼、刪除您的網站、更改DNS記錄以及各種可怕的事情。
雙因素身份驗證的第二部分與您的實際WordPress安裝有關。為此,我們推薦幾個外掛:
其中許多都有自己的身份驗證器應用程式,您可以在手機上安裝:
- Android Duo Mobile App
- iPhone Duo Mobile App
- Android Google Authenticator App
- iPhone Google Authenticator App
安裝和配置上述外掛之一後,您通常會在WordPress登入頁面上有一個額外的欄位來輸入您的安全程式碼。或者,使用Duo外掛,您首先使用您的憑據登入,然後需要選擇一種身份驗證方法,例如Duo Push、呼叫或密碼。
這種方法可以很容易地與更改您的預設登入URL相結合,我們之前已經討論過。因此,您的WordPress登入URL不僅只有您知道,而且現在需要額外的身份驗證才能進入。
WordPress兩因子身份驗證器頁面
因此,請確保利用兩因素身份驗證,這可能是增強WordPress安全性的一種簡單方法。
7. 使用HTTPS進行加密連線 – SSL證書
加強WordPress安全性的最容易被忽視的方法之一是安裝SSL證書並通過HTTPS執行您的網站。HTTPS(安全超文字傳輸協議)是一種允許您的瀏覽器或Web應用程式安全地連線到網站的機制。一個很大的誤解是,如果您不接受信用卡,就不需要SSL。
好吧,讓我們解釋一下為什麼HTTPS在電子商務之外很重要的幾個原因。許多主機,都通過Let’s Encrypt提供免費的SSL證書。
HTTPS加密連線
1. 安全
當然,HTTPS的最大原因是增加了安全性,是的,這確實與電子商務網站密切相關。但是,您的登入資訊有多重要?對於那些執行多作者WordPress網站的人,如果您通過HTTP執行,則每次有人登入時,該資訊都會以純文字形式傳遞到伺服器。HTTPS對於維護網站和瀏覽器之間的安全連線至關重要。這樣,您可以更好地防止黑客和/或中間人訪問您的網站。
因此,無論您擁有部落格、新聞網站、代理機構等,它們都可以從HTTPS中受益,因為這可以確保不會以純文字形式傳遞任何內容。
2. 搜尋引擎優化
Google已經正式表示HTTPS 是一個排名因素。雖然這只是一個很小的排名因素,但你們中的大多數人可能會利用在SERP中獲得的任何優勢來擊敗競爭對手。
3. 信任和信譽
根據GlobalSign的一項調查,28.9% 的訪問者會在瀏覽器中尋找綠色位址列。其中 77% 的人擔心他們的資料在網上被截獲或濫用。通過看到那個綠色掛鎖,客戶會立即更加安心,因為他們知道他們的資料更加安全。
4. 推薦資料
很多人沒有意識到HTTPS到HTTP推薦資料在Google Analytics中被阻止。那麼資料會發生什麼變化呢?好吧,其中大部分只是與“直接流量”部分混為一談。如果有人從HTTP轉到HTTPS,則仍會通過引薦來源網址。
5. Chrome警告
自2018年7月24日起,Chrome 68及更高版本開始將所有非HTTPS網站標記為“不安全”。不管他們是否收集資料。這就是為什麼HTTPS比以往任何時候都更重要的原因!
如果您的網站大部分流量來自Chrome,這一點尤其重要。您可以在瀏覽器和作業系統的受眾部分下檢視Google Analytics,以便檢視您的WordPress網站從Google Chrome獲得的流量百分比。谷歌讓訪問者更清楚地知道您的WordPress網站可能沒有在安全連線上執行。
Chrome不是一個安全的網站
6. 效能
由於一個稱為HTTP/2的協議,很多時候,那些通過HTTPS執行經過適當優化的站點甚至可以看到速度提高。由於瀏覽器支援,HTTP/2需要HTTPS。效能的提升有多種原因,例如HTTP/2能夠支援更好的多路複用、並行性、Huffman編碼的HPACK壓縮、ALPN擴充套件和伺服器推送。
使用TLS 1.3,HTTPS 連線速度更快。
現在重新考慮HTTPS?檢視我們深入的WordPress HTTPS遷移指南,讓您快速上手,並在我們的TLS與SSL比較中瞭解更多資訊。
要在登入和管理您的站點時強制在您和伺服器之間建立安全、加密的連線,請將以下行新增到您的wp-config.php
檔案中:
define('FORCE_SSL_ADMIN', true);
(建議閱讀:如果您使用的是舊TLS版本,您可能需要在Chrome中修復ERR_SSL_OBSOLETE_VERSION通知)。
8. 強化你的wp-config.php檔案
您的wp-config.php檔案就像WordPress安裝的核心和靈魂。就WordPress安全性而言,它是您網站上迄今為止最重要的檔案。它包含您的資料庫登入資訊和安全金鑰,用於處理 cookie 中的資訊加密。以下是您可以採取的一些措施來更好地保護這個重要檔案。
1.移動wp-config.php
預設情況下,您的wp-config.php檔案位於 WordPress 安裝的根目錄(您的 /public
HTML資料夾)中。但是您可以將其移動到非www可訪問的目錄。亞倫亞當斯寫了一個很好的解釋為什麼這是有益的。
要移動您的wp-config.php
檔案,只需將其中的所有內容複製到另一個檔案中即可。然後在您的wp-config.php
檔案中,您可以放置以下程式碼段以簡單地包含您的其他檔案。注意:目錄路徑可能因您的網路主機和設定而異。通常雖然它只是上面的一個目錄。
<?php include('/home/yourname/wp-config.php');
注意:這可能不適用於某些WordPress主機。這是因為出於安全原因,open_basedir限制不允許在 ~/public
目錄上方執行PHP 。
2. 更新WordPress安全金鑰
WordPress安全金鑰是一組隨機變數,可改進儲存在使用者cookie中的資訊的加密。從WordPress 2.7開始,有4個不同的鍵:AUTH_KEY
、SECURE_AUTH_KEY
、 LOGGED_IN_KEY
和 NONCE_KEY
.
當您安裝WordPress時,這些是為您隨機生成的。但是,如果您經歷了多次遷移(檢視我們精選的最佳WordPress遷移外掛列表)或從其他人那裡購買了網站,那麼建立新的WordPress金鑰可能會很好。
WordPress實際上有一個免費工具,您可以使用它來生成隨機金鑰。您可以更新儲存在wp-config.php檔案中的當前金鑰。
WordPress安全金鑰
閱讀有關WordPress安全金鑰的更多資訊。
3. 更改許可權
通常,WordPress站點根目錄中的檔案將設定為644,這意味著檔案的所有者可以讀取和寫入檔案,並且該檔案的組所有者中的使用者可以讀取檔案,其他所有人都可以讀取檔案。根據WordPress文件,wp-config.php
檔案的許可權應設定為440或400,以防止伺服器上的其他使用者讀取它。您可以使用FTP客戶端輕鬆更改此設定。
wp-config.php許可權
在某些託管平臺上,許可權可能需要不同,因為執行Web伺服器的使用者沒有寫入檔案的許可權。如果您對此不確定,請諮詢您的託管服務提供商。
9. 禁用XML-RPC
在過去幾年中, XML-RPC已成為暴力攻擊的重要目標。正如Sucuri所提到的,XML-RPC的隱藏特性之一是您可以使用system.multicall方法在單個請求中執行多個方法。這非常有用,因為它允許應用程式在一個HTTP請求中傳遞多個命令。但也會發生的是,它被用於惡意目的。
有一些像Jetpack這樣的WordPress外掛依賴於XML-RPC,但大多數人不需要這個,簡單地禁用對它的訪問可能是有益的。不確定XML-RPC當前是否在您的網站上執行?Automattic團隊的Danilo Ercoli編寫了一個名為 XML-RPC Validator的小工具。您可以通過它執行您的WordPress站點以檢視它是否啟用了XML-RPC。
WordPress XML-RPC驗證器
要完全禁用此功能,您可以安裝免費的Disable XML-RPC外掛。或者您可以使用高階perfmatters外掛禁用它,該外掛還包含Web效能改進。
10. 隱藏你的WordPress版本
隱藏您的WordPress版本再次涉及WordPress安全性的主題。其他人對您的WordPress站點配置瞭解得越少越好。如果他們看到您正在執行過時的WordPress安裝,這可能是入侵者的一個歡迎訊號。預設情況下,WordPress版本顯示在您網站原始碼的標題中。同樣,我們建議您確保您的WordPress安裝始終是最新的,這樣您就不必擔心這一點。
原始碼中的WordPress版本
您可以使用以下程式碼來刪除它。只需將其新增到您的WordPress主題functions.php
檔案中。
重要的!如果操作不當,編輯WordPress主題的原始碼可能會破壞您的網站。
function wp_version_remove_version() { return ''; } add_filter('the_generator', 'wp_version_remove_version');
您還可以使用像 perfmatters這樣的高階外掛,它允許您一鍵隱藏WordPress版本,以及對WordPress網站的其他優化。
使用Perfmatters隱藏WordPress版本
顯示WordPress版本的另一個地方是每個WordPress版本中包含的預設檔案readme.html
(如下所示)。它位於安裝的根目錄中,domain.com/readme.html
. 您可以通過FTP安全地刪除此檔案。
自述檔案中的WordPress版本
如果您執行的是WordPress 5.0或更高版本,則不再適用,因為版本號不再包含在檔案中。
11. 新增最新的HTTP安全標頭
加強WordPress安全性的另一個步驟是利用HTTP安全標頭。這些通常在Web伺服器級別配置,並告訴瀏覽器在處理您的站點內容時如何表現。有許多不同的HTTP安全標頭,但以下通常是最重要的標頭。
- Content-Security Policy
- X-XSS-Protection
- Strict-Transport-Security
- X-Frame-Options
- Public-Key-Pins
- X-Content-Type
如果您想了解更多關於HTTP安全標頭的資訊,KeyCDN有一篇深入說明的文章。
您可以通過啟動Chrome devtools並檢視您網站的初始響應中的標頭來檢查您的WordPress網站上當前正在執行哪些標頭。以下是一個網站的示例。您可以看到我們正在使用strict-transport-security
、x-content-type
和x-frame-options
標頭。
HTTP安全標頭
您還可以使用Scott Helme提供的免費securityheaders.io工具掃描您的WordPress網站。這將顯示您當前在您的站點上有哪些HTTP安全標頭。如果您不確定如何實施它們,您可以隨時詢問您的主機是否可以提供幫助。
HTTP安全標頭掃描
注意:同樣重要的是要記住,當您實施HTTP安全標頭時,它可能會如何影響您的WordPress子域。例如,如果您新增內容安全策略標頭並限制域訪問,則您還需要新增自己的子域。
12. 使用WordPress安全外掛
當然,我們必須提及一些WordPress安全外掛。有很多優秀的開發人員和公司提供出色的解決方案來幫助更好地保護您的WordPress網站。這是其中的幾個。
部分伺服器提供商具有硬體防火牆、主動和被動安全性、按分鐘正常執行時間檢查和許多其他高階功能,可防止攻擊者訪問您的資料。
以下是上述外掛的一些典型功能和用途:
- 建立使用者配置檔案時生成並強制使用強密碼
- 強制密碼過期並定期重置
- 使用者操作記錄
- 輕鬆更新WordPress安全金鑰
- 惡意軟體掃描
- 兩因子身份驗證
- 重新驗證碼
- WordPress安全防火牆
- IP白名單
- IP黑名單
- 檔案更改日誌
- 監控DNS更改
- 阻止惡意網路
- 檢視訪問者的WHOIS資訊
許多安全外掛的一個非常重要的功能包括校驗和實用程式。這意味著他們檢查您的WordPress安裝並查詢對WordPress.org提供的核心檔案的修改(通過API)。對這些檔案的任何更改或修改都可能表明存在黑客攻擊。您還可以使用WP-CLI執行您自己的checksum。
請務必閱讀我們關於檔案完整性監控的詳盡指南。
另一個值得一提的優秀外掛是WP Security Audit Log外掛。 這對於那些在WordPress多站點或只是多作者站點上工作的人來說太棒了。它有助於確保使用者的工作效率,並讓管理員看到正在更改的所有內容;例如登入、密碼更改、主題更改、小工具更改、新文章建立、WordPress更新等。
這是一個完整的WordPress活動日誌解決方案。在撰寫本文時,WP Security Audit Log外掛已獲得超過100,000次活動安裝。如果您正在尋找與WordPress多站點相容的安全解決方案,這是一個絕佳的選擇。
安全稽覈日誌檢視器
它還具有額外的高階外掛,例如電子郵件通知、使用者會話管理、搜尋和報告。檢視這些額外的WordPress安全外掛,它們可以幫助鎖定壞人。
13. 加強資料庫安全
有幾種方法可以提高WordPress資料庫的安全性。首先是使用一個巧妙的資料庫名稱。如果您的網站名為排球技巧,預設情況下您的WordPress資料庫很可能命名為wp_volleyballtricks
. 通過將您的資料庫名稱更改為更隱蔽的名稱,它有助於保護您的網站,使黑客更難以識別和訪問您的資料庫詳細資訊。
第二個建議是使用不同的資料庫表字首。預設情況下,WordPress使用wp_
. 將其更改為類似的東西39xw_
可能會更加安全。當您安裝WordPress時,它會要求提供表字首(如下所示)。還有一些方法可以更改現有安裝的WordPress表字首。
WordPress表字首 – img src: jatinarora
14. 始終使用安全連線
我們怎麼強調使用安全連線的重要性都不為過!確保您的WordPress託管它採取預防措施,例如提供SFTP或SSH。SFTP或安全檔案傳輸協議(也稱為 SSH 檔案傳輸協議)是用於檔案傳輸的網路協議。與標準FTP相比,這是一種更安全的方法。
確保您的家庭路由器設定正確也很重要。如果有人入侵了您的家庭網路,他們可以訪問各種資訊,包括可能儲存您關於WordPress網站的重要資訊的位置。以下是一些簡單的提示:
- 不要啟用遠端管理 (VPN)。典型使用者從不使用此功能,通過將其關閉,您可以避免將您的網路暴露給外界。
- 路由器預設使用192.168.1.1等範圍內的IP。使用不同的範圍,例如10.9.8.7。
- 在您的Wifi上啟用最高階別的加密。
- 將您的Wifi列入IP白名單,以便只有擁有密碼和特定IP的人才能訪問它。
- 保持路由器上的韌體是最新的。
在公共場所登入您的WordPress網站時,請務必小心。請記住,星巴克不是一個安全的網路!在單擊連線之前採取預防措施,例如驗證網路SSID。您還可以使用ExpressVPN等第3方VPN服務來加密您的網際網路流量並隱藏您的IP地址以防黑客。
15.檢查檔案和伺服器許可權
安裝和Web伺服器上的檔案許可權對於增強WordPress安全性至關重要。如果許可權太鬆,有人可以輕鬆訪問您的網站並造成嚴重破壞。另一方面,如果您的許可權過於嚴格,這可能會破壞您網站上的功能。因此,全面設定正確的許可權非常重要。
檔案許可權
- 如果使用者有權讀取檔案,則分配讀取許可權。
- 如果使用者有權寫入或修改檔案,則會分配寫入許可權。
- 如果使用者有權執行檔案和/或將其作為指令碼執行,則分配執行許可權。
目錄許可權
- 如果使用者有權訪問識別的資料夾/目錄的內容,則分配讀取許可權。
- 如果使用者有權新增或刪除資料夾/目錄中包含的檔案,則會分配寫許可權。
- 如果使用者有權訪問實際目錄並執行功能和命令,包括刪除資料夾/目錄中的資料的能力,則分配執行許可權。
您可以使用iThemes Security之類的免費外掛來掃描您的WordPress網站上的許可權。
WordPress檔案許可權掃描
以下是關於WordPress中檔案和資料夾許可權的一些典型許可權建議。有關更深入的說明,請參閱有關更改檔案許可權的WordPress Codex文章。
- 所有檔案應為644或640。例外:wp-config.php應為440或400,以防止伺服器上的其他使用者讀取它。
- 所有目錄應為755或750。
- 任何目錄都不應該被賦予777,即使是上傳目錄。
16.在WordPress儀表盤中禁用檔案編輯
很多 WordPress 網站都有多個使用者和管理員,這會使WordPress的安全性更加複雜。一個非常糟糕的做法是授予作者或貢獻者管理員訪問許可權,但不幸的是,這種情況一直都在發生。為使用者提供正確的角色和許可權非常重要,這樣他們就不會破壞任何東西。因此,簡單地禁用WordPress中的“外觀編輯器”可能是有益的。
你們中的大多數人可能曾經去過那裡。你去外觀編輯器中快速編輯一些東西,突然你留下了一個白屏宕機。最好在本地編輯檔案並通過FTP上傳。當然,在最佳實踐中,您應該首先在開發站點上測試這樣的東西。
WordPress外觀編輯器
此外,如果您的WordPress網站被黑客入侵,他們可能做的第一件事就是嘗試通過外觀編輯器編輯PHP檔案或主題。這是他們在您的網站上執行惡意程式碼的快捷方式。如果他們無法從儀表板訪問此資訊,首先,它可以幫助防止攻擊。將以下程式碼放入您的wp-config.php
檔案中以刪除所有使用者的“edit_themes”、“edit_plugins”和“edit_files”函式。
define('DISALLOW_FILE_EDIT', true);
17.防止盜鏈
盜鏈的概念很簡單。您在Internet上的某個地方找到一張圖片,並直接在您的網站上使用該圖片的URL。此影象將顯示在您的網站上,但將從原始位置提供。這實際上是盜竊,因為它使用了熱連結站點的頻寬。這可能看起來沒什麼大不了的,但它可能會產生很多額外的成本。
The Oatmeal就是一個很好的例子。《赫芬頓郵報》熱連結了他的一幅由多張圖片組成的卡通片,並獲得了高達1,000美元以上的賬單。
盜鏈賬單
Apache防盜鏈
要實現Apache伺服器的防盜鏈,只需將以下程式碼新增到您的.htaccess
檔案中。
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ http://dropbox.com/hotlink-placeholder.jpg [NC,R,L]
第二行定義了允許的引薦來源——允許直接連結到影象的站點,這應該是您的實際網站。如果您想允許多個站點,您可以複製此行並替換引薦來源網址。如果你想生成一些更復雜的規則,看看這個htaccess hotlink protection generator。
NGINX防盜鏈
為了實現NGINX伺服器防盜鏈,只需將以下程式碼新增到您的配置檔案中。
location ~ .(gif|png|jpe?g)$ { valid_referers none blocked ~.google. ~.bing. ~.yahoo yourdomain.com *.yourdomain.com; if ($invalid_referer) { return 403; } }
CDN防盜鏈
如果您從CDN提供影象,則設定可能會略有不同。以下是一些流行的CDN提供商的資源。
18. 始終備份
備份是每個人都知道他們需要但並不總是採取的一件事。上面的大多數建議都是您可以採取的安全措施,以更好地保護自己。但無論您的網站有多安全,它都永遠不會100%安全。因此,您需要備份以防最壞的情況發生。
大多數託管WordPress託管服務提供商現在都提供備份。
如果您的主機沒有備份,則可以使用一些流行的WordPress服務和外掛來自動化該過程。
WordPress備份服務
WordPress站點備份服務的月費通常很低,並將您的備份儲存在雲中。
- VaultPress (來自Automattic團隊,現在是Jetpack的一部分)
- CodeGuard
- BlogVault
WordPress備份外掛
WordPress備份外掛允許您通過FTP獲取備份或與外部儲存源整合,例如Amazon S3、Google Cloud Storage、Google Drive或Dropbox。我們強烈建議使用增量解決方案,以便它使用更少的資源。
19. DDoS防護
DDoS是一種DOS攻擊,其中多個系統用於針對單個系統導致拒絕服務 (DoS) 攻擊。DDoS攻擊並不是什麼新鮮事——根據Britannica的說法,第一個記錄在案的案例可以追溯到2000年初。與入侵您的網站的人不同,這些型別的攻擊通常不會損害您的網站,而只會讓您的網站癱瘓幾個小時或幾天.
你能做些什麼來保護自己?最好的建議之一是使用信譽良好的3rd方安全服務,例如Cloudflare 或Sucuri。如果您正在經營一家企業,那麼投資他們的高階計劃是有意義的。
來自Cloudflare和Sucuri的DDoS保護
他們先進的DDoS保護可用於緩解各種形式和規模的DDoS攻擊,包括針對UDP和ICMP協議的攻擊,以及SYN/ACK、DNS放大和第7層攻擊。其他好處包括將您置於有助於隱藏您的原始IP地址的代理後面,儘管它不是萬無一失的。
請務必檢視我們關於如何阻止DDoS攻擊的案例研究。我們的客戶有一個執行Easy Digital Downloads的小型電子商務網站,該網站在7天內收到了超過500萬次單個頁面的請求。該站點通常每天僅產生30-40MB的頻寬和數百名訪問者。但出乎意料的是,該網站立即達到了每天15-19GB 的資料傳輸量!這增加了4650%。谷歌分析顯示沒有額外的流量。所以這不好。
來自DDoS攻擊的高頻寬
客戶在他們的站點上實施了Sucuri的Web應用程式防火牆,所有頻寬和請求立即丟棄在站點上(如下所示),此後沒有出現過任何問題。因此,如果您遇到此類問題,這絕對是一個很好的投資和節省時間的方法。
新增了Sucuri Web應用程式防火牆
小結
如您所見,有多種方法可以加強您的WordPress安全性。使用巧妙的密碼、保持核心和外掛更新,以及選擇安全的託管WordPress主機,這些只是讓您的WordPress網站保持正常執行和安全執行的一小部分。對於你們中的許多人來說,您的WordPress網站既是您的業務,也是您的收入,因此花一些時間並儘快實施上述一些安全最佳實踐非常重要。
評論留言