
WAF Automatorの管理画面から設定できるルールをまとめてみた
はじめに
クラウド事業統括本部 プロフェッショナルサービス事業本部 コンサルティング2部の山﨑です。
WAF Automatorの管理画面から設定できる項目についてご質問をいただくことがあります。
本記事では、Web ACLの詳細画面にある設定項目を一覧で整理したうえで、各機能の概要と設定できる内容を説明します。個別の設定手順については、今後ご紹介する予定です。
WAF運用自動化サービス(WAF Automator)とは
クラスメソッドでは、WAF運用自動化サービスとしてWAF Automatorを提供しています。
AIを活用したログ分析や不正アクセスの検知・対策、脅威情報の自動反映、レポート生成などにより、日々のWAF運用を自動化します。運用担当者の負担を軽減しながら、Webアプリケーションの継続的なセキュリティ対策を支援します。
サービスの詳細や導入に関するお問い合わせは、以下のサービス紹介ページをご覧ください。
管理画面の開き方とルール設定の確認方法
WAF Automatorの管理画面へのアクセス方法や、ルール設定の確認方法については、以下の記事をご参照ください。
WAF Automatorのルール設定を確認する方法 | DevelopersIO
本記事では、Web ACLの詳細画面にある「検知」「ネットワークアクセス」「URLアクセス」「トラフィック」の設定項目を紹介します。
設定できる項目の一覧
設定項目は、以下のとおりです。
| 分類 | 設定項目 | できること |
|---|---|---|
| 検知 | ルール | 管理ルールのモード変更、優先度オフセットの変更、バージョン更新など |
| 検知 | TLSフィンガープリント | JA3/JA4単位の手動ブロック、自動隔離の確認・解除 |
| ネットワークアクセス | IPブロック | 指定したIPアドレス/CIDRからのアクセスをブロック |
| ネットワークアクセス | IP例外 | 指定したIPアドレス/CIDRからのリクエストを許可し、後続の検査を省略 |
| ネットワークアクセス | パスアクセス制限 | 特定のパスへのアクセスを、許可したIPアドレスだけに限定 |
| ネットワークアクセス | 国別制限 | 指定した国、または指定した国以外からのアクセスをブロック |
| URLアクセス | URI例外 | 指定したCyberNEO管理ルールグループの検査からURIを除外 |
| URLアクセス | URI AI例外 | 指定した文字列を含むURIを、AIによる悪性判定から除外 |
| URLアクセス | ホスト制限 | 登録していないホスト名へのアクセスをカウント/ブロック |
| トラフィック | レート制限 | 単一IPからの大量リクエストを制限 |
| トラフィック | カスタムルール | JSONで定義した独自のAWS WAFルールを追加・管理 |
検知
ルール
「ルール」では、CyberNEO管理ルールとAWS管理ルールの動作、優先度オフセット、クライアントIPの取得元を設定できます。
CyberNEO緊急ルールでは、新しい脆弱性や攻撃への対応として配信されるルールの有効/無効や、ルールごとのアクションを設定できます。

CyberNEO管理ルール
CyberNEOが提供・更新する、以下の5つのルールグループです。
| ルールグループ | 検知する内容 |
|---|---|
| 攻撃検知(CyberNEO攻撃検知ルール) | OSコマンドインジェクション、機密ファイルの読み取り、ディレクトリトラバーサルなど |
| 攻撃検知(SQLインジェクション) | SQLインジェクション |
| 攻撃検知(クロスサイトスクリプティング) | クロスサイトスクリプティング |
| 脅威IP検知(AI) | 短時間に攻撃を繰り返す送信元IPからのアクセス |
| 脅威IP検知(CyberNEO脅威情報) | Webサーバーへの攻撃元として報告されている、既知の悪性IPからのアクセス |
AWS管理ルール
AWSが提供・更新する、以下のマネージドルールグループを設定できます。
| ルールグループ | 内容 |
|---|---|
| AWSManagedRulesKnownBadInputsRuleSet | 既知の脆弱性の悪用に使われるリクエストのパターンを検知 |
| AWSManagedRulesAmazonIpReputationList | Amazonの脅威インテリジェンスで、ボットや悪意のある活動に関係すると判断されたIPからのアクセスを検知 |
| AWSManagedRulesAnonymousIpList | VPN・プロキシ・Torノード・ホスティング事業者などのIPからのアクセスを検知 |
クライアントIPの取得元
IP関連の制御に使用するIPを、接続元IPから、CDN・プロキシが付けるヘッダー内のIPへ変更できます。
設定できる項目は、以下のとおりです。
| 項目 | 内容 |
|---|---|
| ヘッダーからの取得 | 有効/無効 |
| ヘッダー | X-Forwarded-For、CF-Connecting-IP、True-Client-IP、その他の任意のヘッダー |
| 使用するIPの位置 | ヘッダーに複数のIPが含まれる場合に使用する位置 |
設定後の判定方法は、機能によって異なります。
| 機能 | 設定後の判定 |
|---|---|
| IPブロック・IP例外・パスアクセス制限 | ヘッダー内の、選択した位置のIP |
| 脅威IP検知・AIによる自動ブロック | ヘッダー内の、選択した位置のIP |
| 国別制限・レート制限 | ヘッダーの先頭のIP |
| CyberNEO緊急ルール・カスタムルール | この設定では変更されない |
| AWS管理ルール | この設定では変更されない |
設定を無効にすると、接続元IPでの判定に戻ります。
TLSフィンガープリント
TLSフィンガープリント(JA3/JA4)は、HTTPS接続の開始時にクライアントが送信する情報から作られる識別子です。このタブでは、IPではなくフィンガープリント単位でアクセスをブロックします。

ネットワークアクセス
IPブロック
指定したIPアドレス/CIDRからのアクセスをブロックします。
IPv4・IPv6の両方に対応し、単一のIPはIPv4では/32、IPv6では/128として登録されます。

IP例外
信頼できるIPアドレス/CIDRを登録し、一致するリクエストを許可します。
IP例外はCyberNEOのルールの中で最初に評価され、一致したリクエストは後続の検査を受けません。

パスアクセス制限
特定のパスへのアクセスを、許可したIPアドレスだけに限定します。
許可IP以外から対象のパスへアクセスするとブロックされ、ほかのパスには影響しません。
| 設定項目 | 内容 |
|---|---|
| 制限名 | 制限を識別する名前。登録後は変更不可 |
| パス | 制限対象のパス |
| パス条件タイプ | 「で始まる」「を含む」「で終わる」「完全一致」から選択 |
| 許可IP | アクセスを許可するIPアドレス/CIDR。IPv6にも対応 |
| コメント | 任意のメモ |

国別制限
送信元IPの所属国(ジオロケーション)でアクセスを制御します。
国を検索・選択し、次のいずれかのモードを設定します。
| モード | 動作 |
|---|---|
| リストの国をブロック | 選択した国からのアクセスをブロック |
| リスト以外の全国をブロック | 選択した国以外からのアクセスをすべてブロック |
国を0件にすると、国別制限は解除されます。

URLアクセス
URI例外
URIと位置条件、対象のCyberNEO管理ルールグループを指定して、例外として登録します。
登録したURIへのリクエストは、指定したCyberNEOルールグループの検査だけを受けなくなります。ほかのCyberNEO管理ルール・AWS管理ルール・IP/国/レート制限などの検査は引き続き受けます。
| 設定項目 | 内容 |
|---|---|
| URI | 例外にするパス。大文字・小文字を区別する。 |
| 位置条件 | 「で始まる」「を含む」「で終わる」「完全一致」から選択 |
| 対象ルールグループ | 検査から除外するCyberNEOルールグループ |
| ホスト | 任意。ドメイン名を入力。大文字・小文字を区別せず、完全一致で照合 |
| HTTPメソッド | 任意。GET・POST・PUT・PATCH・DELETE・HEAD・OPTIONSから選択 |

URI AI例外
AI検査の対象から外したいURIを登録します。
登録した文字列を含むURI(パスとクエリ)のリクエストは、AIによる悪性判定を行いません。同じURIの重複登録はできません。
URI例外とURI AI例外の違いは、以下のとおりです。
| 項目 | URI例外 | URI AI例外 |
|---|---|---|
| 除外する対象 | 指定したCyberNEOルールグループの検査 | AIによる悪性判定 |
| URIの照合対象 | パス部分 | パスとクエリ |
| 一致条件 | で始まる/を含む/で終わる/完全一致 | 登録した文字列を含む |
| WAFルールへの影響 | 指定グループの検査を除外 | 影響しない |

ホスト制限
Web ACLで受け付けるホスト名(HTTPのHostヘッダー)を登録し、登録していないホスト名へのアクセスを制御します。
ホスト名は複数件まとめて追加でき、大文字・小文字を区別せず、完全一致で照合します。
未登録ホストへの動作は、以下から選択します。
- カウント:記録のみ行います。
- ブロック:ブロックします。
ホストが1件も登録されていない場合は、モードを変更できません。すべてのホストを削除すると、ホスト制限は解除されます。

トラフィック
レート制限
単一の送信元IPから5分間に送られるリクエスト数に上限を設け、超えたIPを制限します。
設定できる項目は、以下のとおりです。
| 設定項目 | 内容 |
|---|---|
| レート制限を有効にする | ONで有効、OFFで解除 |
| アクション | ブロック/カウント |
| しきい値モード | 自動/手動 |
| 手動しきい値 | 5分間あたりの上限リクエスト数 |
自動モードでは、保存した時点でWeb ACL全体の過去14日間の検知ログからしきい値を算出します。算出値は、5分ごとの件数の1時間移動平均のピークの20%で、最低値は1,000です。保存したときに1回だけ計算され、その後は自動では更新されません。
手動モードでは、10〜2,000,000,000の整数でしきい値を直接指定します。

カスタムルール
AWS WAFのルールをJSONで定義し、管理画面から追加・管理できます。ルールはWeb ACLごとに管理し、1つのWeb ACLに最大100件まで登録できます。
設定できる項目は、以下のとおりです。
| 設定項目 | 内容 |
|---|---|
| Name | 英数字・ハイフン・アンダースコアで128文字以内。同一Web ACL内で重複不可 |
| アクション | ブロック/カウント/許可 |
| Statement | AWS WAFのStatementをJSONで入力 |
| アクションの詳細 | 応答コード・応答ヘッダー、リクエストに追加するヘッダーなどをJSONで指定 |
AWSコンソールのJSONエディタに表示される、Name・Action・Statementを含むルール全体のJSONを貼り付けることもできます。その場合は、Nameとアクションが自動で読み込まれます。

アクションの詳細
| アクション | 指定できる設定 | 用途例 |
|---|---|---|
| ブロック | CustomResponseによる応答コード・応答ヘッダー | 遮断時に403ではなく429(Too Many Requests)を返し、Retry-Afterヘッダーで再試行までの秒数を伝える |
| カウント・許可 | CustomRequestHandlingによるリクエストヘッダーの追加 | ルールに一致したリクエストに目印のヘッダーを付けて、オリジン側で識別する |
応答本文を指定するCustomResponseBodyKeyは使用できません。
登録できない設定
- IPセットを参照するStatement
- 正規表現パターンセットを参照するStatement
- ルールグループ・AWS管理ルールグループを参照するStatement
- OverrideAction
- CustomResponseBodyKey
- 小数の数値
まとめ
今回は、WAF AutomatorのWeb ACL詳細画面から設定できる項目をご紹介しました。
管理画面では、管理ルールの動作変更に加えて、IP・パス・国・ホストによるアクセス制限、URIの例外設定、レート制限、JSONによるカスタムルールの追加などを設定できます。
各設定では、判定対象や適用範囲、後続のルール評価への影響が異なります。変更時は、設定内容と実際の評価順序を確認してください。
個別の設定手順については、別記事でご紹介する予定です。WAF Automatorルール設定時の参考になれば幸いです。









