DDoS攻撃

DDoS攻撃

夕方にDDoS攻撃を喰らいました。といっても結構マイルドで、だんだんキツくなってくる感じ。
だんだんとCPU負荷がたかくなってきてZabbixからのアラートメールがじゃんじゃんと来ます。

特定のアドレスかな

まずはWebサイトのアクセスログを調査。特定のアドレスからの攻撃なら単純にdenyしてしまえばいい。
こんな感じ。

# tail -99999 access_log | awk '{print $2}' | sort | uniq -c | sort -n

うーん、どうも特定のアドレスじゃないみたい。

とりあえず目視

こんどはtail -f でログを流して、目視確認。原始的ですが、結構やります。
じーっとながめているとだんだんとパターンが見えてくる。どうやら特定のUser Agentからのリクエストが多そうな感じ。

今度はUserAgentで調べる

上記のawkでダブルクオートをセパレタにして何カラム目かでsort,uniq。
犯人っぽいやつを発見。

mod_rewriteで対処

フロントエンドのhttpでmod_rewriteをつかって特定のUserAgentでリクエストが来た場合はゴニョゴニョなところへ誘導。
単純にdenyとかにすると、手を変えて来られれたりすると面倒。バックエンドの実際にコンテンツをプロバイドしているところはDBをつかっていろいろやっていますが、フロントエンド側はリクエストをさばいているだけなので高負荷にも耐えられます。
多段構成にしているとこういうときに便利。