「CloudFlareを使用して、ウェブサイトへのDDoS攻撃を軽減する方法」
はじめに
クラウドフレアは、ウェブサイトのリバースプロキシとして機能し、コンテンツデリバリーネットワーク(CDN)と分散型DNSサービスを提供する企業です。クラウドフレアの無料および有料サービスは、ウェブサイトのセキュリティ、スピード、利用可能性を向上させるためにさまざまな方法で利用することができます。
このチュートリアルでは、無料のCloudflareのサービスを使用して、「I’m Under Attack Mode」を有効にすることで、WebサーバーをHTTPベースの分散型サービス拒否(DDoS)攻撃から保護する方法を学びます。このセキュリティモードでは、接続の正統性を検証するために、ウェブサーバーにパスする前に中間ページを表示することでDDoS攻撃を軽減することができます。
必要条件 (Hitsuyō jōken)
このチュートリアルは、以下のものを持っていることを前提としています。
- A web server
- A registered domain that points to your web server
- Access to the control panel of the domain registrar that issued the domain
続ける前に、Cloudflareアカウントにも登録していただく必要があります。
Note
ステップ1 – ドメインの設定をクラウドフレアを使用するように変更する
Cloudflareの機能を使用する前に、ドメインをCloudflareのDNSに設定する必要があります。
もしまだログインしていない場合は、Cloudflareにログインしてください。
ウェブサイトを追加してDNSレコードをスキャンする。
ログイン後、Cloudflareのスタートページに移動されます。ここで、ウェブサイトをCloudflareに追加するには、上部の「サイトを追加」ボタンをクリックする必要があります。
Cloudflareを使用したいドメイン名を入力し、”サイトを追加”ボタンをクリックしてください。このようなページに移動されるはずです。
このチュートリアルでは、無料プランのオプションを選択します。もしCloudflareの追加機能を利用したい場合には、別の有料プランを選ぶことも自由です。その後、続行ボタンをクリックしてください。
次のページは、サイトのDNSレコードスキャンの結果を表示しています。既存のすべてのDNSレコードが存在していることを確認してください。これらのレコードは、Cloudflareがドメインへのリクエストを解決するために使用するものです。私たちの例では、ドメインとしてflippeddev.comを使用しました。
「あなたのウェブサーバーを指すAレコードとCNAMEレコードに関して、ステータス列にはオレンジ色の雲と、それを貫通する矢印が表示されるべきです。これは、トラフィックがサーバーに到達する前に、Cloudflareのリバースプロキシを経由することを示しています。」
ネームサーバーを変更してください。
次のページには、削除する必要のあるネームサーバーと追加すべきCloudflareのネームサーバーが表示されます。以下に、ページの例を示します:
ドメインのネームサーバーを変更するには、ドメインレジストラのコントロールパネルにログインし、Cloudflare が提示した DNS の変更を行ってください。例えば、Google や NameCheap のようなレジストラでドメインを購入した場合、該当するレジストラのコントロールパネルにログインして変更を行う必要があります。
特定のドメインレジストラに基づいて、プロセスは異なります。これがわからない場合、Silicon Cloud のネームサーバーを指す方法と似ていますが、代わりに Cloudflare のネームサーバーを使用します。
例えば、この場合、ドメインはSilicon Cloudのネームサーバーを使用しており、それをCloudflareのDNSに更新する必要があります。
名前サーバーの変更が完了したら、続けるボタンをクリックしてください。名前サーバーの切り替えには最大で24時間かかる場合もありますが、通常は数分で完了します。
ネームサーバの更新を待ってください。
名前サーバーの更新には予測不可能な時間がかかるため、次にこのページが表示される可能性が高いです。
保留中のステータスは、Cloudflareが指定したネームサーバ(例:olga.ns.Cloudflare.comやrob.ns.Cloudflare.com)への更新を待っていることを意味します。もし、ドメインのネームサーバを変更した場合は、ただ待つだけで、活動中のステータスを確認するために後で再度チェックしてください。ネームサーバを再確認するボタンをクリックするか、Cloudflareのダッシュボードに移動すると、ネームサーバが更新されたかどうかを確認します。
クラウドフレアはアクティブです。
一度ネームサーバが更新されると、あなたのドメインはCloudflareのDNSを使用していることがわかり、アクティブな状態になります。
これは、Cloudflareがあなたのウェブサイトに対して逆プロキシとして機能しており、あなたが登録した価格層に応じた利用可能な機能にアクセスできることを意味しています。このチュートリアルでは、無料の層を使用しているため、ウェブサイトのセキュリティ、スピード、可用性を向上させるいくつかの機能にアクセスできます。
このチュートリアルでは、継続中のDDoS攻撃の緩和に焦点を当てるため、すべての機能をカバーすることはありませんが、CDN、SSL、静的コンテンツキャッシング、サーバーにトラフィックが到達する前のファイアウォール、トラフィック分析ツールなどが含まれています。
また、ドメインのすぐ下にある設定の概要には、現在のセキュリティレベル(デフォルトでは中程度)や他の情報が表示されます。
続行する前に、Cloudflareを最大限に活用するために、以下のガイドを参考にしてください:すべてのCloudflareユーザーに推奨される最初のステップ。これは重要なことで、Cloudflareが許可することが望ましいサービスからの正当な接続を確保し、また、ウェブサーバーのログにはCloudflareの逆プロキシIPアドレスではなく、元の訪問者のIPアドレスが表示されるようにするためです。
準備が整ったら、Cloudflareのファイアウォールで「攻撃されているモード設定」を見てみましょう。
ステップ2:私は攻撃されているモードを有効にする
デフォルトでは、Cloudflareのファイアウォールセキュリティは中程度に設定されています。これにより、中程度の脅威と評価される訪問者に対して、サイトへの継続を許可する前にチャレンジページを表示して保護します。ただし、もしサイトがDDoS攻撃の標的にされた場合、それだけではサイトが稼働し続けるのに十分ではありません。その場合、『私は攻撃を受けています』モードが適しているかもしれません。
このモードを有効にすると、ウェブサイトへの訪問者は中間ページに表示され、ブラウザのチェックを行い、5秒ほど遅延させた後、サーバーにアクセスされます。以下のようなものになります。
もしチェックが合格すれば、訪問者はあなたのウェブサイトに入ることができます。悪意のある訪問者がサイトに接続するのを防ぎ、遅らせることの組み合わせは、しばしばDDoS攻撃中でもサイトを維持し続けるために十分です。
Note
サイトがDDoS攻撃の被害者になった場合にのみ、「I’m Under Attack Mode」を有効にしていることを念頭に置いてください。それ以外の場合は、理由もなく通常のユーザーがウェブサイトにアクセスできなくなることを避けるため、無効にしてください。
アタックモードを有効にする方法
「I’m Under Attackモード」を有効にしたい場合、最も簡単な方法はCloudflareの概要ページ(デフォルトのページ)に移動し、右側のサイドバーでトグルをオンにすることです。
セキュリティ設定はすぐに「攻撃を受けている」状態に切り替わります。これにより、あなたのサイトに訪れるすべての訪問者に、先ほど説明したCloudflareのインタースティシャルページが表示されるようになります。
「アタックモードを無効にする方法」
DDoS緊急時のみI’m Under Attackモードを使用するよう、攻撃を受けていない場合は無効にしてください。これを行うには、Cloudflareの概要ページに移動し、それを無効にします。すると、このようなモーダルが開きます。
それから、切り替えたいセキュリティレベルを選択してください。デフォルトで一般的に推奨されているモードは中程度です。
あなたのサイトはアクティブな状態に戻り、DDoS保護ページは無効になるはずです。
結論
あなたのウェブサイトがCloudflareを利用しているので、HTTPベースのDDoS攻撃から簡単に保護するためのもうひとつの手段を手に入れました。Cloudflareが提供するさまざまなツールもありますので、無料のSSL証明書など、設定することに興味があるかもしれません。そのため、オプションを探索し、自分にとって有用なものを見つけることがおすすめされます。
「Cloudflareを使ってウェブサイトを保護する方法について、Ubuntu 22.04上でCloudflareとNginxを使用してウェブサイトをホストするチュートリアルをご覧いただくことで、詳細を学ぶことができます。」