Azure Web アプリケーションファイアウォール(WAF)を作ってみた

 

今回は、Azure Web アプリケーション ファイアウォールの作成を試してみました。

一般的に、Web アプリケーションファイアウォールは、悪意のある攻撃や一般的な Web 脆弱性 (SQL インジェクション、クロスサイト スクリプティングなど) から Web アプリを保護する目的で利用されます。

Web アプリケーション ファイアウォールの場合は、Azure Front DoorやAzure Application Gatewayと組み合わせて使用する事が可能です。(2020年5月10日現在 CDNもプレビューとなってました。)

https://azure.microsoft.com/ja-jp/services/web-application-firewall/

今回はAzure Front Doorで利用する前提で、作成を試してみました。

1.Azure Portalを使って、Web アプリケーションファイアウォール(WAF)を作成する

Azure Portal上で作業を実施したのですが、大まかには以下の流れになります。

      • 基本設定(適用するリソース(FrontDoor、Application Gateway、CDNの選択)デプロイするリソースグループや名前等)
      • ポリシー設定(防止か検出かの選択等)
      • 管理されているルール(適用するルールセット)
      • カスタム規則(自分でルールを作成する場合に使用)
      • 関連付け(どのFrontDoorやApplication Gatewayと関連付けを行うかの設定)
      • タグ付け

すべてのサービスでアプリケーションファイアウォールと入力すると、Web アプリケーション ファイアウォールのポリシー (WAF)が表示されますので選択します。

追加をクリックするとWAFポリシーの作成画面が表示されます。

今回はFront Door用ですので、次に対するポリシーはグローバルWAFを選択します。リソースグループや名前は自身の環境に合わせて適時設定します。

次に、ポリシー設定を行います。防止と検出を選択します。防止にすると不正なアクセスがブロックされます。検出にすると、Logが出力されるだけで実際のアクセスはブロックされません。最初は検出を適用し随時防止させた方が必要なアクセスを停止させる事がないので初期導入時はそちらの方が良いかと思われます。

Webアプリケーションファイアウォールログの確認は下記記事も参考にしていただければ。

フロントドアとWAFのログをLog Analyticsで確認

次に適用するルールセットを選択します。通常の攻撃に対するものとBotアクセスに対するルールがあるようです。環境に合わせて適時選択します。

次にカスタム規則の設定を行います。今回はそのまま次へで進みます。

なお、カスタム規則の設定する場合は過去に実施した記事も参考頂ければと。

Azure Web アプリケーション ファイアウォールのカスタム規則設定をしてみた(国別ブロック)

次に関連付けを行います。下記画面が表示されますので、フロントエンドホストの追加をクリックします。Front Doorが未作成の場合追加せずに次に進みます。

すでにFront Doorが作成されている場合は、フロントエンドホストの追加するをクリックし、Froot Doorとフロントエンドのホスト名を選択します。

 

次に、タグの画面が表示されますので、適時設定します。

最後に確認及び作成をクリックすれば、作業完了です。

2.Azure Front DoorにAzure Web アプリケーションファイアウォールを設定する

Azure Front DoorへのWEB アプリケーション ファイアウォールの割り当てはAzure Front Doorのフロントエンドまたはドメインの設定で実施します。

Front Doorデザイナー>フロントエンドまたはドメイン>設定対象のドメインを選択するとWEB アプリケーション ファイアウォールという項目が表示されます。

こちらでポリシーを選択します。

設定して保存すれば、そのドメインへのアクセスに対してWEB アプリケーション ファイアウォールのルールが適用されます。