DDoS攻撃に対するシンプルな戦略


世の中にはDDoSを防ぐためにいろんな製品やサービスが登場していますが、

そのどれも完璧に防げるとは言い切れないように思います。

ROIを考えても、完璧に防ぐための投資は莫大になりかねず、

リターンに見合わない投資が必要になってくるように思います。

そこで、シンプルな戦略を考えてみました。

まず、保護レベルを4段階ほど設定します。

1.アプリケーションサーバの保護
2.データベースの保護
3.ログイン処理の保護
4.メンテナンスモード

では、それぞれのレベルで対策を考えていきます。

1.アプリケーションサーバの保護

フロントサーバにnginxなどの高速なリバースプロクシサーバを配置。普段はキャッシュしない。

ショートパケットのSyn Floodの攻撃などはこのフロントエンドで吸収する。

また、特定できるパケットがあればそのパケットをiptablesなどで落とす
2.データベースの保護

フロントサーバのリバースプロクシサーバでほぼすべてのページをキャッシュさせるように設定変更

攻撃発生中はダイナミックなページを停止しキャッシュから静的なページを配信。

高速なウェブサーバであれば1台あたり10万リクエスト/秒での配信も可能。

特にhttp get floodに有効
3.ログイン処理の保護

ログインページを閉鎖する。もしくは流量制限を行う。

流量制限はフロントのサーバで行う。

決まった数のリクエストのみアプリケーションサーバへ渡す。それ以上はエラー処理

ポリシーに合わせてログインに失敗したIPをロックアウトする。

http post floodに有効

攻撃時であってもログイン後は通常サービスが提供可能とする

フロントサーバにてクッキーでログインを識別し専用のサーバへスイッチ
4.メンテナンスモード

フロントサーバにメンテナンスページを配置

想定以上の攻撃時はメンテナンスページへ

あとは、このフロントのサーバをどれだけ用意するかになってくると思います。

パブリッククラウドを組み合わせて各社のクラウドでも対応できるよう準備すれば大きな攻撃時に対応ができるかもしれません。

コストはその攻撃時に稼働させていたインスタンス分の支払いだけでよくなります。

以上、シンプルな戦略を考えてみたのですがいかがでしょうか?

ご意見いただけると助かります。

高価な攻撃対策用の製品であっても大規模な攻撃だとダウンしてしまいます。

であれば、こういった機材は検知用に利用することで、必要最低限の投資で最適なリターンが見込めるのではないかと。

いずれにしても、攻撃はサーバで守る。これが一番シンプルで確実じゃないかなあ。

 

 

«
»

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Optionally add an image (JPEG only)