2018-11-07に更新

CloudflareのDDoS攻撃対策を調べてみた

CloudflareはCDNだけでなくDDoS対策も行っているというのは知っていたのですが、具体的にどういう機能があるのかよく分かっていなかったので調べてみました。

というのも先日からQrunchが攻撃を受けて非常に辛い状態が続いていたようです。個人開発のサービスに攻撃が来ると正直対処のしようがないというのが現実です。サーバーを使っていたりするともう止まるしかありませんし、サーバーレスにしていたら今度はクラウド破産の危険性があります。こういう時はこういったファイアウォールサービスに頼るしかなさそうです。

正直こういうことはどのサービスにも起こりうることで、考えれば考える程恐ろしいのでざっとCloudflareのDDoS対策について調べてみました。

Firewallの設定

Firewallの設定画面を開くとSecurity Levelの設定があります。恐らくここが一番シンプルなベースとなるセキュリティ設定項目になりそうです。

Firewall   crieit net   Alphabrend gmail com s Account   Cloudflare   Web Performance   Security.png

初期設定はMediumとなっています。 Essentially Off から I'm Under Attack! までのレベル設定があり、上から順番に低いレベルのようです。

Essentially off

最も脅威となる攻撃にのみ対処します。

Low

そこそこ脅威となるアクセスを防御します。

Medium

最も脅威となる攻撃とそこそこ脅威となるアクセスを防御します。

High

14日間に脅威を与えた全ての閲覧者に対して防御を行います。ここからその場限りでなく過去の行動も見ての防御となるようです。

I'm Under Attack!

現在攻撃を受けている場合の防御のようです。全ての閲覧者はサービスにアクセスする前に間に1ページ確認用の画面が表示され、問題ないと判断された場合のみにサービスにアクセスできるというもののようです。

Qrunchも現時点の最もひどい状況で利用していたものと思われます。確かにこれであれば連続アクセスが不可能のため、確実に防御はできそうです。そのかわりOGP等も表示できなくなっているようですし、他にも色々と影響がありそうですのでなかなか辛いところではありそうです。

その他

上記のようなベースの設定以外にもいくつかの機能があります。

Firewall Rules

こちらは独自にルールを設けて攻撃を遮断できます。ただ、IP、国等、攻撃者の情報がある程度分かる場合のみに限られそうです。

Rate Limiting

おかしな頻度でアクセスしてくるユーザーを遮断できます。軽い設定にしすぎると普通のユーザーも排除してしまいそうですので使う場合はきっちり考えたほうが良さそうです。

あとは強力な設定を使いたい場合は有料になるようです。

ただこちらもIPを大量に持っている攻撃者の場合は対策が難しいかもしれません。

まとめ

その他もいくつか設定がありそうですが、汎用的な設定は他にはなさそうですので、攻撃者の特性を把握しつつ設定を行っていく必要があるのかもしれません。

あとは並行してサーバーを強化したり、攻撃しにくい構成にしたりする必要があるのかもしれませんが、個人開発ではなかなか厳しそうです…。個人開発だけでなく、最近は質問箱も攻撃を受けて止まっていたりするようですので、ユーザーや関係者が穏やかな心で見守ってあげるというところが一番重要なのかもしれません。

あとは攻撃を受けて止まってしまっても、情報が閲覧できるようにTwitterの公式アカウントや、ステータスだけ確認できるページなどを用意してあげるのが良さそうです。


dala00

Crieitの開発者です。 主にLAMPで開発しているWebエンジニアです(在宅)。大体10年程。 記事でわかりにくいところがあればDMで質問していただくか、案件発注してください。 業務依頼、同業種の方からのコンタクトなどお気軽にご連絡ください。 業務経験有:PHP, MySQL, Laravel5, CakePHP3, JavaScript, RoR 趣味:Elixir, Phoenix, Node, Nuxt, Express, Vue等色々

Crieitはαバージョンで開発中です。進捗は公式Twitterアカウントをフォローして確認してください。 興味がある方は是非記事の投稿もお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

コメント