Sitecore Managed Cloud – DDoS攻撃の影響を緩和する手順


概要

この記事では、Sitecore Managed Cloudのお客様がDDoS攻撃の影響を緩和するのに取りうる対処法について説明します。

DDoS攻撃を識別する方法

DDoS攻撃を受けている場合、以下のような兆候が見つかる可能性があります。

攻撃の結果、アプリケーションに過度の負荷がかかって応答が遅くなるため、応答遅延アラートや可用性テスト失敗のアラートなどを受け取ることになります。

インフラに基づいて考えられるシナリオ

デプロイのインフラに応じた最も一般的なシナリオとして、以下のようなものが考えられます。

デプロイされたインフラによって、緩和手順が異なる場合があります。しかし、どのインフラにも共通する一般的な手順の流れがあります。

  1. 異常がないか着信トラフィックを分析する。
  2. 可能なら悪意のあるトラフィックをブロックする。
  3. 悪意のあるトラフィックのリクエスト レートを制限する。
  4. DDoS protectionサービスを設定する。

註: 攻撃に晒されているWebアプリやASKリソースを垂直または水平方向にスケーリングしても、ネットワーク レイヤーがスロットリングされるため、ほとんどの場合ウェブサイトをオンラインに戻すのに役立ちません。

以下に、考えられるシナリオは詳しく記載いたします。

Webアプリのみを実行するManaged Cloudのお客様

攻撃を識別する方法:

  1. Webアプリのモニタリングで着信リクエストのレートを調査します。
  2. Application Insightsで、リージョンで分けられたサーバーのリクエストを調査し、通常とは異なるリージョンでリクエスト レートが異常に高くなっていないか確認します。

緩和手順:

Webアプリ上で(Application GatewayまたはFront Doorなしに)ウェブサイトを実行されているManaged Cloudのお客様につきましては、残念ながらDDoS攻撃からソリューションを効率的に保護する方法はありません。
短期的な解決策として、ネットワーク ルールを使用してWebアプリへのアクセスを一時的に制限していただくことができます。

Webアプリのネットワーク制限ルールに関する詳細につきましては、このドキュメントをご参照ください。

長期的な解決策といたしまして、App Gateway WAF、Front DoorまたはDDoS protectionを購入していただくことをご検討ください。詳細につきましては、以下をご参照ください。

Application Gatewayを使用するManaged Cloudのお客様

攻撃を識別する方法:

Application gateway」リソースの「概要Overview)」セクションで「合計要求の総数Sum Total Requests)」を調査します。

 

以下のクエリを使用して、監視Monitoring ログLogs)でApplication gatewayに不審なIPがないかを調査します。

AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess"
| summarize AggregatedValue = count() by clientIP_s
| top 10 by AggregatedValue

リクエストの大半を生成している疑わしいIPアドレスがないか結果を調査します。なお、スマートDDoS攻撃では幅広い範囲のIPが使用される場合があるため、IPではブロックできない可能性がある点に注意してください。

Application Gatewayの監視Monitoring) → メトリックMetrics)で、国/リージョンCountry/Region)で分けられたWAF合計要求数WAF Total Requests)を確認し、疑わしいリージョンがないか調査します。

DDoS攻撃では、しばしば少数のページのみに焦点を合わせて攻撃してくることがあります。以下のクエリを使用して、監視Monitoring) → ログLogs)で最も多く訪問されたページを調査することができます。

AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess"
| summarize AggregatedValue = count() by requestUri_s
| top 50 by AggregatedValue

攻撃者はかなりの頻度で攻撃中に共通のエージェント、ブラウザ、またはデバイスを使用します。例えば、次のクエリはユーザー エージェントごとのリクエストを返します。

AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess"
| summarize AggregatedValue = count() by userAgent_s
| sort by AggregatedValue desc

Azure Application Gatewayのさらなる詳細につきましては、このドキュメントをご参照ください。

緩和手順:

短期的な解決策として、調査結果を元にWAFポリシー ルールを使用してApplication Gatewayでトラフィックを一時的にブロックする方法が挙げられます。Application Gateway → 設定(Settings) → Web application firewallメニューにアクセスし、既存のポリシーを選択するか新しいポリシーを作成します(WAFポリシーの作成方法についてはこのドキュメントをご参照ください)。

ポリシーでIP、リージョン、訪問したページ、エージェント、またはその他のプロパティを元にトラフィックをブロックまたは許可するカスタム ルールを作成できます。

WAFのカスタム ルールの詳細につきましては、このドキュメントをご参照ください。

また、異常に高いレベルのトラフィックをブロックするレート制限ポリシーを作成していただくこともできます。詳細につきましては、このドキュメントをご参照ください。

Application Gatewayはトラフィックが増加すると、処理のために追加のインスタンスを必要とする場合があります。インスタンスをスケーリングする方法については、このドキュメントをご参照ください。

DDoS攻撃が終了したら、適用したブロック ルールおよびスケーリングしたインスタンスを元に戻すことを忘れないようにしてください。

長期的な解決策としては、DDoS protectionを購入していただくことをご検討ください。

ご不明な点がございましたら、Sitecoreサポートまでお問い合わせください。

Front Doorを使用するManaged Cloudのお客様

攻撃を識別する方法:

Application Gatewayと同様に、Front Doorで潜在的なDDoS攻撃の有無を識別するには、監視Monitoring) → リクエスト数Requests Count)にアクセスします。

 

国でトラフィックを分けることができます。

 

Front Doorのログを閲覧するには、診断設定を構成していることを確認してください(詳細につきましては、このドキュメントを参照してください)。


Application Gatewayと同様に、Front Doorのログでは着信したリクエストに関する情報を抽出することができます。

クライアントIP:

AzureDiagnostics
| where Category == "FrontDoorAccessLog"
| summarize AggregatedValue = count() by clientIp_s
| sort by AggregatedValue desc

訪問したURL:

AzureDiagnostics
| where Category == "FrontDoorAccessLog"
| summarize AggregatedValue = count() by requestUri_s
| sort by AggregatedValue desc

ユーザー エージェント:

AzureDiagnostics
| where Category == "FrontDoorAccessLog"
| summarize AggregatedValue = count() by userAgent_s
| sort by AggregatedValue desc

緩和手順:

Azure Front DoorはデフォルトのAzureインフラのDDoS Protectionを活用した上で、世界中の192のエッジPOPにトラフィックを分散することで、DDoS攻撃から配信元を保護するのに役立つコンテンツ デリバリー ネットワークです。詳細につきましては、このドキュメントをご参照ください。

ただし、場合によってはデフォルトの保護は十分ではないことがあります。そこで、調査の結果を元に攻撃者をブロックするファイアウォール ルールを作成することができます。

ルールを作成するには、既存のWAFポリシーを選択するか、新しいWAFポリシーを作成します。詳細につきましては、このドキュメントをご参照ください。

また、異常に高いトラフィックをブロックするレート制限ポリシーを構成することもできます。詳細につきましては、このドキュメントをご参照ください。

デフォルトのインフラ保護ではDDoS攻撃を防げない場合は、DDoS Protectionを購入していただくことをご検討ください。なお、DDoS ProtectionはAzure Front Doorにはデプロイできない点にご注意ください。パブリックIPアドレスを持つ仮想ネットワークが構成されている必要があります。

ご不明な点がございましたら、Sitecoreサポートまでお問い合わせください。

DDoS Protectionを使用するManaged Cloudのお客様

Azure DDoS ProtectionサービスがDDoS攻撃から保護するうえで最善のソリューションです。

ご不明な点がございましたら、Sitecoreサポートまでお問い合わせください。