CloudFlareを使用してWebサイトに対するDDoS攻撃を軽減する方法

前書き

CloudFlareは、Webサイトのリバースプロキシとして機能することにより、コンテンツ配信ネットワーク(CDN)および分散DNSサービスを提供する会社です。 CloudFlareの無料サービスと有料サービスを使用して、さまざまな方法でウェブサイトのセキュリティ、速度、可用性を改善できます。 このチュートリアルでは、「I’m Under Attack Mode」を有効にして、CloudFlareの無料利用枠サービスを使用して、進行中のHTTPベースのDDoS攻撃からWebサーバーを保護する方法を示します。 このセキュリティモードでは、インタースティシャルページを表示して、Webサーバーに渡す前に接続の正当性を検証することにより、DDoS攻撃を軽減できます。

前提条件

このチュートリアルでは、次のものがあることを前提としています。

  • Webサーバー

  • Webサーバーを指す登録済みドメイン

  • ドメインを発行したドメインレジストラーのコントロールパネルへのアクセス

また、続行する前にCloudFlareアカウントにサインアップする必要があります。 このチュートリアルでは、CloudFlareのネームサーバーを使用する必要があることに注意してください。

CloudFlareを使用するようにドメインを構成する

CloudFlareの機能を使用する前に、CloudFlareのDNSを使用するようにドメインを構成する必要があります。

まだ行っていない場合は、CloudFlareにログインします。

Webサイトを追加してDNSレコードをスキャンする

ログイン後、Get Started with CloudFlareページに移動します。 ここで、WebサイトをCloudFlareに追加する必要があります。

Add a website

CloudFlareを使用するドメイン名を入力し、Begin Scanボタンをクリックします。 次のようなページが表示されます。

Scanning your DNS records

これには約1分かかります。 完了したら、Continueボタンをクリックします。

次のページには、DNSレコードスキャンの結果が表示されます。 既存のDNSレコードがすべて存在することを確認してください。これらは、CloudFlareがドメインへのリクエストを解決するために使用するレコードです。 この例では、ドメインとしてcockroach.nycを使用しました。

Add DNS Records

Webサーバーを指すAレコードとCNAMEレコードの場合、Status列には、矢印が通過するオレンジ色のクラウドが必要であることに注意してください。 これは、トラフィックがサーバーに到達する前にCloudFlareのリバースプロキシを通過することを示しています。

次に、CloudFlareプランを選択します。 このチュートリアルでは、Free planオプションを選択します。 CloudFlareの追加機能が必要なために別のプランの支払いを希望する場合は、お気軽にお支払いください。

Select CloudFlare Plan

ネームサーバーを変更する

次のページには、ドメインの現在のネームサーバーとそれらの変更先の表が表示されます。 それらのうち2つをCloudFlareネームサーバーに変更し、残りのエントリを削除する必要があります。 ドメインがDigitalOceanネームサーバーを使用している場合のページの表示例を次に示します。

Change your nameservers

ドメインのネームサーバーを変更するには、ドメインレジストラーのコントロールパネルにログインして、CloudFlareが提示したDNSを変更します。 たとえば、GoDaddyやNameCheapなどのレジストラからドメインを購入した場合、適切なレジストラのコントロールパネルにログインして、そこで変更を加える必要があります。

プロセスは、特定のドメインレジストラーによって異なります。 これを行う方法がわからない場合は、DigitalOceanの代わりにCloudFlareネームサーバーを使用することを除いて、How to Point to DigitalOcean Nameservers From Common Domain Registrarsで説明されているプロセスと同様です。

この例では、ドメインはDigitalOceanのネームサーバーを使用しているため、CloudFlareのDNSを使用するようにドメインを更新する必要があります。 ドメインはNameCheapを介して登録されているため、ここからネームサーバーを更新する必要があります。

ネームサーバーの変更が終了したら、Continueボタンをクリックします。 ネームサーバーの切り替えには最大24時間かかりますが、通常は数分しかかかりません。

ネームサーバーが更新されるのを待ちます

ネームサーバーの更新には予測できない時間がかかるため、次のページが表示される可能性があります。

Pending nameservers

Pendingステータスは、CloudFlareがネームサーバーが指定したものに更新されるのを待っていることを意味します(例: olga.ns.cloudflare.comおよびrob.ns.cloudflare.com)。 ドメインのネームサーバーを変更した場合は、しばらく待って、後でActiveステータスを確認するだけです。 Recheck Nameserversボタンをクリックするか、CloudFlareダッシュボードに移動すると、ネームサーバーが更新されているかどうかが確認されます。

CloudFlareはアクティブです

ネームサーバーが更新されると、ドメインはCloudFlareのDNSを使用し、次のようにActiveステータスが表示されます。

Active Status

これは、CloudFlareがWebサイトのリバースプロキシとして機能しており、サインアップした価格帯で利用可能な機能にアクセスできることを意味します。 このチュートリアルのようにfree層を使用している場合は、サイトのセキュリティ、速度、可用性を向上させることができるいくつかの機能にアクセスできます。 進行中のDDoS攻撃の緩和に焦点を当てているため、このチュートリアルのすべての機能は取り上げませんが、CDN、SSL、静的コンテンツキャッシング、ファイアウォール(トラフィックがサーバーに到達する前)、トラフィック分析ツールが含まれます。

また、ドメインのすぐ下にあるSettings Summaryには、Webサイトの現在のセキュリティレベル(デフォルトでは中)とその他の情報が表示されます。

続行する前に、CloudFlareを最大限に活用するには、次のガイドに従う必要があります:Recommended First Steps for All CloudFlare Users。 これは、CloudFlareが許可するサービスからの正当な接続を許可し、Webサーバーログに元の訪問者IPアドレスが表示されるようにするために重要です(CloudFlareのリバースプロキシIPアドレスの代わりに)。

すべての設定が完了したら、CloudFlareファイアウォールのI’m Under Attack Mode設定を見てみましょう。

攻撃モードになっています

デフォルトでは、CloudFlareのファイアウォールセキュリティはMediumに設定されています。 これにより、サイトへのアクセスを許可する前にチャレンジページを表示することで、中程度の脅威と評価された訪問者に対する保護が提供されます。 ただし、サイトがDDoS攻撃の標的である場合、サイトを運用し続けるには不十分な場合があります。 この場合、I’m Under Attack Modeが適切な場合があります。

このモードを有効にすると、ウェブサイトへの訪問者にはインタースティシャルページが表示されます。このページでは、ブラウザチェックを実行し、訪問者を約5秒間遅らせてからサーバーに渡します。 これは次のようになります。

Interstitial Page

チェックに合格すると、訪問者はあなたのウェブサイトへのアクセスを許可されます。 悪意のある訪問者があなたのサイトに接続するのを防ぐことと遅らせることの組み合わせは、多くの場合、DDoS攻撃中であっても、サイトを稼働させ続けるのに十分です。

[.note]#Note:サイトへの訪問者は、インタースティシャルページを通過するためにJavaScriptとCookieを有効にする必要があります。 これが受け入れられない場合は、代わりに「高」ファイアウォールセキュリティ設定を使用することを検討してください。

サイトがDDoS攻撃の被害者である場合にのみ、I’m Under Attack Modeを有効にする必要があることに注意してください。 それ以外の場合は、通常のユーザーが理由なくWebサイトにアクセスするのを遅らせないように、オフにする必要があります。

攻撃モードになっていることを有効にする方法

I’m Under Attack Modeを有効にする場合、最も簡単な方法は、CloudFlareの概要ページ(デフォルトページ)に移動し、Quick Actionsメニューから選択することです。

Under Attack Mode action

セキュリティ設定はすぐにI’m Under Attackステータスに切り替わります。 これで、サイトへの訪問者には、上記で説明したCloudFlareインタースティシャルページが表示されます。

攻撃モードになっているのを無効にする方法

I’m Under Attack Modeは、DDoS緊急時にのみ使用する必要があるため、攻撃を受けていない場合は無効にする必要があります。 これを行うには、CloudFlareの概要ページに移動し、Disableボタンをクリックします。

I’m Under Attack enabled

次に、切り替えるセキュリティレベルを選択します。 デフォルトで一般的に推奨されるモードはMediumです。

Disable I’m Under Attack Mode

サイトはActiveステータスに戻るはずであり、DDoS保護ページは無効になります。

結論

WebサイトでCloudFlareを使用しているので、HTTPベースのDDoS攻撃から簡単に保護する別のツールがあります。 CloudFlareには、無料のSSL証明書など、セットアップに関心がある可能性のあるさまざまなツールもあります。 そのため、オプションを調べて、何が役立つかを確認することをお勧めします。

がんばろう!