今回はAzureのDDoS攻撃から保護するサービスである、Azure DDoS Protectionの構築とテストまで実施したいと思います。
Azure DDoS Protectionとは
Azure DDoS ProtectionはAzureのDDoS保護サービスです。
本リソースを活用することでアプリケーションをDDoS攻撃から守ることができます。
Azure DDoS ProtectionはパブリックIPは仮想ネットワーク単位で保護することができ、閾値をこちらで設定することはなくAzure側で自動で設定してくれます。
Azure DDoS Protectionの詳細については以下をご覧ください。
IPAから公開されている情報セキュリティ10大脅威でも言われている通り、DDoS攻撃を実行するツールなどが以前と比べて容易に手に入るようになったためDDoS保護の重要度は増しています。
無料のAzure DDoS Protection ネットワークインフラストラクチャ保護
AzureにはデフォルトでAzure DDoS Protection ネットワークインフラストラクチャ保護が適用されています。
これは無料で利用できるものです。
しかし、ネットワークインフラストラクチャ保護はDDoS攻撃から保護してはいますが、その閾値はとても高く、実際にDDoS保護が機能する頃には提供しているアプリケーションはダウンした後であることがほとんどです。
そのため、ネットワークインフラストラクチャ保護では実質DDoS攻撃からの保護は利用できません。
抜粋
Azure で実行されているサービスは、既定のインフラストラクチャ レベルの DDoS 保護によって本質的に保護されています。 ただし、インフラストラクチャに対する保護の場合、ほとんどのアプリケーションで処理できる容量よりはるかに高いしきい値を持ち、テレメトリやアラートが提供されないため、トラフィック量がプラットフォームによって無害であると認識されても、それを受信するアプリケーションにとっては壊滅的になる可能性があります。
Azure DDoS Protection サービスにオンボードすることで、アプリケーションには、攻撃とアプリケーション固有のしきい値を検出するための専用の監視が提供されます。 サービスは、予想されるトラフィック量に合わせて調整されたプロファイルを使用して保護され、DDoS 攻撃に対する防御は、はるかに厳しくなります。
サービスレベル
Azure DDoS Protectionには以下の2つのサービスレベルがあります。
- DDoS IP 保護
- DDoS ネットワーク保護
Azure DDoS Protectionには以下の2つのサービスレベルがあります。
「DDoS IP 保護」はパブリックIP単位で保護を提供します。
「DDoS ネットワーク保護」は仮想ネットワーク単位でのパブリックIPを保護します。上限は100個までです。
上記の2つに関しては機能の違いもあり、「DDoS ネットワーク保護」の方が基本的には提供されているサービスが豊富です。
しかし、提供されているサービスについてはコスト面に関するものが多いです。つまりどちらを選ぶかはコスト面が重要な要素の一つになります。
現在の価格でいくと大体パブリックIPを15個以上使用する場合は「DDoS ネットワーク保護」の方がコスト効率がいいです。
そのため、構築する環境に合わせてどちらを選ぶかを決定するのがよさそうです。
価格は以下から確認できます。
「DDoS IP 保護」と「DDoS ネットワーク保護」の提供されているサービスに関しては以下から確認することができます。
パブリックIPの作成
では実際に保護を作成してみたいと思います。
Azure Portalに接続し、検索窓から「パブリック」と入力し、「パブリックIPアドレス」をクリックします。
「作成」をクリックします。
値と入力して作成します。
ここではIPv4かつ、Standard SKUであれば他は任意で問題ございません。
作成したら、パブリックIPをVirtual Machineなどに紐づけておきましょう。
保護の適用
先ほど作成したパブリックIPアドレスのリソースの概要欄に移動し、「IPアドレスの保護」の「保護」をクリックします。
今回はDDoS IP保護を利用するため、IPを選択して「保存」をクリックします。
「プロパティ」欄を確認すると、保護の状態が「保護済み」になっていればOKです。
ログの保存
これでパブリックIPアドレスの保護の適用まで完了しました。
次に攻撃を後から確認できるように、ログを保存できるようにします。
まずはログを保存して後から確認できるようにログ保存のリソースである「Log Analytics」を作成します。
上記検索窓から「log」と入力し、「Log Analytics ワークスペース」をクリックします。
「作成」をクリックし、値を入力し作成します。
次に、ログを作成したLog Analyticsに保存できるようにします。
作成したパブリックIPリソースに移動し「診断設定」→「診断設定を追加する」をクリックします。
「診断設定の名前」を入力し、「all Logs」にチェックをつけて「Log Analytics ワークスペースへの送信」を選んで先ほど作成したLog Analyticsを選択して「保存」をクリックします。
これでテストを実行する準備ができました。
侵入テストの実施
侵入テストはAzureからパートナーが提供されています。
侵入テストは必ず、パートナーを通じて実施する必要があり、かつルールを遵守しないと法的措置を取られる可能性があります。
そのため、実施は注意して行いましょう。
手順は以下に記載されています。
今回は「BreakingPoint Cloud」にて実施したいと思います。
BreakingPoint Cloudはパートナーの一つです。BreakingPoint Cloudはトライアルとして5GBまで無料でテストを実施できるため、今回はそれを利用させていただきます。
企業等でテストを実施する場合は、見積もり・購入してテストを実施するべきと思います。
実際購入するとしてどれくらいかかるのか知っている方がいましたらコメントで教えていただけるとありがたいです。
まずは、以下の画面のLOGINからSign upをクリックし、会員登録を実施します。
最初のLOGIN画面から先ほど作成したアカウントでログインすると、テスト画面に遷移できます。そして、この画面の上部に5GBまでトライアルであることが記載されています。
テストを実施するためにはAzureのサブスクリプションの入力と、Azure側でのアクセス許可が必要になります。上記画面の「START TEST」をクリックすると入力画面に遷移できます。
サブスクリプションの連携、アクセス許可が終了したらテスト内容を入力します。選択項目などについては上記に連携したMSのドキュメントにも記載されているのでそちらを参照してください。
今回は、5GBまでという制約があるため以下の値で設定しました。
- Target IP Address:”AzureのパブリックIPアドレス”
- Port Number:443
- DDoS Profile:DNS Flood
- Test Size:100K pps, 60Mbps and 2 source IPs
- Test Duration:10 Minutes
「START TEST」を実行して10分程度待機すると、テスト結果が返ってきます。
では、実際にログから攻撃があったのか見てみましょう。
AzureのパブリックIPから「メトリック」を選択し、メトリックに「Under DDoS attack or not」を選択します。そうすると値が1になっていることが以下の画像からわかると思います。
リソースが攻撃を受けた場合は、この値が0から1に変化するためこれで攻撃があったことが検知できます。
コメント