🌐

42万個のIPからDDoSを受けたので対処までをまとめてみた

2024/02/03に公開

42万個のIPからDDoSを受けたので対処までをまとめてみた

はじめに

先日私が共同管理しているサーバーへの攻撃が、中国のbotnetと思われるものから行われました。
最終的にIPの数は13万個 23万個 32万個 42万個 に達しました。
リクエスト数は20億を超えています。
サーバーは専用サーバーで、Xeonとスペックはかなり良いです。
結果的に同チームの対処により他のサーバーにリクエストを受け流すことで解決しました。
おそらくこれ見てもそんなに知識は得られないと思いますが、こんな事があったんだな程度で見て行ってください。

時系列 with 画像

2024/02/02 ~ 02/03 の間に起きました。

22:00 異変

この時間帯は専用サーバーに、CI/CDの準備をしていました。
しかしこの時間帯に急にsshが不可能になりました。
Cloudflareのdashboardを確認するとあらびっくり
cf_dashboard

なんと4万IPからDDoSを受けていました。
この時はCloudflareの防御を入れていなかったので全てのリクエストを直に開発サーバーに受けている状況でした。

その時のツイートがこちら

呑気すぎる・・・

22:30 焦る

正直すぐ終わると思ったら

cf_status

日本時間だと、22:30
Cloudflare で障害が起きてしまいます。
流石にやばいと思い、DashBoardを再確認

cf_status

IPは7万、リクエストは6億に増えていました。
このあたりから、Cloudflare自体で不具合が連発しだしました。
ここでAntiBotを設定しました。
(ここがこの記事唯一の技術ポイントですw)

Rulesを選択
cf_config

次に
cf_button

Custom を選択すると以下になるので
cf_custom

今回は、TorのIPと中国のBotnetを悪用したDDoSでした。
最初のログを見る感じロシア人による攻撃の様です。
cf_if

threat score とは、日本語で言うと脅威スコアの事です。
リクエストをbotによるものか、人間の物かスコア付けしています。
0が一番botの可能性が低く、100が一番多いです。
普通は10がbotか人間化の境目です。
この場合はほぼ全てのリクエストを弾きたかったので2に設定しました。

23:00 止まらない攻撃

ブロックされているにも関わらず、DDoSは止まりません。
この時点で全てのリクエストはCloudflareに防御されているのでサーバーにはノーダメージです。
IPの数はじわじわと伸び、10万を超えました。
焦りすぎてこんなツイートをしていました。

13億IPは流石にgoogleだろうが防げない・・・

23:00~ 攻撃終了

チームメンバーがトラフィックを完全に別サーバーに転送するようにしました。
流石に無意味だと分かったのか、やっとDDoSは停止しました。
最終的に
cf_dashboard
1時間の内に10憶リクエストを記録しました。
IPの数は13万個

02/03 10:00

最後に確認したところ、IPの数が23万個に増えていました。
cf_status

02/03 13:00

cf_status

02/05 21:00

cf_status

最後に

いやぁ、私のサービスも有名になったもんですね(?)
過去最大の荒らし(?) をされました・・・
勿論私は個人なので私を攻撃しようがなんの利益にもなりません。
今回はほぼこんなことがあったよっていうレポートでした。
threat score、便利なので使ってみてね (唯一の技術ポイント)

Discussion