LoginSignup
2
0

1つのWAFからWebアプリごとにグローバルIPアドレスを制限する方法

Last updated at Posted at 2023-12-06

はじめに

AzureのFrontDoorもしくはApplicationGatewayを利用して、複数のアプリを振り分けるケースがあると思います。
その際にアプリごとに接続可能なグローバルIPアドレスを制限するWAFの設定方法を説明していきます。

Azure WAFとは?

Azure WAF(Web Application Firewall)
SQL インジェクションなどの一般的な Web ハッキング手法や、クロスサイト スクリプティングなどのセキュリティ脆弱性から Web アプリを保護するクラウドネイティブ サービスです。

構成例

今回は例としてFrontDoorのリソースからAアプリとBアプリをそれぞれ異なるグローバルIPアドレスで制限する方法を紹介します。

image.png

事前準備

WAFのリソース作成

事前にWAFリソースを作成しておく必要があります。

■Application GatewayでWAFを作成する場合

■Front DoorでWAFを作成する場合

ドメイン名の確認

FrontDoorからAアプリとBアプリのそれぞれのWebアプリを呼んでいるドメイン名を確認しておきます。

image.png

設定方法の流れ

カスタムルールの作成

左メニューの「カスタムルール」を選択し、「カスタムルールの追加」ボタンをクリックします。

image.png

カスタムルールの設定(Aアプリ側)

カスタムルールを以下の通り設定します。

1つ目の条件

  • 一致の種類:IPアドレス
  • 一致変数:SocketAddr
  • 演算:次の値を含まない
  • IPアドレスまたは範囲:Webアプリ「Aアプリ」に接続させたいグローバルIPアドレス

2つ目の条件

  • 一致の種類:文字列
  • 一致変数:RequestUri
  • 演算:次の値に一致する
  • 演算子:次の値を含む
  • 一致する値:Webアプリ「Aアプリ」に紐づくFrontDoorのドメイン名

image.png

カスタムルールの設定(Bアプリ側)

カスタムルールを以下の通り設定します。

1つ目の条件

  • 一致の種類:IPアドレス
  • 一致変数:SocketAddr
  • 演算:次の値を含まない
  • IPアドレスまたは範囲:Webアプリ「Bアプリ」に接続させたいグローバルIPアドレス

2つ目の条件

  • 一致の種類:文字列
  • 一致変数:RequestUri
  • 演算:次の値に一致する
  • 演算子:次の値を含む
  • 一致する値:Webアプリ「Bアプリ」に紐づくFrontDoorのドメイン名

image.png

おわりに

WAFを初めて作成した際は「検知モード」になっていて先程設定したカスタムルールでブロックされない状態になっているので、「防止モード」に変更することは忘れないようにしましょう。

構成例を元に設定方法をご紹介しましたが、この情報がどなたかの参考になれば嬉しいです。
なにかあれば随時、情報を追記したり修正したりしようと思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0