記一次 CDN 流量被盜刷經歷

粥里有勺糖發表於2024-07-13

先說損失,被刷了 70 多RMB,還好止損相對即時了,虧得不算多,PCDN 真可惡啊。

600多G流量,100多萬次請求。

怎麼發現的

先是看到魚皮大佬發了一篇推文突發,眾多網站流量被盜刷!我特麼也中招了

抱著看熱鬧的心情點開閱讀了。。。心想,看看自己的中招沒,結果就真中招了 🍉。

被盜刷資源分析

筆者在 繽紛雲七牛雲又拍雲 都有存放一些圖片資源。本次中招的是 繽紛雲,下面是被刷的資源。

IP來源

查了幾個 IP 和文章裡描述的大差不差,都是來自山西聯通的請求。

大小流量計算

按日誌時間算的話,QPS 大概在 20 左右,單檔案 632 K,1分鐘大概就760MB ,1小時約 45G 左右。

看了幾天前的日誌,都是 1 小時刷 40G 就停下,從 9 點左右開始,刷到 12 點。

07-09 07-08

但是 10 號的就變多了,60-70 GB 1次了。也是這天晚上才開始做的反制,不知道是不是加策略的時候影響到它計算流量大小了 😝。

反制手段

Referer 限制

透過觀察這些資源的請求頭,發現 Referer 和請求資源一致,通常情況下,不應該這樣,應該是筆者的部落格地址https://sugarat.top

於是第一次就限制了 Referer 頭不能為空,同時將 cdn.bitiful.sugarat.top 的來源都拉黑。

這個辦法還比較好使,後面的請求都給 403 了。

但這個還是臨時解決方案,在 V 站上看到討論,說資源是人為篩選的,意味著 Referer 換個資源還是會發生變化。

IP 限制

有 GitHub 倉庫 unclemcz/ban-pcdn-ip 收集了此次惡意刷流量的 IP。

CDN 平臺一般支援按 IP 或 IP 段遮蔽請求(雖然後者可能會遮蔽一些正常請求),可以將 IP 段配置到平臺上,這樣就能限制掉這些 IP 的請求。

繽紛雲上這塊限制還比較弱,我就直接把繽紛雲的 CDN 直接關了,七牛雲和又拍雲上都加上了 IP 和 地域運營商的限制,等這陣風頭過去再恢復。

七牛雲 又拍雲

限速

限制單 IP 的QPS和峰值流量。

但是這個只能避免說讓它刷得慢一點,還是不治本。

最後

用了CDN的話,日常還是多看看,能加閾值控制的平臺優先加上,常規的訪問控制防盜鏈的啥的安排上。

相關文章