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

 

今回は、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 アプリケーションファイアウォールを作成する

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

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

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

追加をクリックすると下記画面が表示されます。今回はFront Door用ですので、次に対するポリシーはグローバルWAFを選択します。リソースグループや名前は自身の環境に合わせて適時設定します。

次に、ポリシー設定を行います。防止と検出を選択します。防止にすると不正なアクセスがブロックされます。検出にすると、Logが出力されるだけで、実際のアクセスはブロックされません。適時選択します。

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

 https://www.tama-negi.com/2020/04/27/azure-front-door-2/ ‎

Azure Front DoorやWeb Application Firewallのログを取得してLog Analyticsで確認する

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

次にカスタム規則の設定を行います。こちらも適時実施しますが作成後実施した方が良いかと思います。

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

 https://www.tama-negi.com/2020/02/13/waf/

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

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

追加の場合は、以下の画面が表示されますので、FrootDoorとフロントエンドのホスト名を選択します。

 

次に、タグの画面が表示されますので、適時設定します。(ここは画面割愛します。)

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

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

Azure Front DoorでWEB アプリケーション ファイアウォールの設定を行うのは、フロントエンドまたはドメインで実施します。フロントエンドのドメイン単位での設定になります。

Front Doorデザイナー>フロントエンドまたはドメイン>設定対象のドメインを選択すると、以下のように、WEB アプリケーション ファイアウォールという項目がありますので、こちらでポリシーを選択します。

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