8月 23, 2016

DDoS攻撃を受けた

8月23日朝、メールボックスを見ると
「【重要】DoSアタック発生による通信回復処理のご報告」
「【重要】DoSアタック発生による通信回復処理停止のご報告」
「【重要】DoSアタック収束による通信遮断処理解除のご報告」
 という3通のメールが届いていた。

内容はosa-p.netのサブドメインのいくつかを収容しているさくらインターネットのVPSに、DoS攻撃が来ていたから通信を切ったよというものでした。
時系列に並べると
  1. DoSアタック検知時刻   :2016年08月22日 15時05分10秒
  2. 通信遮断時刻         :2016年08月22日 15時05分36秒
  3. 通信回復処理時刻     :2016年08月22日 15時05分49秒
  4. 通信回復処理停止時刻 :2016年08月22日 15時12分07秒
  5. 通信遮断処理解除時刻  :2016年08月22日 21時19分28秒
という流れ。

最初DoS攻撃を検知(1)して通信を遮断(2)。
攻撃元をフィルターに追加して通信を回復(3)したのだけど、DDoS攻撃だったためフィルターも数が足りなくなり、回復を断念してサーバごとネットワークから切り離し(4)。
DDoS攻撃が収束したので、ネットワークに復帰(5)した。

メールサーバも同じサーバで管理しており、連絡先アドレスもこのサーバのドメインだったため、完全に事後で知ることになりました。
これはいかんなと思い、連絡先アドレスはgmailに変更。すると再び23日の昼にメールが届きました。
今度は2回目ということもあり、回復処理をすることもなく、いきなりネットワークから切られました。

なかなか回復しそうにないので、どのコンテンツが対象なのか調べてみたところ、ぶろるっくのDNSを自宅サーバに振ってみたところで自宅のRTX1200が反応。
CPU使用率・ファストパスのフロー数・NATのエントリー数がグラフの天井に張り付き、自宅ネットワークが不安定になりました。

さくらインターネットからもらっていたメールに、対象となった通信の概要が載っていたのですが、UDPパケットを投げまくって飽和させるタイプのようで、HTTPロードバランサ辺りを挟んでやれば何とかなりそうです。
cloudflareは以前使ったことがあるのですが、オリジンサーバの応答が遅いとすぐに「このサイトは落ちている」表示にされてしまい全然通信できなかったので、別のサービスを探してみたところ、さくらインターネットの「さくらのクラウド」にウェブアクセラレータがベータ版として公開されていました。
httpでの通信は上手くできたのですが、httpsはウェブアクセラレータのサブドメインとしてしか対応していないようなので、今はhttp専用と思った方が良いでしょう。

しかしVPSで運用していたとき、httpsのヘッダにHSTSの情報を付けていたため、httpのアドレスにアクセスしてもブラウザが自動的にhttps通信へと切り替えてしまいます。
しかも期限を1年としていたので、ブラウザの情報を消さない限り見られないような状態になってしまいました。

ここでVPSへの攻撃がなくなったようで通信が復旧。
HSTSの期限はhttpsのヘッダで返す形になっており、上書きされるようなので、短い時間に設定して元のVPSでサービスを再開しました。

また攻撃が来たら、httpだけで継続できるようにしようと思います。