【目次】
1. はじめに
WafCharmが提供するIPアドレス制御機能には、以下の3つが含まれます。
- Allowlist:登録したIPアドレスからのリクエストを許可します。社員証のようなイメージで、所有者は、オフィスへの入室が許可されています。それと同じように、Allowlistに登録されているIPアドレスの場合、リクエストが許可されます。
- Denylist:登録したIPアドレスからのリクエストを拒否します。こちらは警備員のように、不審者による入室を止めるイメージです。Denylistに登録されているIPアドレスは、リクエストが遮断されます。
- Deny例外リスト:登録したIPアドレスからのリクエストがDenylistで拒否されなくなります。個別発行の入館証のようなイメージで、これを持っている場合、持ち物検査など通常の入館前チェックで問題がなければ、警備員に止められることなく、入館できます。「持ち物検査など通常の入館前チェック」は、WafCharmの観点でいうと、Denylistルール以外のWafCharmが提供するルールによる検査を指しています。
各機能については、以下のヘルプページもご参考ください。
AllowlistとDeny例外リストは「Denylistからの遮断を防ぐ」という観点で、一部重複した役割を持っているため、最初は少しわかりづらいかもしれません。
本記事では、AllowlistとDeny例外リストのユースケースについてご紹介します。
2. Allowlistのユースケース
上記の通り、Allowlistには許可したいIPアドレスを登録します。特定のIPアドレスについては許可することが目的なので、WafCharmルールでの検査は基本的には行いません。
ユースケースには、以下のようなものがあります。
CMSなど、管理者が使うツールもWAFの保護対象に入ってる場合
CMSなどのツールでは、管理者が自由に入力を行う箇所や、さまざまなコンテンツを扱うことが想定されます。入力値や、コンテンツの内容によっては、誤検知が発生する可能性も否定できません。
管理者としてCMSなどのツールにアクセスするユーザーは限られているかと思いますので、そういった方のIPアドレスをAllowlistに登録しておくことで、特定の作業だけ遮断されてしまうといった状況を回避できます。
セキュリティ診断やテストを行う場合(WAFの影響を受けずに不審なリクエストを送信したい場合)
診断やテストを行う場合には、WAFの影響を受けずに不審なリクエストを送信したい、というケースもあるかと思います。この場合、WAFを経由しない経路を使う手段もありますが、WAFを回避できない場合は、診断やテストを実施するリクエスト元のIPアドレスをAllowlistに登録することで、WAF上では必ず許可されるようになります。
WafCharmをご利用の場合、AllowlistによってWafCharmルールでの検査も回避できるため、結果的にWAFを回避していることになります。
誤検知が発生した時の緊急対応
DenylistやWafCharmルールで誤検知が発生した場合にも、AllowlistにIPアドレスをご登録いただくことで、調査や回避策を検討する間、当該リクエスト元からのアクセスを許可できるようになります。
3. Deny例外リストのユースケース
Deny例外リストには、上記の通り、DenylistでブロックしたくないIPアドレスを登録します。Denylistでの遮断を回避することが目的ですので、基本的にはWafCharmルールでの検査は行われます。
Deny例外リストにIPアドレスを登録した場合、仮に同じIPアドレス(以下の画像でいう x.x.x.2 )がDenylistに登録されたとしても、Denylistでのブロックは行われません。
※WafCharmルールで検知した場合、WafCharmルールでブロックされる可能性はあります。
Deny例外リスト、Denylistの具体的な動作はご利用のプラットフォームやRuleポリシーによっても異なりますが、「Denylistで遮断(ブロック)されなくなる」という動作については同じです。
なお、Deny例外リストを使用していないIPアドレス(以下の画像でいう x.x.x.1)の場合、このIPアドレスからのリクエストはDenylistによりブロックされます。
ユースケースには、以下のようなものがあります。
セキュリティ診断やテストを行う場合(WAFを経由した上で診断やテストを実施したい場合)
診断やテストを行う場合には、不審なリクエストがDenylistで検知される可能性が高いです。Denylistで検知され、IPアドレスが登録された後は、しばらく後続のリクエストも遮断されてしまうため、診断やテスト業務が滞る恐れがあります。もし、WAFを経由した上で診断やテストを実施したいという場合、Deny例外リストを用いて、Denylistだけは回避した上で実施することを推奨しております。
診断やテストを実施する前に、リクエスト元のIPアドレスをDeny例外リストに登録しておくことで、Denylistの影響を事前に回避できます。
開発・検証環境での利用
開発や検証のために特殊なリクエストを送信していて、それらがDenylistで誤検知されてしまう、というようなケースでも、Deny例外リストが有用です。あらかじめ開発や検証を行う関係者のIPアドレスをDeny例外リストに登録しておくことで、予期しない遮断を回避できます。
外部サービスやパートナー連携
ヘルスチェックや監視システムからのリクエストで思わぬ誤検知を防ぎたい場合も、あらかじめそれらのシステムで利用されるIPアドレスをDeny例外リストに登録しておくことで、誤検知の回避が可能です。
誤検知が発生した時の緊急対応
Denylistで誤検知が発生した場合は、Deny例外リストを用いた回避が可能です。Allowlistには登録できないIPアドレスがある場合や、調査や回避策を検討する間もWafCharmルールでは検査させたい、という場合には、Deny例外リストをご利用ください。
4. おわりに
今回は、AllowlistおよびDeny例外リストのユースケースをご紹介いたしました。
どちらの機能も、目的が重複する部分があるため、「どちらでもいいのではないか」と判断に迷うケースもあるかと思います。
Allowlistは登録したIPアドレスからのリクエストを許可する仕組みですので、「絶対に許可したいかどうか」「基本的に許可して良いリクエスト元かどうか」といった視点を持っていただくと、判断しやすいかもしれません。
なお、AllowlistおよびDeny例外リストの両方に同じIPアドレスを同時に登録いただく必要はございません。どちらか片方にIPアドレスが登録されていれば、Denylistで遮断されることはなくなります。