WAFのホワイトリスト、ブラックリストはどのようなパターンをどのように登録しますか?

boitumelo-0DJHJcpwN9Q-unsplash.jpg

質問

WAFのホワイトリスト、ブラックリストはどのようなパターンをどのように登録しますか?


解答

WAF(Web Application Firewall)のホワイトリスト・ブラックリストは、
**Webアプリケーションへの攻撃を防ぐために定義する「許可ルール」や「遮断ルール」です。
これらのリストは、HTTPリクエストに含まれる
パターン(条件)**に基づいて登録・制御されます。


✅ ホワイトリストとブラックリストの違い

種類概要特徴
ブラックリスト「これが含まれていたらブロックする」攻撃パターンを登録
ホワイトリスト「これだけ許可する」信頼されたものだけを許可

✅ ブラックリストの登録パターン(ブロック対象)

ブラックリストは、攻撃とみなす特徴的な入力パターンや動作を登録します。

● 登録対象例

対象具体例
URLパス/admin, /etc/passwd, /wp-login.php
HTTPメソッドDELETE, PUT(許可していない場合)
User-Agentsqlmap, curl, wget など自動ツールのもの
IPアドレス不正アクセスがあったIPアドレスや海外IPレンジ
文字列パターンUNION SELECT, 1=1, <script> など
リクエストヘッダ攻撃ツール特有のヘッダや不正な形式
POSTボディの内容特定のフィールドにJavaScriptやSQL文が含まれる

● パターン例(ルール記述)

  • .*<script>.* → クロスサイトスクリプティング(XSS)

  • .*UNION\s+SELECT.* → SQLインジェクション

  • .*\.\./.* → ディレクトリトラバーサル

  • .*cmd=.* → OSコマンドインジェクション


✅ ホワイトリストの登録パターン(許可対象)

ホワイトリストは、許可したい通信内容やリクエスト形式を限定的に登録します。

● 登録対象例

対象具体例
IPアドレス社内IPだけアクセス許可:192.168.0.0/24
URLパス/api/v1/products, /login のみ許可
HTTPメソッドGETPOST のみ許可、PUTDELETE はブロック
Content-Typeapplication/json のみ許可
ホスト名example.com ドメインからの通信のみ許可

● 使いどころ

  • 社内からのみアクセスできる管理画面

  • 指定ドメイン以外からのAPIアクセスを遮断

  • IoT機器やWebhookの固定フォーマットを通す


✅ どうやって登録するのか?

● 方法例(製品・OSSによって異なる)

方法説明
GUI設定AWS WAF、Cloudflare、F5 BIG-IPなどで、Web画面からルールを追加
YAML/JSON定義ModSecurityやAWS WAFではポリシーをファイルで管理
正規表現(RegEx)攻撃パターンやURL形式を柔軟に設定できる
シグネチャ方式OWASP Core Rule Set (CRS) を使って標準攻撃パターンを一括登録

✅ 登録時の注意点

ポイント内容
誤検知と過検知ブラックリストで正規ユーザーをブロックしないように精度調整が必要
例外の管理ホワイトリストは必要な通信だけ許可するため、抜けがないか確認
パターンの継続的更新攻撃手法は進化するため、定期的なメンテナンスが必須
ログの確認WAFのログをチェックし、意図しないブロックがないか監視する

✅ まとめ

観点ブラックリストホワイトリスト
考え方「これは危険」だから遮断「これだけ安全」だから許可
対応範囲攻撃パターンに広く対応通信パターンを限定する
メリット多様な攻撃を検知・遮断可能厳格な制御で高いセキュリティ
デメリット誤検知が多くなりやすい通信漏れがあると機能不全になる

この記事へのコメント