目次

  1. 1.はじめに
  2. 2.カスタムルールで設定できるアクション
  3. 3.カスタムルールを個別に Log アクションへ変更する方法
  4. 4.WAF ポリシー全体でアクションを切り替える方法
  5. 5.おわりに

1. はじめに

WafCharm Azure 版は Azure Application Gateway WAF v2 環境のカスタムルールに WafCharm のルールを適用します。個別のカスタムルールを Log アクションに変更する方法と WAF ポリシー全体で Log アクションへ変更する方法をご案内します。

個別での Log アクションへの変更は影響範囲を最小限に抑えられます。ただし、ルール数によっては作業量が増えてしまいますので、全体での変更と個別での変更を使い分けていきましょう。

2.カスタムルールで設定できるアクション

カスタムルールで設定できるアクションについて確認します。
Allow、Block、Log の3つのアクションを選択できます。


・Allow–他のすべてのルールをスキップして、トランザクションを承認します。指定されたリクエストは許可リストに追加され、一致すると、リクエストはそれ以上の評価を停止し、バックエンドプールに送信されます。許可リストにあるルールは、それ以上のカスタムルールまたは管理ルールについて評価されません。

・Block– SecDefaultAction(検出/防止モード)に基づいてトランザクションをブロックします。許可アクションと同様に、リクエストが評価されてブロックリストに追加されると、評価が停止され、リクエストがブロックされます。その後、同じ条件を満たすリクエストは評価されず、ブロックされるだけです。

・Log–ルールにログへの書き込みを許可しますが、残りのルールは評価のために実行します。他のカスタムルールは優先度の順に評価され、次に管理ルールが続きます。


公式情報
Custom rules for Web Application Firewall v2 on Azure Application Gateway

WAF Policy の設定でポリシー全体の全体で 「検出モード」 と 「防止モード」 が選べるので、カスタムルール自体の設定と組み合わせて挙動が変わります。下にそれを示します。

WAF の挙動対応表

 

WAF のポリシー設定の変更はアクティビティログに変更内容も含め記載されていますので後から確認することも可能です。

運用の上でファイアーウォールログ上で検知状況を確認することになりますが、ログ中の action_s という値がミスリーディングなので下の表をご確認ください。実際のリクエストに対するアクションを示した値ではありません。

ファイアウォールログの action_s 対応表

 

3. カスタムルールを個別に Log アクションへ変更する方法

2. カスタムルールで設定できるアクション で確認した通り、Log アクションへの変更方法は二通りあります。

WafCharm Azure 版では個々のカスタムルールを 「ログに記録する」 か 「拒否する」 を変更することでルール毎のアクションを切り替えます。個別のルールについて変更する手順は以下となります。

3−1. Azure Portal より対象の WAF ポリシーを開きます。

 

3−2. 「カスタム規則」 を選択し、対象のルールを選びます。

 

3−3. カスタムルールの編集画面の一番下の「 結果」 を 「トラフィックを拒否する」 から 「トラフィックのみをログに記録する」 に変更して更新します。

 

3−4. アクションの表示が変わったことを確認し、画面上の 「保存」 を選択し完了です。
※保存をしない場合、変更は反映されません。

Block アクション への変更は上記手順で 「トラフィックのみをログに記録する」 から 「トラフィックを拒否する」 に変更してください。

4. WAF ポリシー全体でアクションを切り替える方法

全体での切り替えは導入当初に全てのルールを Log アクションで検証後に Block アクションへ切り替えると言った場合に有効です。Block アクションへの変更後に誤検知を回避する場合は 3. カスタムルールを個別に Log アクションへ変更する方法 がセキュリティへの影響を最小限位抑えられるためお勧めです。

特に WafCharm Azure 版では導入時に WafCharm 管理画面でデフォルト
WAF アクションを COUNT として登録した場合、WafCharm が投入するルールは全て Log アクションとなります。検証終了後に Block アクション への変更をルールの数だけ 3. カスタムルールを個別に Log アクションへ変更する方法 の手順を繰り返す必要があります。Log アクション で検証を行いたい場合は WafCharm 管理画面はデフォルト WAF アクションを BLOCK で登録し、Azure Portal から以下の手順で切り替えていくことをお勧めします。

4−1. Azure Portal より対象の WAF ポリシーを開き、ポリシー設定を選択します。

 

4−2. 「モード」 を 「検出」 に変更し、保存を選択します。
※保存をしない場合、変更は反映されません。

 

4−3. 検出への変更を確認し完了です。

 

2. カスタムルールで設定できるアクション で説明した通り、カスタムルールの個別の状態が Block アクションであっても、「ポリシー設定」 のモードに実際の挙動は依存しますので、変更した場合は全てのルールの挙動が変わることになります。 テーブル 参照。

5. おわりに

カスタムルールは個別のルールのアクションの変更ができるため、誤検知が発生した際も影響を最小限に抑えられます。ただ、ルール数によって変更作業はかなり面倒なものになりますので全体での変更と個別での変更を使い分けましょう。