WordPress 是非常知名的開源建站程序,全球范圍內高達40%的網站使用WP搭建,這就導致很多不法分子盯上了 WordPress 想搞點破壞或者黑客之類的動作。
每天都有無數程序自動掃描全球WordPress搭建的網站,有的是發垃圾郵件,有的是植入木馬做壞事,有的是盜取優質文章之類。防火墻插件是一定要安裝的,除了保障安全外還可以攔截一些不友善的機器人程序大大降低服務器負擔以及保護文章內容不被盜取。
Wordfence官網數據↓
其實最強大的Wordpress安全插件是付費版Sucuri,有CDN級別防火墻。不過它沒有GPL版本,原版價格很高,而且它會減慢加載速度。iThemes Security 和All In One WP Security也不錯,不過功能沒有Wordfence強大、全面。
Wordfence 是最適合大眾,性價比最高,功能最全面,防護效果最好的安全插件之一。可以限制登錄嘗試次數、攔截惡意機器人爬蟲、屏蔽固定IP/地區訪問、攔截惡意流量、啟用2FA登錄驗證功能等,安全性max!
下圖是網站受到SQL注入攻擊,被Wordfence發現并且成功攔截后發送給管理員的通知郵件。
?自動攔截惡意爬蟲。
WORDPRESS防火墻
Web 應用程序防火墻可識別并阻止惡意流量。由一個 100% 專注于 WordPress 安全性的大型團隊構建和維護。
[Premium] 通過 Threat Defense Feed 實時更新防火墻規則和惡意軟件簽名(免費版延遲 30 天)。
[Premium] 實時 IP 阻止列表阻止來自最惡意 IP 的所有請求,在減少負載的同時保護您的站點。
在端點保護您的站點,實現與 WordPress 的深度集成。與云替代方案不同,它不會破壞加密、無法繞過且不會泄露數據。
集成的惡意軟件掃描程序會阻止包含惡意代碼或內容的請求。
通過限制登錄嘗試來防止暴力攻擊。
WORDPRESS安全掃描器
惡意軟件掃描程序檢查核心文件、主題和插件是否存在惡意軟件、不良 URL、后門、SEO 垃圾郵件、惡意重定向和代碼注入。
通過 Threat Defense Feed 實時更新惡意軟件簽名。
將您的核心文件、主題和插件與 WordPress.org 存儲庫中的內容進行比較,檢查它們的完整性并向您報告任何更改。
通過用原始的原始版本覆蓋它們來修復已更改的文件。刪除任何不屬于 Wordfence 界面的文件。
檢查您的站點是否存在已知的安全漏洞并提醒您任何問題。當插件被關閉或放棄時,還會提醒您潛在的安全問題。
通過掃描文件內容、帖子和評論中的危險 URL 和可疑內容來檢查您的內容安全。
檢查您的網站或 IP 是否因惡意活動、生成垃圾郵件或其他安全問題而被列入黑名單。
登錄安全
雙因素身份驗證 (2FA),一種最安全的遠程系統身份驗證形式,可通過任何基于 TOTP 的身份驗證器應用程序或服務獲得。
登錄頁面 CAPTCHA 阻止機器人登錄。
禁用或添加 2FA 到 XML-RPC。
使用已知的泄露密碼阻止管理員登錄。
WORDFENCE中心
Wordfence Central 是一種在一個地方管理多個站點的安全性的強大而有效的方法。
在一個視圖中有效地評估您所有網站的安全狀態。無需離開 Wordfence Central 即可查看詳細的安全發現。
強大的模板使配置 Wordfence 變得輕而易舉。
高度可配置的警報可以通過電子郵件、SMS 或 Slack 傳遞。通過利用嚴重性級別選項和每日摘要選項來提高信噪比。
跟蹤重要的安全事件并發出警報,包括管理員登錄、密碼泄露使用和攻擊活動激增。
免費用于無限的網站。
安全工具
使用實時流量,實時監控其他分析包中未顯示的訪問和黑客嘗試;包括來源、他們的 IP 地址、一天中的時間和在您的網站上花費的時間。
通過 IP 阻止攻擊者或基于 IP 范圍、主機名、用戶代理和引用者構建高級規則。
Wordfence Premium 提供國家/地區阻止功能。
注意:在儀表盤等地方會顯示類似下圖內容,提示當前版本為免費版本,高級功能不可用。忽略就行,所有高級功能正常使用沒有影響。如果在意請勿購買!有個用戶故意找茬說顯示下圖內容,非要我們處理好。解釋很久對方還是不理解,直接退款拉黑。
這是GPL版本插件,所以這個地方顯示這樣,功能都正常使用,不需要在意這個提示。那個用戶應該是把插件轉賣或者用在別人網站,拿破解版當正版宣傳,他客戶找他麻煩,他就來我這里找茬。要想百分百完美,請去wordfence官網購買官方版本。
什么是GPL插件
此插件屬于GPL授權產品,安全合法。點擊了解什么是GPL協議,點擊了解WordPress官網關于GPL的說明。簡單的說采用GPL協議的插件/主題源代碼開源共享,可以被合法地自由更改、使用、分發。
本商品標題提及的插件/主題所屬公司和我們沒有任何關系,該公司也沒有授權其產品或者品牌給我們。本商品是標題提及插件/主題的分發版本,由第三方公司/開發者制作,并由我們根據通用公共許可證 (GPL) 條款重新分發。
我們使用該插件/主題名字目的僅為明確本GPL商品所基于的插件/主題,旨在幫用戶更好地了解我們這個產品的功能及可能的應用場景,絕無冒充或誤導之意。本商品的銷售遵循并尊重 GPL 許可協議的所有條款,確保用戶了解他們獲取的是基于開源許可的插件/主題分發版本。允許他們查看、修改和重新分發軟件,以促進軟件的自由使用和發展。
插件安全性
直接從國外正規渠道購買,不修改源代碼。所有插件我們自用建站,在多個站點使用過,安全、穩定、可靠。擔心插件不安全?查看《WordPress破解版插件/主題 (綠色版, GPL, Nulled) 安全嗎?》。
- 通過Virustotal殺毒驗證;
- 通過Wordfence源代碼審核;
- 通過Sucuri安全殺毒掃描。
Wordfence更新方法/記錄
此插件能在后臺在線更新,有新版本時直接點擊更新升級。
Wordfence下載(Premium)購買條款
本站插件購自國外網站,購買價格為4.99美金/個,有效期2年。外貿星統一售賣價格為19元人民幣/個,終生有效,并且花費巨大精力制作了使用教程還提供人工答疑服務,絕對物超所值。插件僅供學習交流研究使用,虛擬產品具有可復制性,一經售出概不退款,詳情請移步服務條款。
外貿星為購買用戶提供售后服務,插件使用過程有任何疑問請在下方評論留言,有問必答。
Wordfence安裝/ 啟用方法
因為可以在線更新,所以我們沒有上傳最新版本安裝包。請安裝完插件后先禁用,然后啟用,會提示更新版本。在線更新插件后再配置防火墻。
需要先卸載免費版本,如果同時使用免費版本和高級版本會提示下圖內容。直接上傳安裝包安裝,啟用插件即可。設置教程和常見問題看下方教程。
安裝方法1:上傳安裝
在網站后臺左側菜單欄目找到并且點擊“插件”>“安裝插件”,然后點擊左上角的“上傳插件”,上傳下載好的zip安裝包點擊“立即安裝”,安裝好后點擊“啟用插件”完成安裝。
安裝方法2:FTP安裝
解壓插件壓縮包,將解壓獲得的文件夾上傳至plugins目錄(xxx.com/wp-content/plugins)。
在網站后臺左側菜單欄目找到并且點擊“插件”>“已安裝插件”,在插件列表中找到該插件,點擊“啟用”。
可在線更新,直接后臺更新就行。
Wordfence啟用、配置防火墻
安裝插件后網站頂部會出現下圖中提示,需要配置后防火墻才能啟用。點擊“點擊這里配置”按鈕。
安裝方法1
數字1那里會自動根據服務器情況選好相應類型,不用管。依次點擊數字2,3步驟操作。
一般情況下會提示安裝成功,清理緩存刷新后完成防火墻啟用。如果安裝失敗提示下面內容,是因為.user.ini文件權限被鎖定,導致寫不進內容。
有2個辦法可以解決這個問題,1是手動編輯.user.ini文件添加內容,2是使用SSH登陸后解除.user.ini文件寫入限制(2個方法選1個就行,建議選手動編輯),然后回到網站后臺按Wordfence插件提示再啟用一次防火墻即可。
手動編輯.user.ini(推薦):
通過管理面板或者FTP進入網站根目錄,找到并且打開編輯.user.ini文件
把下面3行代碼復制下來,把xxx.com改成你.user.ini文件上圖黃色框中的網址,然后把3行代碼粘貼到.user.ini里面,點保存修改。
; Wordfence WAFauto_prepend_file = '/www/wwwroot/xxx.com/wordfence-waf.php'; END Wordfence WAF
下圖是粘貼3行代碼后的樣子↓。
回到插件設置儀表盤界面,刷新頁面,此時防火墻已經100%啟用,防火墻防護已經啟用。刷新后沒有啟用的話是緩存導致,清理所有緩存刷新。
SSH解除.user.ini寫入限制(不推薦,安全性降低):
使用SSH登錄,直接輸入下面內容按enter回車鍵即可解除限制。
把xxx.com改成你站點的域名
chattr -i /www/wwwroot/xxx.com/.user.ini
這是粘貼后的樣子
這是按回車鍵后的樣子
最后去寶塔面板,進入站點根目錄文件夾,找到.user.ini文件
此時再按上面教程重新啟用防火墻會提示安裝成功↓。
刷新網站緩存,再刷新頁面,儀表盤顯示防火墻已經100%啟用。
注意:一定要回去寶塔面板,按下圖把.user.ini文件權限改回去,改成644,有時網站可能修改不成功,忽略。
安裝方法2(不推薦,安全性降低)
注意:這個方法主要適合共享(托管)服務器或者只有一個網站的VPS服務器。如果VPS服務器存放了多個網站需要把其它網站的“防跨站攻擊”關閉(會降低網站安全性),不然的話其它網站無法打開。建議還是采用方法1安裝。
如果是共享(托管)服務器,按上圖操作后應該自動激活了。如果是VPS Nginx會提示安裝 auto_prepend_file = ‘/www/wwwroot/xxx.com/wordfence-waf.php’
以寶塔面板為例,在PHP管理里面 > “配置文件”,大概在698行左右找到“auto_prepend_file =”這個內容,在后面補上界面提示的代碼‘/www/wwwroot/xxx.com/wordfence-waf.php’ (這代碼只是示例別直接復制粘貼!),然后刷新寶塔面板內存,回到網站后臺刷新頁面緩存,高級防火墻已經啟用(顯示100%)。
開啟2FA安全登錄驗證
2FA是雙重因素驗證,登錄時需要輸入驗證碼(無需翻墻),功能類似于銀行U盾或者電子密碼器。建議開啟2FA安全登錄驗證,大大提高安全性。
點擊后臺左側Wordfence里面的“Login Security”,再點擊頂部的”Settings”。這里設置什么角色可以啟用2FA安全登錄驗證,可選是強制開啟登錄認證還是自由開啟(Optional)。一般只有自己公司后臺管理員之類才開啟安全登錄,客戶之類不建議開啟。
點擊勾選下圖功能,點“SAVE”保存。這樣在新設備第一次登錄需要驗證,往后30天無需驗證。
點擊頂部的“Two-Factor Authentication”進入綁定驗證器界面。手機先去谷歌Paly或者蘋果Store下載谷歌身份驗證器軟件(下圖),如果打不開谷歌商店點擊這個鏈接下載安卓APK安裝包。
回到Wordfence的“Two-Factor Authentication”界面(下圖)。打開剛安裝的谷歌驗證器軟件,點擊軟件右下角那個彩色的圓形+號,選擇“掃描二維碼”,掃碼Wordfence界面中的二維碼完成網站綁定。此時谷歌驗證器會顯示一行信息:Wordfence(xxx.com),(可能需要先點擊“Click to reveal PIN”)會顯示一個6位數驗證碼,輸入下圖紅色框中“ACTIVE”。
會提示下載恢復密匙,點擊下載后完成綁定。恢復密匙作為備用方案可以在沒有驗證碼的情況下登錄網站,妥善保管。
下次登錄后臺時會提示輸入2FA Code,打開手機驗證器軟件,輸入軟件里面的6位數字點“Log In”登錄。勾選“Remember for 30 days” 30天內在同一個設備登錄不需要輸入驗證碼。
Wordfence設置、使用教程
設置方法點擊查看Wordfence設置教程。
如果掃描提示下圖內容,點擊展開詳情。
官方源文件里面不存在下圖中的紅色代碼,所以提示有毒。那是移除license key驗證代碼,不是病毒,點忽略就行。不放心可以把代碼復制放到免費Kimi AI工具問下是否有毒。
常見問題 & 解決方法
提示掃描失敗
很多時候掃描失敗提示下面文字錯誤,是因為服務器卡頓,資源不足無法支持掃描。解決好服務器問題后繼續掃描即可。
2024.08.30更新:今天插件更新版本,提升了掃描性能,降低30%服務器負擔,靠譜。
“There was an error connecting to the Wordfence scanning servers: cURL error 28: Resolving timed out after 10001 milliseconds”
常見問題1:如果掃描過程自動暫停并且提示下圖內容,一般是因為服務器忙掃描超時。
解決方法:
1- 在寶塔面板把PHP設置>配置修改的max_execution_time改為1000或更多;
2- 在網站根目錄的wp-config.php 添加下面代碼后保存文件。
define('WORDFENCE_SCAN_FAILURE_THRESHOLD', 600);
3- 在Wordfence插件>“掃描”>“掃描選項和計劃”(中間位置右邊),掃描等級選“高靈敏度”。找到“性能選項”設置,把最大執行時間改為25。如果服務器配置很低很卡就勾選“使用低資源掃描”,不然的話別勾選。
操作完上面3步刷新頁面點重新掃描應該恢復正常。如果還是掃描失敗,應該是服務器卡,配置低于1H2G或者太多頁面之類。修改“掃描選項和計劃”,取消勾選下面內容減少掃描量試下。
如果掃描過程自動暫停并且提示下圖內容,是innodb_log_file_size過小導致(默認為5M)。
進入寶塔面板 > “MySQL” >“配置修改” > 大概51行位置,把 innodb_log_file_size的值改為30M。保存后重啟數據庫。刷新頁面重新掃描恢復正常。
無法保存文件、產品、關鍵詞
如果遇到無法保存文章、產品、添加的關鍵詞或者一些插件設置等,可能是被安全插件攔截,開啟學習模式解決問題。點擊Wordfence > “防火墻”。下圖紅色框提示“阻止復雜的攻擊”證明不是處于學習模式,點擊“管理WAF”。
選擇學習模式,勾選自動啟用,選擇一個自動啟用日期。點右上角“保存更改”。
回到防火墻,顯示“目前處于學習模式”
掃碼結果提示有問題
掃描后可能會發現很多標記黃色的問題(下圖),表示插件的某些文件的代碼跟源文件的有差異,可是處于安全范圍內,大部分情況下可以直接點擊“總是忽略”,建議查看代碼差異后根據情況操作。
造成這個現象一般是更新了插件/主題,最新版代碼跟上個版本的代碼有點差異。還有一個原因是使用了GPL或者破解版的插件,源文件被寫入license key 激活或者添加一些代碼屏蔽驗證步驟之類。
點擊“查看差異”可以查看有差異的代碼。
例如下圖是文件差異對比,左邊是源文件,右邊是新文件,紅色背景部分表示新文件比源文件少了一些代碼。從下圖可以看出新文件少了幾行CSS代碼(9-23行)。css代碼不影響安全性之類,可點擊“總是忽略”。
下圖橙色背景部分表示GPL插件新文件跟源文件的代碼有部分差異,新文件添加了“PAID CURRENT”繞過插件激活驗證,文件是安全的,可點擊“總是忽略”。
下圖綠色背景部分表示新文件比源文件新增的代碼,代碼的意思是密匙key 365天后過期,也是為了繞過插件激活驗證,文件是安全的,可點擊“總是忽略”。
如果提示的問題是是紅色圓圈,很大概率被掛馬,需要刪除/恢復文件。具體情況要看哪個文件出問題,被添加了什么代碼。如果是readme之類文件直接刪除,如果是index.php, login.php之類文件被掛馬直接下載一個全新的wordpress安裝包解壓出來,把里面的相應文件粘貼覆蓋掉被掛馬文件,同時清理所有緩存。
訪問頁面被攔截
如果出現下面圖情況,是被防火墻誤判攔截。直接打勾“I am certain this is a false positive”, 再點擊“Allowlist This Action”,最后刷新頁面即可恢復正常。
如果出現下圖情況,直接刷新頁面一般會恢復正常。刷新不行的話按下圖步驟輸入網站綁定的郵箱,點擊發送解封郵件。查收郵件點擊里面鏈接解封IP。如果你網站發信功能異常,將不會收到郵箱,通過FTP或者寶面板把插件禁用,登錄后臺后再啟用即可。
建議把常用IP地址加入wordfence防火墻白名單避免被誤攔截。
掃描超時、經常提示插件需要更新
一般服務器配置卡或者卡頓會導致資源不夠掃描暫停或者失敗,解決服務器卡頓問題是關鍵,同時優化下掃描任務減少壓力。
點擊“掃描”↓
點擊“掃描選項和計劃”↓
選擇“標準掃描”↓
下面2個↓不要勾選,掃描壓力小點,插件新版本代碼不一樣不會提示。不要隨便安裝不知來源插件!
不要勾選↓,有插件/主題更新Wordfence不會提示(后臺還是會提示)。有新插件要及時更新!
勾選↓,安全性大大提高。
勾選↓,降低服務器壓力。
修改參數↓
點右上角保存更改。
提示“Wordfence Web應用防火墻的最后一次規則更新不成功…”
如果提示下圖內容:“Wordfence Web應用防火墻的最后一次規則更新不成功…”,點擊“Manually Update”。
點擊“手動刷新規則”↓。
提示更新成功↓。
如果想一勞永逸解決問題,看這個解決方法教程,按客服說的操作就行。
谷歌索引收錄/?wordfence前綴無用頁面
生成很多下圖中網址帶/?wordfence前綴的無用頁面,并且被谷歌Google Search Console收錄。
解決方法:在robots.txt文件中添加一行:Disallow: /*/?wordfence* 就可禁止爬蟲爬取相應頁面。
網站被黑案例分享
案例1:
一個訪客剛在外貿星這里購買了Wordfence插件,一直問我是否安全、有沒有后門之類,直覺告訴我他有故事。聊開發現他網站之前被黑癱瘓中,想購買我們Wordfence插件拯救。如果他以前一開始就購買這個插件,大概率不會發生被黑事件。
案例2:
曾經一個建站客戶網站被掛馬出現Malicious Redirects的案例,僅供大家參考。一個2C客戶網站被掛馬,打開后臺登錄頁面和前臺所有頁面會自動跳轉到下圖網站。無法登陸后臺,打不開頁面,同服務器另外2個網站也受牽連。
后臺登陸由wp-login.php文件控制,登錄不上去第一時間去網站根目錄查看這個文件源碼,發現被添加了十多行惡意代碼。從健康站點復制wp-login.php過來覆蓋掉,登錄頁面恢復正常。
首頁由wp-index.php文件控制, 去網站根目錄查看這個文件源碼發現也被掛馬,從健康站點復制wp-index.php文件過來覆蓋掉,頁面正常打開不再跳轉。
使用WordFence插件掃描整站,結果:
提示wp-load.php有病毒,對比源文件發現第107行開始被添加了惡意代碼,刪掉即可。
提示wp-content/plugins/wordfence/readme.md有病毒,查看最新插件安裝包源文件發現不存在這個文件,而且readme.md文件一般是說明性文件不具備功能可刪掉,所以直接刪掉這個文件。
處理完威脅后再用Wordfence掃描整站,提示Wp Rocket緩存文件有病毒,應該是定期更新緩存時緩存了有毒文件。直接進入寶塔面板把整個緩存文件夾刪掉,讓緩存插件重新緩存。
再用WordFence掃描整站,提示安全,威脅解除。馬上修改后臺登錄地址、登錄用戶名、密碼。
復盤這次事件應該是客戶其中一個網站的登錄賬號和密碼太簡單被破解導致。客戶當初找別人搭建WP后臺,自己搞前端頁面。別人隨便給他設置了一個4個數字的管理員登錄名,密碼也很簡單,還沒安裝防火墻插件,安全性非常低。
這件事也不能怪第三方,他只負責安裝后臺自然不會主動安裝防火墻之類。隨便弄個簡單管理員賬號只是為了讓客戶登錄后臺,按理來說客戶應該新建賬號刪掉舊賬號。客戶自己前端搞不定才找我們搭建,我們也不想多管閑事就沒理其它內容。
網站被黑后我們免費幫客戶清理病毒,設置新賬戶,安裝wordfence防火墻插件。也算吃一點長一智,以后遇到這種事情先建議客戶把安全性提高,雖然出安全問題不是我們的過錯可還是要我們處理,干脆一開始弄好。
不建議小白自己搭建網站原因之一就在這里,使用WP搭建一個網站很簡單,可是要方方面面做到位需要豐富經驗。安全方面安裝設置好Wordfence插件基本就OK了。
網上很多掃描器自動掃描網站漏洞,枚舉登錄后臺之類,然后掛挖礦程序或者木馬跳轉到賭博/病毒網站。后臺登錄地址一定要修改不能使用默認地址,用戶名和密碼盡量設復雜點。安裝WordFence安全插件可以大大增強網站安全性,還能增加2FA安全登錄驗證。
WordPress 很多插件經常被曝出有重大安全漏洞,就連知名的Elementor插件也被幾次曝出有嚴重安全漏洞,官方緊急發布新版本修復。盡量安裝知名度比較高的插件/主題,代碼一般比較規范,背后團隊實力可靠。插件、主題一定要及時更新到最新版本。
如果使用破解版/GPL插件和主題,一定要先殺毒并且在可靠渠道購買。詳情查看《破解版插件/主題(GPL版本)安全嗎?啥缺點?哪里買可靠?》