Email-Subscription-0and1-5.png

用 Email 訂閱本站新文章,實用訊息不漏接!

其實 Email 訂閱功能以前一直都有,但在最近一次的低調改版之後,這個功能就暫時被拿掉,直到這幾天才又重新放上來。相信之前應該就有不少朋友用 Email 來追蹤本站的最新文章。因此就藉這一次機會來公告一下,順便再附上一篇教學文章。

如果你不習慣使用 RSS 訂閱軟體,或者是久久才來這裡逛一下的話,用 Email 訂閱是一個不錯的方式。當然啦,我還是很希望各位可以把這個網站加到書籤裡,然後每天來這裡巡看看有沒有新東西 :) Continue reading “用 Email 訂閱本站新文章,實用訊息不漏接!"

部落格首次遭掛馬記錄 – 後續處理 & GoDaddy 檔案還原介紹

感謝高登提供的訊息以及網頁(來自 WPSecurityLock,專門關注 WordPress 安全性的部落格),原來這波災害的影響範圍含蓋整個 GoDaddy 的 Linux 虛擬主機下的所有 PHP 檔案。

WPSecurityLock 提到,這次駭客的行動是在 4/24 開始的。他們猜測,駭客似乎是上傳一個可以執行 Shell 指令的 PHP 檔,讓伺服器裡的所有 PHP 檔案都被插入惡意程式碼。而這名駭客的手法似乎也蠻利落的,不著痕跡的行動讓 GoDaddy 追查時頗感困難。

從 GoDaddy 後台的檔案管理員可以看到,所有 PHP 檔案都在 4/24 早上 5:55 的時候被修改過(被插入惡意程式碼)▼

檔案感染時間

GoDaddy 檔案還原功能 省去不少重建的麻煩

值得慶幸的是,GoDaddy 每天會自動替虛擬主機裡的檔案建立快照,意思就是每天都有備份檔案。老實說,GoDaddy 的虛擬主機用好幾年了,直到現在經由 WPSecurityLock 介紹的解決方法才知道有這個檔案原還機制。在這之前我還傻傻地重新上傳 WordPress、手動刪除每個檔案裡的惡意程式碼… Orz

既然檔案在被感染之前已經有備份,那要回復就方便多了。不然這幾天我還在為怎麼替其它檔案消毒的事而苦惱。

在這裡就記錄一下 GoDaddy 檔案復原的使用步驟。

第一步、登入後台後,到 「File Manager」。在目錄樹上面點選「History」頁籤,GoDaddy 提供 30 天的快照,所以在這裡可以按下月曆小圖示,選擇檢視 30 天內任一日期的檔案。因為檔案是在 4/24 被感染的,所以選擇 4/23▼

GoDaddy 檔案還原 - 選擇日期

第二步、接著勾選要復原的目錄及檔案,按下工具列上的「Restore」▼

GoDaddy 檔案還原 - 還原檔案

第三步、再來可以選擇是否將目錄及檔案還原到新的目錄,如果不要的話就直接按下「OK」 ▼

GoDaddy 檔案還原 - 是否還原到新目錄

第四步、因為不是還原到新目錄,所以還原時會覆蓋掉原來的檔案(在此情況下是覆蓋掉受感染的檔案),點選「Yes To All」覆蓋所有檔案 ▼

GoDaddy 檔案還原 - 覆蓋所有檔案

檔案還原中… ▼

GoDaddy 檔案還原 - 檔案還原中

還原完畢時網頁右下角會顯示通知訊息 ▼

GoDaddy 檔案還原 - 還原完畢

是否繼續用 GoDaddy?

就像高登所說的,這種找主機漏洞進行駭客攻擊的事不會只發生在特定主機商。平心而論,GoDaddy 的虛擬主機用了快四年,這次的插入惡意程式碼事件還是第一次遇到,以之前的服務品質、主機的穩定性、連線速度,我相信 GoDaddy 還是一間值得繼續信賴的主機商。

雖然 Pseric不來恩都建議換主機商,老實說我也的確考慮過,不過因為主機要到年底才到期,加上之前的服務品質不差,所以決定繼續使用 GoDaddy。如果到年底之前再發生同樣問題的話,那就真的得放棄支持了。在這裡也謝謝 Pseric 和不來恩的建議。

部落格首次遭到掛馬(應該是吧?)之紀念文

上個星期六晚上大約快九點半的時候,好友阿育通知我說他在訪問部落格時被 avast! 通報網頁有惡意程式。

這可是新鮮事,因為以前從來沒有碰過類似的情形。為了搞清楚是怎麼回事,我也馬上打開0與1的邂逅。一進入部落格,果然不太對勁,因為在網頁還沒有打開之前就跳出這麼一個對話框 ▼

首次掛馬記 - 偽安全工具的警示對話框

這個對話框的內容是,你的電腦有被惡意程式攻擊的危險,我們建議你立即檢查系統。如果按下確定的話,會被導向到到另一個網頁 ▼

首次掛馬記 - 偽安全工具的網頁

很明顯,這個網頁就是典型的「偽安全」工具,表面上很好心的要幫我們替電腦進行安全檢查,但實際上是要植入惡意程式到我們的電腦裡。如果在這個網頁上繼續操作的話,那反而才會遭到惡意程式的攻擊…

而這個惡意程式的作者也算是把網頁設計的蠻聰明的,因為它只會出現一次。之後這個惡意網頁會留下 cookie,下次再造訪部落格的時候,透過 cookie 知道你已經有來過了,所以便不會再出現「劫持」訪客到惡意網頁的對話框,藉此降低訪客的警覺心。

第一時間處理措拖

在與阿育討論之後,我決定停用所有 WordPress 的外掛,然後套用預設的佈景主題。因為以前曾經在網路上看過,某些來歷不明的外掛或是佈景主題可能藏有惡意連結或是別有用心的程式碼。不過,在做這件事情時我其實也是蠻疑惑的,如果外掛或是佈景主題含有惡意程式碼的話,那早該發作了,怎麼現在才出現?但是為了幫助釐清問題的來源,還是先停用吧。

另外,為了避免訪客在不知情的情況下上了這個偽安全工具網頁的當,於是暫時關閉部落格,實際上只是把 blog.joaoko.net 指到另一個含有通知訊息的網頁而已 ▼

首次掛馬記 - 關閉部落格&通知訊息

不知道有沒有人運氣好,剛好看到這個網頁?

發現所有 PHP 檔案受到感染

雖然停用了所有外掛,也套用了預設的佈景主題,但問題還是存在。只要清掉瀏覽器的 cookie,訪問0與1的邂逅還是會跳出偽安全工具的警示對話框。

在這種情形下,只好開始檢查部落格裡的檔案。首先是 index.php,一打開就發現不尋常的內容。可以很清楚地看到,檔案開頭的地方被插入一大段 Base64 編碼內容,再打開其它的 PHP 檔案,包括佈景主題的檔案,都受到影響。所以推斷應該是所有的 PHP 檔案都被感染了 ▼

首次掛馬記 - 被插入的 Base64 編碼內容

將這段 Base64 內容解碼後得到的是一段 JavaScript。於是大概可以猜出,就是這段 JavaScript 完成劫持訪客的動作。

另外阿育也發現,每個網頁的原始碼最後也都被插入一個外部連結的 JavaScript 檔案▼

首次掛馬記 - 外部連結檔案

到目前為止,算是找到發生問題的原因了。但駭客究竟是利用什麼手法讓部落格裡所有的 PHP 檔案都被插入惡意程式碼,還是沒辦法確定。能夠想到的就是 WordPress 本身的漏洞、外掛或佈景主題的漏洞;或甚至是虛擬主機伺服器的漏洞(這點比較有可能,因為剛才發現在,我的虛擬主機帳號裡的其它網站也都受到染感了)。

最原始的解決辦法

最後為了盡快讓部落格恢復正常運作,就用了最原始的解決方法 — 重新上傳一份乾淨的 WordPress,覆蓋掉所有被感染的檔案。而佈景主題因為是自訂的,所以就只能手動將每個佈景主題檔案裡的惡意程式碼刪除。

在完成這些動作後,我便恢復啟用所有之前使用的外掛以及佈景主題,在確認檔案沒有再一次受到感染後,問題似乎就得到解決了。

之前有時候會聽到網站被掛馬什麼的,因為自己從來沒有遇到,所以也不太會去注意,沒想到這次是親身經歷,因此也算是一個難得的經驗。還好只是 PHP 檔案被感染,並沒有進一步影響到資料庫。

如果你剛好在部落格中毒的時候訪問,而且也上了惡意網頁的當,強烈建議你使用防毒軟體完整掃描電腦。雖然不知道這個惡意網頁會留下什麼禍端,但還是在這裡向你鄭重道歉。

另外也感謝阿育的即時通知,以及 avast! 的防護能力。

[本站日誌] 加入隨機文章展示

很早就想加入隨機展示文章的功能,不過一來是懶,二來是想說文章數本來就不多,就算再怎麼隨機大概就是那幾篇在輪流。但是今天看到羅賓兄釋出 2007年版的 WordPress 外掛清單,其中一個外掛就是隨機展示文章的 Random Posts for Chinese,於是動力就來了,花了一點時間把這外掛弄上去。還好這外掛並不複雜,丟上伺服器然後到後台啟動,再加入隨機展示文章的函數到 single.php,最後再修改一下 CSS 就完成了。

雖然現在的文章數是有比較多一點而且大都多是濫竽充數,但自己寫的東西總是希望被更多人看到,說只寫給自己看那是騙人的。再加上部落格文章逆時序的天生弱點,文章一但沉到首頁外就很難再重見天日。如果不是長期閱讀本站的讀者,而是一個順著連結而來的偶遇讀者,看完一篇文章大概就會走人,但如果讀完文章後,發現下面有其他令他感興趣的標題,那這位偶遇讀者對本站的印像可能就更深了一點,這也是我會裝上這外掛的原因之一。

如果你也是使用 WordPress 並且還沒裝上可以隨機展示文章的外掛的話,可以參考看看。

外掛頁面: http://yanfeng.org/blog/index.php?p=373

[公告] 一個禮拜無法上網

因為要出遠門,所以從今天起的一個星期內將無法上網,部落格也將處於無人照顧的狀態。

但因為怕太多天沒更新部落格,雜草長的太多到時候回來難整理,所以有放了一些文章在排程裡,保持每天一篇的頻率一直到 14 號,還請各位朋友多多支持。
因此這段時間的留言屆時將無法回覆,在此先說聲抱歉。

列出部落格裡的所有文章標題 – Clean Archives

最近在閱讀了 「時序」網站的力量及其不滿「逆時序」文章排列的優缺點分析 這兩篇文章後,思考了一下,決定新增一個「文章列表」到本部落格。
網章列表的功能有四:

  • 一次列出網站裡的所有文章
  • 讓初來乍到的訪客快速了解這部落格到底在講些什麼
  • 方便尋找、回顧舊文
  • 挖掘部落格裡的長尾,就像老貓在這篇所說的

實作方法則是參考了蔡志浩前輩在這篇迴響裡提到的 WP 套件: Clean Archives
Clean Archives 與 WP 內建的列表不同的地方是,Clean Archives 只會顯示文章標題,並且一次由新至舊地列出有文章,相當的簡單明瞭。
以下便是我安裝 Clean Archives 及新增文章列表的步驟:

  1. 下載 Clean Archives 解壓縮上傳,然後到後台啟動它
  2. 修改 Archives 模板 (pages-archives.php)
    modify_archives (by joaoko)
  3. 到後台新建一個網頁,並以 Archives 為網頁模版。
    新建好的文章列表便像這樣

這幾天我在部落格做的一些小改變

報告一下這幾天我在部落格做了什麼

  1. WordPress 版本從 2.0.4 升級至 2.0.5,為了怕升級失敗所以事前先備份整個 wp 的檔案,不過後來還好沒派上用場,也就是升級的過程很順利。
  2. theme 從原本的 MistyLook 1.0.1 升級到 2.3,因為舊的版本沒有 single.php 這隻檔案可以編輯所以就升級了。
  3. 原本側邊欄裡的"好格連結"改為優格連結,並且把清單獨立出來到一個網頁。因為我推薦的部落格實在是太多了,長長的一大串放在側邊欄裡有點難看,而且以後我還有可能會再增加清單內容,所以獨立出來會比較好。
  4. Falbum 取代之前的 Singapore。之前是用 Singapure 的外掛整合相簿到 WordPress,現在則是用  Falbum  把  Flickr 的相簿整合到部落格,等於是從 Flickr 把相片叫來這裡。羅賓有對這隻外掛做介紹,它的中文化可以到這裡下載。
  5. 放上 Google Adsense For Content,目前就放一塊 120 x 240 的直欄式廣告在部落格的右上方,及一個 468 x 60 的橫幅在每篇文章的下面。就看什麼時候可以賺滿第一個 USD100 囉。

大概就是這樣子了。

修改本部落格的佈景主題

呼!花了一些時間,總算是把部落格重新"粉刷"了一遍!
老實說我蠻喜歡這款 MistyLook 的,原因無它,就是喜歡他的簡潔風格,及給人一種寧靜的感覺。
但從開始就一直用到現在,說真的同一種顏色看久了會膩,而且之前灰色的側邊欄也是讓我唯一覺的比較不滿意的地方,感覺就是有點死氣沉沉。
所以我就以 MistyLook 為基礎,把配色改為比較有活力且清新的綠色系,上面的圖案也換成有氧的葉子及水珠,看起來感覺就很爽。
文章字體的部份也調整為 15PX 16PX,字大一點閱讀起來應該會比較輕鬆。

在修改的過程中,我發前之前的側邊欄在 IE 下好像是掉到下面去的?
因為我從來沒用 IE 看過自己的部落格,如果真的是這樣的話就糗大了 Orz
所以文章版面的寬度我就做了一下調整,現在用 IE6 看的話是側邊欄的位置是正常的。IE7?嗯…那是什麼東西?

換換配色,換換心情。寫起部落格就更有精神!

補充:
順便一提,舊版本的 MistyLook 1.0.1 在 CSS 裡有蠻多錯誤的,但現在的 2.3 版似乎修改了不少東西。
不過因為我懶的裝上新版,所以就直接以舊版的下去改。

今天剛裝好的三個外掛

剛用 WP 的感覺是,不像在 Xuite 日誌那種「寬喝賀(台語)」環境下,大部份的功能都可以很容易的設定,在這裡要實現一些功能就必需靠 plugin 了。

今天主要裝了3個外掛:
Google Analyticator:會自動為每一個網頁(文章)加上 Google 分析器的 script
WP-UserOnline:顯示此 blog 有多少人在線上
Sidebar Widgets:使用更有運用性的側邊欄取代 WP 原有的 Sidebar

還好在安裝過程中蠻"無痛"的,上傳資料夾到 plugin,到後台啟動後再做簡單的設定就可以用。

接下來要再裝的就是:
Ultimate Tag Warrior:替 WP 加上 tag 功能
顯示最多人瀏覽文章的外掛,還要找

之後再慢慢替這個 blog 加裝備上去吧!