WordPress 被駭全記錄,後續如何加強網站安全?

造九 WordPress 網站被駭植入惡意軟體全記錄

我平常工作時,都會將 GA 開在一旁,邊修改網站邊觀看流量狀況。突然很奇怪的是⋯⋯網站都沒人進來,雖然清晨 6 點線上人數 0 是常有的事。

但不會持續一整段時間都沒人,是我剛剛改網站把 GA 改壞了嗎?於是我自己進入網站,測試 GA 能否抓到我的數據。沒問題!有一個人了!是我自己,看來沒問題!

 

七點多的時候再看一下GA,波動圖還是一條線的平靜,這就奇怪了,理論上七點多陸續都會有人,不太可能一分鐘內都沒人。於是我打開了「無痕視窗」來測試是否有將網站改壞的狀況!

WordPresss 被駭紀錄
正常來說就算當下沒人,偶爾也會有波動,一分鐘之內有人來訪過的痕跡
前面將描述網站如何被駭以及發現的經過。如果要看如何加強 WordPress 網站安全性,請從4.0開始看。

我的 WordPress 網站被駭了!

一測我簡直難以相信!我的網站被駭了!所有進我網站的訪客,都會被轉到一個詐騙的頁面!!

訪客將被導入詐騙釣魚網站
惡意軟體會將所有訪客轉到此釣魚詐騙頁面

經營三年多來網站從來沒發生過的事,今天發生了!這是一個非常緊急的狀況、不馬上處理「網站 SEO 會嚴重掉分」不說⋯⋯萬一有人「因為進我的網站而被詐騙!」那就糟了!!

緊急處理第一步:啟用、並將一週前備份還原至備用主機

先緊急啟用了第二台主機,將網站一週前的備份還原上去。並將 IP 位址指向這個備份網站,先將訪客都導到還沒中毒前的 WordPress 網站!

緊急處理第二步:尋找被駭痕跡

奇怪,我網站雖然沒特別做什麼厲害的防護,但基本該做的都有做,怎麼會被駭呢!?做完緊急處置比較靜下來後⋯⋯心裡冒出許多疑問。

邊想邊在網站上找尋被駭的痕跡。很快在檢查外掛時⋯⋯「找到一個不是我安裝、我也不認識的外掛」,停用此外掛之後,網站就沒有自動跳轉的狀況!確認了就是此外掛在搞鬼!

WordPress 外掛被安裝了惡意軟體

狡猾的惡意軟體!無痕模式才測出中了病毒!

這支惡意軟體叫做「Yobar Wordpresa」,一隻很狡猾的程式,它設計了一套避開登入者的機制。只要你是「登入狀態」就不發揮作用,讓你被駭的渾然不知!

 

直到我開了無痕模式來連線網站「我就不是登入狀態了」,這時惡意軟體才發揮它的作用,對我伸出魔爪!如果不是剛好有看 GA 即時流量的習慣,真不知道何時才會發現網站有異狀!

WordPress 被駭後:心慌慌思考後續該怎麼做

能進入我的後台裝外掛!問題大了!

說真的此時心中亂糟糟的,不太能冷靜思考。雖然暫時解決了問題。但不知道是為何原因被駭,代表網站只是暫時安全⋯⋯隨時有再被侵入裝外掛、甚至做出更大的毀滅性動作!

思考的同時運作的是臨時主機

我在思考後續的這段期間,線上運作的依舊是剛剛還原一週前備份的臨時主機。而這一週來我寫的新文章、做的網站改版在此版本都沒有。網站雖然運作,但相當於只有 80% 正常。希望盡快恢復網站完整的我,感覺到時間的壓力、讓我心更慌了。(心裏OS:快想啊!裕二!快想!)

幾種還原方案

使用被駭之前的網站備份資料
雖然移除了惡意軟體,但由於不知道被駭原因,是否還藏有其他後門程式?還原到網站正常運作時的備份是最乾淨的選擇。我的網站每天都有備份,因此我可以決定要還原到昨天、一週前、兩週前等。

由於不知道病毒潛伏了多久才發作。還原時間越久之前,越安全!但也代表要做更多重建的工作,全看你這段期間新增了多少文章、改動了多少網站程式。

如果你中毒了、而這段期間只是發文章而已,建議可以選擇這個方法⋯⋯還原之前的備份並手動將新的文章補回去。

解毒後繼續使用中了惡意軟體的網站
繼續使用本來最新版本的網站,徹底檢查檔案是否有遺留後患。我檢查了 WordPress 資料並跟被駭前的資料比對,似乎除了外掛被植入外掛之外⋯⋯並無其他被改動的痕跡。因此我決定採用這個方案。

其中一個很大的原因是,我這段期間除了文章之外。改動了太多的網站程式⋯⋯且很多改動都是瑣碎的細節、我也沒有紀錄改版資訊的習慣。一但還原回去會非常麻煩!

如果有中毒之前的網站檔案,可以使用 WinMerge 這套免費軟體來協助比對檔案前後是否有程式碼被變更。官網之外可以找到繁體中文版的。

推測出可能被駭的原因:Jetpack

心情平靜可以思考之後,上網搜尋了這支惡意軟體「Yobar Wordpresa」,找到的資料很少,且都是一兩天之內的新討論。看來這是一波最近的攻擊事件,而我也中獎了!

 

在觀看了網友 WordPress 網站中惡意軟體的狀況、並跟我的比對,發現了一個很可能的原因!

 

Jetpack 導致 WordPress 網站被駭

這套由 WordPress 官方所開發,深受大家喜愛的外掛程式!竟然有可能就是這次被駭事件的元兇!

 

由於回報的被駭者幾乎都有安裝這個外掛、包括我也是⋯⋯。而 Jetpack 因為是官方開發、跟 WordPress.com 高度整合的情況下,「它可以讓你的網站透過 WordPress.com 來管理你的網站、包括安裝新的外掛!」

 

由於我檢查了主機端並無被入侵的痕跡,而 WordPress 網站也沒被暴力破解、登入的痕跡。合理懷疑駭客是破解我的 WordPress.com 帳密再透過 Jetpack 遠端安裝了這隻後門外掛程式進到我的網站!

關於 Jetpack 小知識

我是自架版本的 WordPress,只是使用 Jetpack 外掛要求一定要登入 WordPress.com 的帳號,有趣的是連結此帳號後,你可以在 WordPress.com 平台做幾乎所有你的 WordPress 後台的操作,包括新增刪除文章、安裝外掛等。

好處是擁有 Jetpack 非常多好用的功能,包括暴力登入防護、圖片讀取加速、其中我最愛的是網誌訪客流量統計。跟 GA 不同的是⋯⋯這些數據你可以透過函數在 WordPress 之中調用,包括有些人喜歡顯示文章閱讀數量等。

網站被駭後,WordPress 安全性加強應對方案

上面說完典故、以及被駭安裝惡意軟體的可能原因後,現在要來加強 WordPress 安全性

 

如果不太會操作的朋友,可以看影片我一步一步做 WordPress 網站初始的安全性加強給你看!

影片重點目錄
0:00 設定一個足夠複雜的 WordPress 密碼

2:28 登入口安裝 reCAPTCHA 防護機器人破解

7:22 隱藏 WordPress 通用登入口

9:20 垃圾留言防護

12:55 備份你的 WordPress 網站

更改使用者登入帳密

首先網站被駭後,不論原因 WordPress 網站的密碼一定要更改,盡量改高強度密碼、人記不起來那種,再讓瀏覽器幫你記憶。(我本來的密碼就高達 19 位數、現在更是設定超過 20 位數,詳細是多少位數則不公布,因為跟資安有關。)

隱藏 WordPress 登入口

大家眾所皆知 WordPress 的登入網址就是你的網站網址後面加上「wp-login.php」,像是我的就是「https://make9.tw/wp-login.php」。因此我們要將登入口位置隱藏,讓駭客難以直接鎖定目標頁面。

隱藏 WordPress 登入網址的外掛
外掛名稱

WPS Hide Login

只要安裝「WPS Hide Login」外掛就能輕易達到此功能,記得設定自訂的網址後,將網址紀錄下來。

外掛連結

 

替 WordPress 裝防毒外掛程式

WordPress 防火牆和安全防護的外掛
外掛名稱

Wordfence Security – 防火牆及惡意程式碼掃描

安裝了一款大家都推薦的 WordPress 防護軟體,他有付費版本,我是先使用免費版本,因為免費版本就很強大了!

外掛連結

開啟 WordPress 登入兩步驗證

WordPress 開啟兩步驗證登入
開啟兩步驗證,輸入帳號密碼後還需輸入手機中動態產生的密碼才能成功登入

Wordfence Security 除了日常幫你監控掃描網站的安全性之外,你還可以透過它的設定開啟兩步驗證的登入功能!讓你的 WordPress 網站更加安全!偶爾登入麻煩一點換來的網站安全,無價!

加裝 reCaptcha:驗證登入者是真人

登入加裝 Google reCaptcha 驗證機器人
這是 v2 版本的截圖、v3 版本已經不需勾選,將由 Google 自動判斷驗證
所以如果你裝完沒看到選項,也不用擔心找找畫面上是不是有 reCAPTCHA的圖示呢?

就是登入時要你點一下「我不是機器人」的這個驗證功能!第三版的已經改為自動判斷驗證所以不會出現勾選選項,這個我本來就有裝。

而上面的 Wordfence Security 也整合支援這個功能,還沒安裝 reCaptcha 可以透過 Wordfence 一併設定,就不用額外安裝另一個外掛。

限制登入失敗次數:防止暴力登入

WordPress 限制登入次數 防止暴力登入外掛
外掛名稱

Limit Login Attempts Reload

說到 WordPress 防止暴力登入外掛最知名的就屬「Limit Login Attempts」,不過因為 Jetpack 已經提供防止暴力登入保護、加上上面的 Google reCaptcha 防止機器人程式,我認為我在這方面的守護已經足夠,就沒安裝此款。有興趣的朋友可以自行安裝。

外掛連結

wp-config.php 裡的金鑰更改

記得去更改 wp-config 裏的金鑰,這會迫使目前登入的人、程式都強制需重新登入。以免已經取得破口的駭客可以利用同一份授權繼續修改你的網站!

新的金鑰到官方提供的網址去產生新的,貼上覆蓋即可。

更換WP認證唯一金鑰設定

別讓 WordPress.com 成為安全破口:同樣開啟二步驗證

最後我們回歸到我這次網站被駭的主因,駭客透過 Jetpack 與 WordPress.com,在我的網站安裝了「Yobar Wordpresa」這款木馬外掛。

讓我驚覺了我網站上資安的一個漏洞就是,我以為只要顧好主機和網站就好!卻沒想到駭客可以透過 WordPress.com 來入侵我的網站本體!因此我們同樣要加強 WordPress.com 帳號的安全性!

使用高強度密碼、開啟登入兩步驗證

除了將 WordPress.com 的密碼改為同樣高強度、12~16 位數的高強度密碼之外,WordPress.com 的後台也支援開啟兩步驗證的機制!經過這次事件後⋯⋯我會說:「一定要開啟!」

結論 & 後續觀察網站狀況

WordPress 中毒被駭後的第七天我才寫下這篇文章紀錄。「一日被蛇咬、十年都怕蛇」,七天來我頻繁的監控網站的流量狀況是否正常,也不時打開無痕視窗親自測試網站狀況。這已經是我睡醒的第一件事!而截至完稿為止、都未再發生過被駭的情況。

這次的事件我一開始覺得「為什麼會發生!為什麼是我!」但現在我卻覺得很幸運:

  • 發生的當下我就發現了,且是在清晨較沒人流
  • 因為這次被駭大大加強了網站的安全性
  • 發現了防護弱點 WordPress.com,同樣加強了安全性
  • 遇到這個惡意軟體還算客氣的

 

電腦中毒可能重灌就好⋯⋯,但網站中毒,可能會直接毀了每個部落格站長多年來的心血!想想都是很可怕的事。所以除了資安要做好之外:

一定要備份網站!

一定要備份網站!

一定要備份網站!

說三次,你知道意思的⋯⋯就是非常重要!

 

至於為何說惡意軟體算客氣的,因為我看到很多案例也是被植入外掛。但外掛不是只把訪客轉到釣魚網站而已。而是將所有其他網站的程式都感染,讓整個網站癱瘓。

且遇到這種狀況你很難用解毒來處理,因為被感染的檔案太多,很多還用隱藏的方式,難以辨別。大概只能選擇回復到正常之前的備份!

在這裡,你不會被廣告打擾,所有的學習內容都是免費的。
如果這讓你感到滿意,一杯咖啡能讓我們走得更遠。

請 Perry 喝杯咖啡
上一篇簡單、直覺 Brizy,設計 WordPress 頁面好容易! 下一篇隱藏 Google reCAPTCHA v3 符號方法、規範、注意事項

Divi 編輯器特賣 onSale!

Divi Summer Sale 20% 折扣!時間有限!

90秒強大功能展示:傳送門

優惠傳送門:傳送門

Divi 中文化:傳送門

完整教學:傳送門

Divi 特賣 onSale!