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レコードをスキャンする

ログインすると、* CloudFlareの開始*ページが表示されます。 ここで、WebサイトをCloudFlareに追加する必要があります。

image:https://assets.digitalocean.com/articles/cloudflare/ddos/2-add-website.png [ウェブサイトを追加]

CloudFlareを使用するドメイン名を入力し、* Begin Scan *ボタンをクリックします。 次のようなページに移動する必要があります。

image:https://assets.digitalocean.com/articles/cloudflare/ddos/3-scanning-dns-records.png [DNSレコードのスキャン]

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

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

image:https://assets.digitalocean.com/articles/cloudflare/ddos/4-add-dns-records.png [DNSレコードの追加]

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

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

image:https://assets.digitalocean.com/articles/cloudflare/ddos/5-select-cloudflare-plan.png [Select CloudFlare Plan]

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

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

image:https://assets.digitalocean.com/articles/cloudflare/ddos/6-change-your-nameservers.png [ネームサーバーの変更]

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

プロセスは、特定のドメインレジストラーによって異なります。 これを行う方法がわからない場合は、https://www.digitalocean.com/community/tutorials/how-to-point-to-digitalocean-nameservers-from-common-で説明されているプロセスに似ていますdomain-registrars [Common Domain RegistrarsからDigitalOceanネームサーバーをポイントする方法] DigitalOceanの代わりにCloudFlareネームサーバーを使用する場合を除きます。

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

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

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

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

image:https://assets.digitalocean.com/articles/cloudflare/ddos/7-pending-nameservers.png [保留中のネームサーバー]

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

CloudFlareはアクティブです

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

image:https://assets.digitalocean.com/articles/cloudflare/ddos/8-active.png [アクティブステータス]

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

また、ドメインのすぐ下にある[設定の概要]には、ウェブサイトの現在のセキュリティレベル(デフォルトでは中程度)およびその他の情報が表示されます。

続行する前に、CloudFlareを最大限に活用するには、https://support.cloudflare.com/hc/en-us/articles/201897700 [すべてのCloudFlareユーザーに推奨される最初のステップ]のガイドに従ってください。 これは、CloudFlareが許可するサービスからの正当な接続を許可し、Webサーバーログに元の訪問者IPアドレスが表示されるようにするために重要です(CloudFlareのリバースプロキシIPアドレスの代わりに)。

すべての設定が完了したら、CloudFlareファイアウォールの[攻撃モードになっています]設定を見てみましょう。

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

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

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

image:https://assets.digitalocean.com/articles/cloudflare/ddos/11-interstitial-page.png [インタースティシャルページ]

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

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

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

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

image:https://assets.digitalocean.com/articles/cloudflare/ddos/9-quick-actions.png [Under Attack Modeアクション]

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

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

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

image:https://assets.digitalocean.com/articles/cloudflare/ddos/10-under-attack-status.png [I’m Under Attack enabled]

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

image:https://assets.digitalocean.com/articles/cloudflare/ddos/12-disable-under-attack.png [攻撃モードになっているのを無効にする]

サイトは*アクティブ*ステータスに戻り、DDoS保護ページは無効になります。

結論

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

がんばろう!

前の投稿:Ubuntu 14.04でOrientDBデータベースをバックアップする方法
次の投稿:Ubuntu 16.04でNetdataを使用してリアルタイムパフォーマンス監視を設定する方法