鷹眼觀察網站從昨日不曉得何時開始,突然變得很不穩定,連線狀況經常延宕,不斷出現代號500的連線錯誤(類似404)。俟經網管人員檢查系統後,發現CPU使用率暴增到以100%全速運轉,並且已經持續數個小時維持該高負載狀況。
為了解決這種異常狀況,我們首先重啟了網站服務,希望這能修復問題並讓網站恢復正常運行。然而,這個修復只是昙花一現,幾秒鐘後,網站再次崩潰。這使我開始懷疑是否有某種外力正在針對我們的網站。
經過一番對系統的檢查後發現,原來是好幾組來自中國大陸的重慶地區網段的 IP(列於下表),正在瘋狂地掃描我們伺服器的連接埠(Port)。也是因為如此,才導致系統的CPU使用率暴增,讓網站變得極不穩定。
- 183.69.137.80
- 183.69.137.71
- 183.69.137.65
- 183.69.137.91
- 183.69.137.94
- 其他族繁不及備載
使用防火牆解決伺服器 CPU 100%
在經歷了一系列的症狀後,網站管理員首先針對這起類似 DDoS[1] 攻擊事件採取了最粗暴的簡單應對措施,先將來源 IP 進行防火牆級別的封鎖。
但是一檢查後發現,封鎖了一組 IP 還有千千萬萬個 IP 仍持續瘋狂掃描伺服器。為此只能放大絕招了,將整個網段全部進行封鎖,於是採用 CIDR 標記法[2]寫作「183.69.137.0/24」。
在使用防火牆封鎖後,本來只想順便觀測一下到底有多少惡意 IP 流量。不看還好,一看不得了,最高峰時期可以達到每5分鐘就阻斷高達2000次,即使是低谷期也有高達平均每五分鐘1000次的造訪量。等於每一分鐘都有連續200~400個IP試圖掃描伺服器。
雖然這種數量還稱不上是惡意 DDoS 組斷式攻擊,但確實對於我們這種小型伺服器來說已經達到了相同效果。甚至如此高的訪問量,消耗掉的頻寬量,累積下來也是一筆不小的成本支出啊。
後來趁著防火牆發揮作用,伺服器 CPU 總算降至正常水準後,筆者也試著查詢一下到底是哪來的 IP 在這樣惡搞我們。
結果發現了一個令人尷尬的事實,原來這些 IP 還真不是什麼惡意網路攻擊事件,最多只能稱作是「善意」網路攻擊事件(?)。
這些 IP 原來全都出自中國大陸的知名搜尋引擎「百度(Baidu)」的蜘蛛(Spider,又稱網路爬蟲),原意是為了掃描網站內容以提供搜尋引擎建檔使用,但不知道是什麼原因,導致這群蜘蛛像是打了雞血一樣興奮暴走起來。
甚至,苦主還不是只有我們一個。
在網路上搜尋一下,就能發現對岸的網站管理者經常都在抱怨這個問題。更糟糕的是,如果封鎖該網段 IP,還會被百度搜尋引擎「處罰」,也就是降低排名,這對一個依賴搜尋引擎進行導流的內容網站來說,幾乎算是滅頂之災了。
所以,您如果是來自大陸內地的朋友,建議您趕快訂閱我們鷹眼觀察網!因為我們很可能也快要從百度引擎上「被消失了」(淚)。
附錄
- DDoS(Distributed Denial of Service)是指分散式阻斷服務攻擊,是一種常見的網絡攻擊方式。在DDoS攻擊中,攻擊者利用多個受感染的計算機或裝置(稱為「僵屍機」)向目標網站或服務器發起大量的請求,以超過其處理能力,從而導致網站或服務器無法正常運作,讓合法用戶無法訪問該網站或服務。這種攻擊方式通常使用分散的資源和來源,使得攻擊難以防禦和追蹤,對網絡和線上業務造成嚴重影響。
- CIDR(Classless Inter-Domain Routing)標記法是一種用於表示IP位址和網絡前綴的簡潔和彈性的方法。它通過使用斜線符號(/)後面跟著的數字,表示網絡前綴中有效的位數,以指定網絡的大小。
發佈留言