先說損失,被刷了 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的話,日常還是多看看,能加閾值控制的平臺優先加上,常規的訪問控制防盜鏈的啥的安排上。