Web コア保護ルールを作成します。
今すぐお試しください
テスト
RAM 認証
|
アクション |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
|
yundun-waf:CreateDefenseRule |
create |
*All Resource
|
|
なし |
リクエストパラメーター
|
パラメーター |
型 |
必須 / 任意 |
説明 |
例 |
| InstanceId |
string |
必須 |
WAF インスタンスの ID です。 説明
ご利用の WAF インスタンスの ID を取得するには、DescribeInstance 操作を呼び出します。 |
waf_v2_public_cn-**** |
| TemplateId |
integer |
任意 |
保護ルールテンプレートの ID です。 説明
DefenseType を template に設定した場合のみ、このパラメーターは必須です。 |
1122 |
| DefenseScene |
string |
必須 |
保護ルールを適用するシナリオです。 DefenseType を template に設定した場合の有効な値は以下のとおりです。
DefenseType を resource に設定した場合の有効な値は以下のとおりです。
DefenseType を global に設定した場合の有効な値は以下のとおりです。
説明
グローバルなカスタム応答は、保護対象またはルールに対して適用できます。異なるレベルでカスタム応答ルールを設定した場合、最も細かい粒度のスコープを持つルールが優先されます。優先順位は次のとおりです: ルールレベル > 保護対象レベル > デフォルトページ。 |
waf_group |
| Rules |
string |
必須 |
保護ルールの詳細です。この値は JSON 文字列です。 説明
JSON 文字列内のパラメーターは、DefenseScene の値によって異なります。詳細については、「保護ルールのパラメーター」をご参照ください。 |
waf_group |
| ResourceManagerResourceGroupId |
string |
任意 |
リソースグループの ID です。 |
rg-acfm***q |
| DefenseType |
string |
任意 |
保護ルールのタイプです。有効な値は以下のとおりです。
|
template |
| RegionId |
string |
任意 |
WAF インスタンスが展開されているリージョンです。有効な値は以下のとおりです。
|
cn-hangzhou |
| Resource |
string |
任意 |
ルールを適用する保護対象です。 説明
DefenseType を resource に設定した場合のみ、このパラメーターは必須です。 |
sec****-waf |
保護ルールのパラメーター
テンプレート保護ルール (template)
DefenseType を template に設定した場合、ルール構成は以下のとおりです。
基本保護ルール (waf_group)
パラメーター
| パラメーター | 型 | 必須 | 例 | 説明 |
| status | Integer | 必須 | 1 | 防御ルールの初期ステータスを指定します。後でステータスを変更するには、ModifyDefenseRuleStatus 操作を呼び出します。有効な値: - 0: 無効。 - 1 (デフォルト): 有効。 |
| action | String | 必須 | block | 防御ルールのアクションを指定します。有効な値: - block: 一致するリクエストをブロックします。 - monitor: 一致するリクエストをモニターします。 |
| policyId | Long | 任意 | 1012 | 防御ルールグループの ID を指定します。デフォルトでは中間ルールグループ (1012) になります。 |
| protectionType | String | 任意 | sema | 防御ルールのタイプを指定します。有効な値: - regular (デフォルト): 正規表現保護。 - sema: セマンティック保護。 |
| config | String | 任意 | {"nonInjectionSql":1} | カスタム構成を JSON 文字列として指定します。設定の詳細な一覧については、config オブジェクトのドキュメントをご参照ください。 |
パラメーター
protectionType を sema に設定した場合、基本保護ルールはセマンティック保護となります。
| パラメーター | 型 | 必須 | 例 | 説明 |
| nonInjectionSql | Integer | はい | 1 | 非インジェクション攻撃検出を有効にするかどうかを示します。有効な値: - 0: 無効。 - 1 (デフォルト): 有効。 |
例
{
"DefenseScene": "waf_group",
"TemplateId": 322,
"InstanceId": "waf_cn****",
"Rules": "[{\"status\":1,\"policyId\":1012,\"action\":\"block\"},{\"status\":1,\"action\":\"block\",\"protectionType\":\"sema\",\"config\":\"{\\\"nonInjectionSql\\\":1}\"}]"
}
新規 Web コア保護 (waf_base)
パラメーター
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| autoUpdate | Boolean | 必須 | true | 自動更新を有効にするかどうかを指定します。有効な値: - true: 自動更新を有効にします。 - false: 自動更新を無効にします。 |
| config | Array | 必須 | [{"ruleType":"system","ruleDetail":[{"ruleId":13000412,"ruleStatus":1,"ruleAction":"block"}]}] | 変更するルール構成です。 重要 テンプレートのシステム保護ルール構成を照会するには、DescribeBaseSystemRules 操作を呼び出します。テンプレートのカスタム正規表現ルール構成を照会するには、DescribeDefenseRules 操作を呼び出します。 |
config: 構成の詳細
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| ruleType | String | 必須 | system | ルールのタイプです。有効な値: - system: 基本保護のシステムルール。 - custom: 基本保護のカスタム正規表現ルール。 |
| ruleBatchOperationConfig | String | 任意 | default | ルールに対する一括操作を指定します。このパラメーターは RuleDetail パラメーターと併用できません。有効な値:- default: デフォルト設定を復元します。 - all_on: すべてのルールを有効にします。 - all_off: すべてのルールを無効にします。 - all_block: すべてのルールのアクションを「ブロック」に設定します。 - all_monitor: すべてのルールのアクションを「モニター」に設定します。 |
| ruleDetail | Array | 任意 | [{"ruleId":13000412,"ruleStatus":1,"ruleAction":"block"}]] | 変更するルールの詳細です。プロパティ: - ruleId: ルール ID。 - ruleStatus: ルールのステータス。 - ruleAction: ルールのアクション。 |
例
{
"DefenseScene": "waf_base",
"TemplateId": 322,
"InstanceId": "waf_cn****",
"Rules": "[{\"autoUpdate\":true,\"config\":[{\"ruleType\":\"system\",\"ruleDetail\":[{\"ruleId\":13000412,\"ruleStatus\":1,\"ruleAction\":\"block\"}]}]}]"
}
スキャン保護ルール
パラメーター
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| protectionType | String | 必須 | highfreq | スキャン保護ルールのサブタイプです。有効な値: - highfreq: 高頻度スキャンブロッキング。 - dirscan: ディレクトリトラバーサルブロッキング。 - scantools: スキャンツールブロッキング。 |
| status | Integer | 必須 | 1 | 保護ルールのステータスです。このパラメーターは保護ルールを作成する場合にのみ使用します。ステータスを変更するには、ModifyDefenseRuleStatus 操作の RuleStatus パラメーターを使用します。有効な値: - 0: 無効。 - 1 (デフォルト): 有効。 |
| action | String | 必須 | block | 保護ルールのアクションです。有効な値: - block: 一致するリクエストをブロックします。 - monitor: 一致するリクエストをモニターします。 |
| actionExternal | JSON | 任意 | {"responseRuleId":123444} | ルールのアクションに対する拡張構成を指定します。これにより、カスタム応答を定義できます。たとえば、action パラメーターを block に設定した場合、カスタムブロックページを指定できます。 |
| config | String | 任意 | {"target":"remote_addr","interval":60,"ttl":180,"count":20} | カスタム構成を JSON 文字列として指定します。詳細については、「config パラメーターの詳細」をご参照ください。 |
詳細な構成
protectionType を highfreq に設定した場合 (高頻度スキャンブロッキング)
| パラメーター | 型 | 必須 | 例 | 説明 |
| target | String | はい | remote_addr | 統計対象のタイプです。有効な値: - remote_addr (デフォルト): IP アドレス。 - cookie.acw_tc: 会話。 - header: カスタムヘッダー。この値を選択した場合は、subKey パラメーターでヘッダーフィールドを指定します。 - queryarg: カスタムパラメーター。この値を選択した場合は、subKey パラメーターでパラメーター名を指定します。 - cookie: カスタム Cookie。この値を選択した場合は、subKey パラメーターで Cookie 名を指定します。 |
| subKey | String | いいえ | abc | 統計対象の特定のフィールドです。target が cookie、header、または queryarg に設定されている場合に必須です。 |
| interval | Integer | いいえ | 60 | 検出期間 (秒単位) です。デフォルト値は 60 です。 値は 5 ~ 1,800 の整数である必要があります。 |
| ttl | Integer | いいえ | 1800 | ブロッキング期間 (秒単位) です。デフォルト値は 1,800 です。 値は 60 ~ 86,400 の整数である必要があります。 |
| count | Integer | いいえ | 20 | 基本保護ルールがトリガーされる最大回数です。デフォルト値は 20 です。 値は 3 ~ 50,000 の整数である必要があります。 |
| ruleIdCount | Integer | いいえ | 2 | トリガーされるルールの最大数です。デフォルト値は 2 です。 値は 1 ~ 50 の整数である必要があります。 |
protectionType を dirscan に設定した場合 (ディレクトリトラバーサルブロッキングのためのスキャン保護ルール)
| パラメーター | 型 | 必須 | 値 | 説明 |
| target | String | 必須 | remote_addr | 統計およびブロッキングの対象となるオブジェクトです。有効な値: - remote_addr (デフォルト): IP - cookie.acw_tc: 会話 - header: カスタムヘッダー - queryarg: カスタムパラメーター - cookie: カスタム Cookie |
| subKey | String | 任意 | 1 | ターゲットオブジェクトのサブキーです。target が header、queryarg、または cookie に設定されている場合に指定します。 |
| interval | Integer | 任意 | 60 | 検出期間 (秒単位) です。 有効な値: 5 ~ 1,800。デフォルト: 60。 |
| ttl | Integer | 任意 | 1800 | ブロッキング期間 (秒単位) です。 有効な値: 60 ~ 86,400。デフォルト: 1,800。 |
| count | Integer | 任意 | 20 | 基本保護ルールがトリガーされる最大回数です。 有効な値: 3 ~ 50,000。デフォルト: 20。 |
| weight | Float | 任意 | 0.5 | 404 応答コードの割合です。 有効な値: 0.01 ~ 1.0 (小数点以下 2 桁の精度)。デフォルト: 0.7。 |
| uriNum | Integer | 任意 | 50 | 存在しないディレクトリの最大数です。 有効な値: 2 ~ 50,000。デフォルト: 50。 |
例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 2222,
"DefenseScene": "antiscan",
"Rules": "[{\"protectionType\":\"scantools\",\"action\":\"block\",\"status\":1},{\"protectionType\":\"dirscan\",\"status\":1,\"action\":\"block\",\"config\":\"{\\\"target\\\":\\\"remote_addr\\\",\\\"interval\\\":10,\\\"ttl\\\":1800,\\\"weight\\\":0.7,\\\"uriNum\\\":50,\\\"count\\\":50}\"},{\"protectionType\":\"highfreq\",\"status\":1,\"action\":\"block\",\"config\":\"{\\\"target\\\":\\\"remote_addr\\\",\\\"interval\\\":60,\\\"ttl\\\":1800,\\\"count\\\":20,\\\"ruleIdCount\\\":2}\"}]"
}
IP ブラックリスト (ip_blacklist)
パラメーター
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| name | String | 必須 | iptest | IP ブラックリストルールの名前です。名前の長さは 1 ~ 255 文字で、漢字、英字、数字、アンダースコア (_ )、ピリオド (.)、ハイフン (-) を含めることができます。 |
| status | Integer | 必須 | 1 | ルールのステータスです。このパラメーターは保護ルールを作成する場合にのみ使用します。ルールのステータスを変更するには、ModifyDefenseRuleStatus 操作の RuleStatus パラメーターを使用します。有効な値: - 0: 無効 - 1 (デフォルト): 有効 |
| action | String | 必須 | block | ルールのアクションです。有効な値: - block: リクエストをブロックします。 - monitor: リクエストをモニターします。 |
| actionExternal | JSON | 任意 | {"responseRuleId":123444} | ルールアクションの拡張構成です。このパラメーターは新しいカスタム応答機能でのみ使用できます。action を block に設定した場合、カスタムブロックページを指定できます。 |
| remoteAddr | Array | 必須 | ["1.1.XX.XX", "3.1.XX.XX/24"] | IP ブラックリストに追加する IP アドレスまたは CIDR ブロックです。「["ip1","ip2",...]」の形式で指定します。 |
例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 2222,
"DefenseScene": "ip_blacklist",
"Rules": "[{\"name\":\"iptest1\",\"remoteAddr\":[\"1.1.1.2\",\"3.3.3.3/24\"],\"action\":\"monitor\",\"status\":1},{\"name\":\"iptest2\",\"remoteAddr\":[\"4.4.4.4\",\"5.5.5.5/32\"],\"action\":\"block\",\"status\":1}]"
}
カスタムルール (custom_acl)
パラメーター
| パラメーター | 型 | 必須 | 例 | 説明 |
| name | String | はい | iptest | カスタム ACL ルールの名前です。名前の長さは 1 ~ 255 文字で、漢字、英字、数字、アンダースコア (_ )、ピリオド (.)、ハイフン (-) を含めることができます。 |
| status | Integer | はい | 1 | 保護ルールのステータスを指定します。このパラメーターは保護ルールを作成する場合にのみ使用します。既存のルールのステータスを変更するには、ModifyDefenseRuleStatus 操作の RuleStatus- 0: 無効 - 1 (デフォルト): 有効 |
| action | String | はい | block | 保護ルールのアクションを指定します。有効な値: - block: リクエストをブロックします。 - monitor: リクエストをモニターします。 - js: JS チャレンジを実行します。 - captcha: CAPTCHA を実行します。 - captcha_strict: 厳格な CAPTCHA を実行します。 注 カスタム ACL ルールで利用可能なアクションは、WAF コンソール に表示されるものに限定されます。 |
| actionExternal | JSON | いいえ | {"responseRuleId":123444} | 保護ルールアクションの拡張構成を指定します。このパラメーターは新しいバージョンのカスタム応答でのみ利用可能です。action を block に設定した場合、カスタムブロックページを指定できます。action を captcha/ captcha_strict に設定した場合、カスタム CAPTCHA ページを指定できます。 |
| conditions | Array | はい | [{"key":"IP","opValue":"eq","values":"11.XX.XX.1"},{"key":"Header","subKey":"abc","opValue":"contains","values":"test"}] | ACL ルールの一致条件を指定します。値は JSON 文字列です。最大 5 つの一致条件を指定できます。詳細については、保護ルールのパラメーター の conditions |
| ccStatus | Integer | はい | 1 | レート制限を有効にするかどうかを指定します。有効な値: - 0: レート制限を無効にします。 - 1: レート制限を有効にします。 |
| ratelimit | JSON | いいえ | {"target":"remote_addr","interval":5,"threshold":2,"ttl":1800,"status":{"code":404,"count":2}} | レート制限の詳細構成を指定します。値は JSON 文字列です。ccStatus を 1 に設定した場合にのみ必須です。詳細については、保護ルールのパラメーター の ratelimit |
| effect | String | いいえ | rule | レート制限のスコープを指定します。ccStatus を 1 に設定した場合にのみ必須です。有効な値:- service: 保護対象に適用されます。 - rule: 単一のルールに適用されます。 |
| grayStatus | Integer | いいえ | 1 | ルールのグレースケールリリースを有効にするかどうかを指定します。有効な値: - 0 (デフォルト): グレースケールリリースを無効にします。 - 1: グレースケールリリースを有効にします。 |
| grayConfig | JSON | いいえ | {"grayTarget":"header","grayRate":80,"graySubKey":"test"} | グレースケールリリースの構成を指定します。値は JSON 文字列です。grayStatus を 1 に設定した場合にのみ必須です。詳細については、保護ルールのパラメーター の grayConfig |
| timeConfig | JSON | いいえ | {"timeScope":"period","timeZone":8,"timePeriods":[{"start":1758771729787,"end":1758816000000}]} | ルールが有効になるスケジュールを指定します。値は JSON 文字列です。詳細については、保護ルールのパラメーター の timeConfig |
例
提供されたドキュメントでは、確立された基準に従ってユーザーインターフェース (UI) 用語が分析されました。
このドキュメントには、API パラメーターとコード変数で構成される JSON コード例が含まれています。除外基準に基づき、これらはボタン、メニュー、またはラベルなどの UI 要素とは見なされません。{
"InstanceId": "waf_v2_public_****",
"TemplateId": 6242,
"DefenseScene": "custom_acl",
"Rules":"[{\"name\":\"acl_test\",\"action\":\"block\",\"conditions\":[{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"abc\"}],\"ratelimit\":{\"target\":\"remote_addr\",\"interval\":5,\"threshold\":2,\"ttl\":1800,\"status\":{\"code\":404,\"count\":2}},\"ccStatus\":1,\"effect\":\"rule\",\"status\":1,\"origin\":\"custom\",\"timeConfig\":{\"timeScope\":\"cycle\",\"timeZone\":8,\"weekTimePeriods\":[{\"day\":\"1\",\"dayPeriods\":[{\"start\":0,\"end\":51644084}]},{\"day\":\"1,2,5\",\"dayPeriods\":[{\"start\":0,\"end\":42928908}]}]},\"grayStatus\":1,\"grayConfig\":{\"grayRate\":80,\"graySubKey\":\"test\",\"grayTarget\":\"header\"}}]"
}
そのため、UI 用語は抽出されませんでした。
UI用語抽出には、インターフェイスの説明、操作手順、またはスクリーンショットを含むドキュメントが必要です。<p>提供されたドキュメントは、確立された基準に従ってユーザーインターフェース (UI) の用語について分析されました。</p>
<p>ドキュメントには JSON コードの例が含まれており、API パラメーターとコード変数で構成されています。除外基準に従い、これらはボタン、メニュー、ラベルなどの UI 要素とは見なされません。</p>
<code code-type="xCode" data-tag="codeblock" outputclass="language-json">{
"InstanceId": "waf_v2_public_****",
"TemplateId": 6242,
"DefenseScene": "custom_acl",
"Rules":"[{\"name\":\"acl_test\",\"action\":\"block\",\"conditions\":[{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"abc\"}],\"ratelimit\":{\"target\":\"remote_addr\",\"interval\":5,\"threshold\":2,\"ttl\":1800,\"status\":{\"code\":404,\"count\":2}},\"ccStatus\":1,\"effect\":\"rule\",\"status\":1,\"origin\":\"custom\",\"timeConfig\":{\"timeScope\":\"cycle\",\"timeZone\":8,\"weekTimePeriods\":[{\"day\":\"1\",\"dayPeriods\":[{\"start\":0,\"end\":51644084}]},{\"day\":\"1,2,5\",\"dayPeriods\":[{\"start\":0,\"end\":42928908}]}]},\"grayStatus\":1,\"grayConfig\":{\"grayRate\":80,\"graySubKey\":\"test\",\"grayTarget\":\"header\"}}]"
}
ホワイトリスト
パラメーター
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| name | String | 必須 | whitelistTest | ホワイトリストルールの名前です。名前の長さは 1 ~ 255 文字で、漢字、英字、数字、アンダースコア (_ )、ピリオド (.)、ハイフン (-) を含めることができます。 |
| status | Integer | 必須 | 1 | 保護ルールのステータスです。このパラメーターは保護ルールを作成する場合にのみ使用します。ルールのステータスを変更するには、ModifyDefenseRuleStatus 操作の RuleStatus- 0: 無効。 - 1 (デフォルト): 有効。 |
| conditions | Array | 必須 | [{"key":"IP","opValue":"eq","values":"11.XX.XX.1"},{"key":"Header","subKey":"abc","opValue":"contains","values":"test"}] | ホワイトリストの一致条件を含む JSON 文字列です。最大 5 つの一致条件を指定できます。詳細については、保護ルールのパラメーター構成 の conditions |
| tags | Array | 必須 | ["waf", "regular"] | ホワイトリストルールが適用される保護モジュールです。["XX1", "XX2",...] の形式で値を指定します。有効な値:- waf: すべてのモジュール - customrule_rule: 特定のカスタムルール - customrule: カスタムルール - blacklist: IP ブラックリスト - blacklist_rule: 特定の IP ブラックリストルール - antiscan: スキャン保護 - regular: 基本保護ルール - regular_rule: 特定の基本保護ルール - regular_type: 特定の基本保護ルールタイプ - regular_field: 特定の基本保護フィールド - major_protection: 主要イベント保護 - cc: CC 保護 - region_block: リージョンブロッキング - antibot_scene: ボット保護 - antibot_scene_rule: 特定のボット保護ルール ID - antibot_scene_label: 特定のボット保護ルールタイプ - dlp: データ損失防止 - tamperproof: Web 改ざん防止 - spike_throttle: スパイクスロットリング保護 |
| regularRules | Array | 任意 | [ "111111", "222222" ] | 検出から除外する基本保護ルール ID のリストです。["XX1", "XX2",...] の形式で値を指定します。tags パラメーターを regular_rule に設定した場合にのみ設定します。 |
| regularTypes | Array | 任意 | [ "xss", "css" ] | 検出から除外する基本保護ルールタイプのリストです。["XX1", "XX2",...] の形式で値を指定します。tags パラメーターを regular_type に設定した場合にのみ設定します。有効な値:- sqli: SQL インジェクション - xss: クロスサイトスクリプティング - code_exec: コード実行 - crlf: CRLF - lfilei: ローカルファイルインクルード - rfilei: リモートファイルインクルード - webshell: Web シェル - csrf: CSRF - other: その他 |
| regularFields | Array | 任意 | [{"key":"URL"},{"key":"Header","subKey":"abc"}] | 基本保護から除外するフィールドを含む JSON 文字列です。最大 5 つのフィールドを指定できます。詳細については、「regularFields 構成」をご参照ください。tags パラメーターを regular_field に設定した場合にのみ設定します。 |
| customRules | Array | 任意 | [ "111111", "222222" ] | 検出から除外するカスタムルール ID のリストです。["XX1", "XX2",...] の形式で値を指定します。tags パラメーターを customrule_rule に設定した場合にのみ設定します。 |
| blacklistRules | Array | 任意 | [ "111111", "222222" ] | 検出から除外する IP ブラックリストルール ID のリストです。["XX1", "XX2",...] の形式で値を指定します。tags パラメーターを blacklist_rule に設定した場合にのみ設定します。 |
| botRules | Array | 任意 | [ "111111", "222222" ] | 検出から除外するボット保護ルール ID のリストです。["XX1", "XX2",...] の形式で値を指定します。tags パラメーターを antibot_scene_rule に設定した場合にのみ設定します。 |
| botLables | Array | 任意 | [ "abc", "cdcc" ] | 検出から除外するボット保護ルールタイプのリストです。["XX1", "XX2",...] の形式で値を指定します。tags パラメーターを antibot_scene_label に設定した場合にのみ設定します。利用可能なルールタイプを照会するには、DescribeBotRuleLabels 操作を呼び出します。 |
regularFields の構成
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| key | String | 必須 | URL | 無視するフィールドです。有効な値: - URL-All: URI のすべてのフィールド。 - URL: URI 全体。 - URLPath: URI パス。 - Query-All: すべてのクエリ引数。 - Query-Arg: 指定されたクエリ引数。 - Cookie-All: すべての Cookie。 - Cookie-Exact: 指定された Cookie 名。 - Header-All: すべてのヘッダー。 - Header: 指定されたヘッダーフィールド。 - Body-All: リクエストボディ内のすべての引数。 |
| subKey | String | 任意 | abc | 無視する特定のフィールドです。key が URLPath、Query-Arg、Cookie-Exact、または Header の場合に必須です。 |
例
カスタム応答ルール (custom_response)
パラメーター
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| responseType | String | はい | response_block | カスタム応答のタイプです。response_block を設定すると、リクエストがブロックされます。 |
| status | Integer | はい | 1 | 防御ルールのステータスです。このパラメーターは防御ルールを作成する場合にのみ使用します。既存のルールのステータスを変更するには、ModifyDefenseRuleStatus 操作の RuleStatus パラメーターを使用します。有効な値: - 0: 無効。 - 1 (デフォルト): 有効。 |
| config | String | はい | {"responseCode":400,"responseHeaders":[{"key":"custom","value":"123"},{"key":"aaa","value":"2223"}],"responseContent":"HelloWorld"} | カスタム構成を JSON 文字列として指定します。詳細については、「config パラメーターの詳細」をご参照ください。 |
config
| パラメーター | 型 | 必須 | 例 | 説明 |
| responseCode | Integer | 必須 | 400 | 応答コードです。 |
| responseHeaders | Array | 任意 | [{"key":"custom","value":"123"},{"key":"aaaa","value":"2223"}] | カスタム応答ヘッダーのリストを JSON 文字列として指定します。key はヘッダーフィールド、value はヘッダー値です。 |
| responseContent | String | 必須 | helloworld | カスタム応答の内容です。 |
例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 2841,
"DefenseScene": "custom_response",
"Rules":"[{\"responseType\":\"response_block\",\"config\":\"{\\\"templateName\\\":\\\"aaa\\\",\\\"responseCode\\\":\\\"400\\\",\\\"responseContent\\\":\\\"helloWorld\\\",\\\"responseHeaders\\\":[{\\\"key\\\":\\\"test1\\\",\\\"value\\\":\\\"abc\\\"}]}\",\"status\":1}]"
}
リージョンブロッキングルール (region_block)
パラメーター
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| cnRegionList | String | 任意 | 610000,230000 | 中国本土の地域コードをカンマ区切りで並べたリストです。「["CN"]」を指定すると、香港、マカオ、台湾を除く中国本土のすべての地域がブロックされます。地域コードの定義については、「中国本土の地域コードの説明」をご参照ください。 |
| abroadRegionList | String | 任意 | KE,KG | 中国本土以外の国および地域のコードをカンマ区切りで並べたリストです。DescribeIpAbroadCountryInfos 操作を呼び出して、サポートされている国および地域コードを照会できます。 |
| status | Integer | 必須 | 1 | 保護ルールのステータスを指定します。このパラメーターは保護ルールを作成する場合にのみ使用します。既存の保護ルールのステータスを変更するには、ModifyDefenseRuleStatus 操作の RuleStatus パラメーターを使用します。有効な値: - 0: 無効。 - 1 (デフォルト): 有効。 |
| action | String | 必須 | block | 実行するアクションを指定します。有効な値: - block: 一致するリクエストをブロックします。 - monitor: 一致するリクエストをモニターします;captcha: 一致するリクエストに対して CAPTCHA チャレンジを実行します;captcha_strict: 一致するリクエストに対して厳格な CAPTCHA チャレンジを実行します。 |
| actionExternal | JSON | 任意 | {"responseRuleId":123444} | アクションの拡張構成を指定します。このパラメーターはカスタム応答機能でのみ使用できます。action を block に設定した場合、カスタムブロックページを指定できます。action を captcha または captcha_strict に設定した場合、カスタム CAPTCHA ページを指定できます。 |
中国本土の地域 ID
{
"110000": "北京市",
"120000": "天津市",
"130000": "河北省",
"140000": "山西省",
"150000": "内蒙古自治区",
"210000": "辽宁省",
"220000": "吉林省",
"230000": "黒竜江省",
"310000": "上海市",
"320000": "江蘇省",
"330000": "浙江省",
"340000": "安徽省",
"350000": "福建省",
"360000": "江西省",
"370000": "山東省",
"410000": "河南省",
"420000": "湖北省",
"430000": "湖南省",
"440000": "広東省",
"450000": "広西チワン族自治区",
"460000": "海南省",
"500000": "重慶市",
"510000": "四川省",
"520000": "貴州省",
"530000": "雲南省",
"540000": "チベット自治区",
"610000": "陝西省",
"620000": "甘粛省",
"630000": "青海省",
"640000": "寧夏回族自治区",
"650000": "新疆ウイグル自治区",
"MO_01": "中国マカオ特別行政区",
"HK_01": "中国香港特別行政区",
"TW_01": "中国台湾省",
"CN": "中国本土"
}
例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 2341,
"DefenseScene": "region_block",
"Rules": "[{\"cnRegionList\":\"CN,HK_01,TW_01,MO_01\",\"abroadRegionList\":\"AU,NZ\",\"action\":\"block\",\"status\":1}]"
}
保護ルール (CC)
パラメーター
| パラメーター | 型 | 必須 | 例 | 説明 |
| mode | Integer | はい | 0 | CC 保護モードです。有効な値: - 0 (デフォルト): 通常保護。 - 1: 緊急保護。 |
| status | Integer | はい | 1 | 保護ルールのステータスです。このパラメーターは保護ルールを作成する場合にのみ使用します。保護ルールのステータスを変更するには、ModifyDefenseRuleStatus 操作の RuleStatus パラメーターを使用します。有効な値: - 0: 無効。 - 1 (デフォルト): 有効。 |
| action | String | いいえ | js | 保護ルールのアクションです。有効な値: - js (デフォルト): JS チャレンジ。 - monitor: モニター。 |
例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 2241,
"DefenseScene": "cc",
"Rules":"[{\"mode\":0,\"status\":1,\"action\":\"js\"}]"
}
Web サイト改ざん防止ルール (tamperproof)
パラメーター
| パラメーター | 型 | 必須 | 例 | 説明 |
| name | String | はい | test | 防御ルールの名前です。名前の長さは 1 ~ 255 文字で、漢字、英字、数字、アンダースコア (_ )、ピリオド (.)、ハイフン (-) を含めることができます。 |
| url | String | はい | /abc | キャッシュされたページの URL です。 |
| ua | String | いいえ | app | このパスにアクセスする際のユーザーエージェントです。 |
| protocol | String | はい | https | キャッシュされたページ URL のプロトコルです。有効な値: http および https。 |
| status | Integer | はい | 1 | 防御ルールのステータスです。このパラメーターはルール作成専用です。ステータスを変更するには、ModifyDefenseRuleStatus 操作の RuleStatus パラメーターを使用します。有効な値: - 0: 無効。 - 1 (デフォルト): 有効。 |
例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 1241,
"DefenseScene": "tamperproof",
"Rules": "[{\"name\":\"test1\",\"url\":\"www.test1.com\",\"ua\":\"firefox\",\"protocol\":\"https\",\"status\":1}]"
}
DLP ルール
パラメーター
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| name | String | 必須 | test | 保護ルールの名前です。長さは 1 ~ 255 文字で、漢字、英字、数字、アンダースコア (_ )、ピリオド (.)、ハイフン (-) を含めることができます。 |
| conditions | Array | 必須 | [{"key":"HttpCode","opValue":"contain","values":"400,401,402,403,404,405,500,501,502,503,504,505"},{"key":"URL","opValue":"contain","values":"test"}] | 一致条件を JSON 文字列として指定します。最大 2 つの一致条件を指定でき、論理 AND で結合されます。詳細については、「詳細な条件構成」をご参照ください。 |
| status | Integer | 必須 | 1 | 保護ルールのステータスです。このパラメーターは保護ルールを作成する場合にのみ使用します。保護ルールのステータスを変更するには、ModifyDefenseRuleStatus 操作の RuleStatus パラメーターを使用します。有効な値: - 0: 無効 - 1 (デフォルト): 有効 |
| action | String | 必須 | block | リクエストがルールに一致した場合に実行するアクションです。有効な値: - block: リクエストをブロックします。このアクションは、一致条件に応答コードが含まれている場合にのみ利用可能です。 - monitor: リクエストをモニターします。 - filter: 敏感情報のフィルタリングを行います。このアクションは、敏感情報の一致条件が設定されている場合にのみ利用可能です。 |
条件パラメーター
| パラメーター | 型 | 必須 | 例 | 説明 |
| key | String | 必須 | URL | 一致フィールドです。有効な値: URL、HttpCode、および SensitiveInfo。 |
| opValue | String | 必須 | contain | 論理演算子です。値は常に contain です。 |
| values | String | 必須 | abc | 一致させるコンテンツです。複数の値はカンマ (,) で区切ります。 HttpCode の場合、有効な値は 400、401、402、403、404、405 (405–499 の範囲)、500、501、502、503、504、および 505 (505–599 の範囲) です。 SensitiveInfo の場合、有効な値は以下のとおりです: - phone: 電話番号。 - card: クレジットカード。 - id: 身分証明書。 - word: デフォルトの禁止用語。 |
例
スパイクスロットル (spike_throttle)
パラメーター
| パラメーター | 型 | 必須 | 例 | 説明 |
| name | String | はい | iptest | レート制限ルールの名前です。名前の長さは 1 ~ 255 文字で、漢字、英字、数字、アンダースコア (_ )、ピリオド (.)、ハイフン (-) を含めることができます。 |
| status | Integer | はい | 1 | 防御ルールのステータスです。このパラメーターはルール作成専用です。防御ルールのステータスを変更するには、ModifyDefenseRuleStatus 操作の RuleStatus- 0: 無効。 - 1 (デフォルト): 有効。 |
| action | String | はい | block | ルールのアクションです。有効な値: - block: 一致するリクエストをブロックします。 - monitor: 一致するリクエストをモニターします。 |
| actionExternal | JSON | いいえ | {"responseRuleId":123444} | ルールアクションの拡張構成です。これは、action を block に設定した場合にカスタムブロックページを指定するために使用されます。 |
| conditions | Array | はい | [{"key":"IP","opValue":"eq","values":"11.XX.XX.1"},{"key":"Header","subKey":"abc","opValue":"contains","values":"test"}] | ACL の一致条件を JSON 配列として指定します。最大 5 つの一致条件を定義できます。詳細な構成については、防御ルールのパラメーター構成 の conditions |
| cnRegionList | String | いいえ | 610000,230000 | ブロックする中国本土の地域です。「CN」を指定すると、香港、マカオ、台湾を除く中国本土のすべての地域がブロックされます。複数の地域コードはカンマ (,) で区切ります。地域コードの一覧については、「中国本土の地域コード」をご参照ください。 |
| abroadRegionList | String | いいえ | KE,KG | ブロックする中国本土以外の地域です。複数の地域コードはカンマ (,) で区切ります。DescribeIpAbroadCountryInfos 操作を呼び出して、サポートされている国および地域を照会できます。 |
| type | String | はい | qps | レート制限モードです。有効な値: - qps: 秒間クエリ数 (QPS) に基づいてトラフィックを制限します。 - ratio (デフォルト): パーセンテージに基づいてトラフィックを制限します。 |
| threshold | Integer | はい | 500 | レート制限のしきい値です。その意味は type パラメーターによって異なります: - type が qps の場合: QPS しきい値を指定します。有効な範囲は 1 ~ 5,000,000 です。このしきい値を超えるリクエストはブロックされます。 - type が ratio の場合: 許可するリクエストの割合を指定します。有効な範囲は 1 ~ 99 です。たとえば、値が 80 の場合、リクエストの 80% が許可されます。 |
中国本土の地域 ID
{
"110000": "北京市",
"120000": "天津市",
"130000": "河北省",
"140000": "山西省",
"150000": "内蒙古自治区",
"210000": "辽宁省",
"220000": "吉林省",
"230000": "黒竜江省",
"310000": "上海市",
"320000": "江蘇省",
"330000": "浙江省",
"340000": "安徽省",
"350000": "福建省",
"360000": "江西省",
"370000": "山東省",
"410000": "河南省",
"420000": "湖北省",
"430000": "湖南省",
"440000": "広東省",
"450000": "広西チワン族自治区",
"460000": "海南省",
"500000": "重慶市",
"510000": "四川省",
"520000": "貴州省",
"530000": "雲南省",
"540000": "チベット自治区",
"610000": "陝西省",
"620000": "甘粛省",
"630000": "青海省",
"640000": "寧夏回族自治区",
"650000": "新疆ウイグル自治区",
"MO_01": "マカオ、中国",
"HK_01": "香港、中国",
"TW_01": "台湾、中国",
"CN": "中国本土"
}
例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 2341,
"DefenseScene": "spike_throttle",
"Rules":"[{\"name\":\"test\",\"action\":\"monitor\",\"conditions\":[{\"key\":\"URL\",\"opValue\":\"contain-one\",\"values\":\"abctest,abctest2\"}],\"status\":1,\"type\":\"qps\",\"threshold\":1000,\"cnRegionList\":\"110000,140000\",\"abroadRegionList\":\"AD,AL\"}]"}
}
ボット管理ルール (bot_manager)
パラメーター
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| name | String | 必須 | iptest | 高度なカスタム BOT ACL ルールの名前です。名前の長さは 1 ~ 255 文字で、漢字、英字、数字、アンダースコア (_ )、ピリオド (.)、ハイフン (-) を含めることができます。 |
| status | Integer | 必須 | 1 | ルールのステータスです。このパラメーターはルールを作成する場合にのみ使用します。既存のルールのステータスを変更するには、ModifyDefenseRuleStatus 操作の RuleStatus- 0: 無効。 - 1 (デフォルト): 有効。 |
| action | String | 必須 | block | ルールのアクションです。有効な値: - block: ブロック。 - monitor: モニター。 - js: JS チャレンジ。 - captcha: CAPTCHA。 - captcha_strict: 厳格な CAPTCHA。 - upstream_tag: アップストリームタグ付け。 注 サポートされているアクションの一覧については、WAF コンソール をご参照ください。 |
| actionExternal | JSON | 任意 | {"responseRuleId":123444} または {"upstreamHeader":{"header":"test","systemKey":["type","id"]}} | ルールアクションの拡張構成を含む JSON 文字列です。JSON 文字列には以下のフィールドが含まれます: - upstreamHeader: アップストリームタグ付けの構成です。このフィールドは、action を upstream_tag に設定した場合にのみ適用されます。詳細については、「アップストリームタグ付け upstreamHeader 構成」をご参照ください。- responseRuleId: カスタム応答ルールの ID。action が block の場合、 responseRuleId はカスタムブロックページルールの ID です。action が captcha または captcha_strict の場合、 responseRuleId はカスタム CAPTCHA ページルールの ID です。 |
| conditions | Array | 必須 | [{"key":"IP","opValue":"eq","values":"11.XX.XX.1"},{"key":"Header","subKey":"abc","opValue":"contains","values":"test"}] | ACL ルールの一致条件を JSON 配列として指定します。最大 10 個の一致条件を指定できます。構成の詳細については、保護ルールのパラメーター構成 の conditions |
| ccStatus | Integer | 必須 | 1 | レート制限が有効かどうかを指定します。有効な値: - 0: 無効。 - 1: 有効。 |
| ratelimit | JSON | 任意 | {"target":"remote_addr","interval":5,"threshold":2,"ttl":1800,"status":{"code":404,"count":2}} | レート制限の詳細構成を含む JSON 文字列です。このパラメーターは ccStatus を 1 に設定した場合にのみ適用されます。構成の詳細については、保護ルールのパラメーター構成 の ratelimit |
| effect | String | 任意 | rule | レート制限のスコープです。このパラメーターは ccStatus を 1 に設定した場合にのみ適用されます。有効な値:- service: レート制限は保護対象に適用されます。 - rule: レート制限は単一のルールに適用されます。 |
| botBehavior | String | 任意 | malicious | ルールカテゴリです。有効な値: - suspicious (デフォルト): 疑わしいボット。 - malicious: 悪意のあるボット。 |
| grayStatus | Integer | 任意 | 1 | カナリアリリースが有効かどうかを指定します。有効な値: - 0 (デフォルト): 無効。 - 1: 有効。 |
| grayConfig | JSON | 任意 | {"grayTarget":"header","grayRate":80,"graySubKey":"test"} | カナリアリリースの構成を含む JSON 文字列です。このパラメーターは grayStatus を 1 に設定した場合にのみ適用されます。構成の詳細については、保護ルールのパラメーター構成 の grayConfig |
| timeConfig | JSON | 任意 | {"timeScope":"period","timeZone":8,"timePeriods":[{"start":1758771729787,"end":1758816000000}]} | ルールのスケジュール構成を含む JSON 文字列です。構成の詳細については、保護ルールのパラメーター構成 の timeConfig |
upstreamHeader を使用したアップストリームタグ付け
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| header | String | はい | abc | アップストリームタグ付けのヘッダー名です。 |
| systemKey | Array | はい | ["id","type"] | アップストリームタグ付けのシステムフィールドです。これらのフィールドの順序がヘッダーの内容を決定します。有効な値: - id: ルール ID。 - type: ルールタイプ。 - websdk.umid: Web クライアントからの UMID。 - ssl_client_ja3_fingerprinting_md5: JA3 フィンガープリント。 - ssl_client_ja4_fingerprinting_md5: JA4 フィンガープリント。 - http2_client_fingerprint_md5: HTTP/2 フィンガープリント。 - appsdk.eeid_umid: デバイス UMID。 - appsdk.eeid_running_frame_magisk: Magisk フレームワークが使用されているかどうかを示します。 - appsdk.eeid_running_frame_frida: Frida インジェクションが存在するかどうかを示します。 - appsdk.eeid_running_frame_fishhook: FishHook インジェクションが存在するかどうかを示します。 - appsdk.eeid_running_frame_edxposed: EdXposed フレームワークが使用されているかどうかを示します。 - appsdk.is_xposed: Xposed フレームワークが使用されているかどうかを示します。 - appsdk.eeid_running_frame_va: VirtualApp フレームワークが使用されているかどうかを示します。 - appsdk.eeid_running_frame_cydia: Cydia がインストールされているかどうかを示します。 - appsdk.eeid_is_batch: デバイスがデバイスファームデバイスであるかどうかを示します。 - appsdk.eeid_is_root: デバイスが root 化されているかどうかを示します。 - appsdk.eeid_is_fake: デバイスが偽装デバイスであるかどうかを示します。 - appsdk.eeid_is_virtual: アプリのクローン化または仮想環境が使用されているかどうかを示します。 - appsdk.pkguncrypted: アプリの復号が行われたかどうかを示します。 - appsdk.eeid_is_hook: フック動作が存在するかどうかを示します。 - appsdk.eeid_is_debugged: アプリがデバッグ中であるかどうかを示します。 - appsdk.eeid_is_simulator: デバイスがエミュレーターであるかどうかを示します。 - appsdk.eeid_is_proxy: プロキシが使用されているかどうかを示します。 - appsdk.eeid_is_highrisk: デバイスが高リスクであるかどうかを示します。 - appsdk.adbstate: ADB が有効になっているかどうかを示します。 - appsdk.eeid_abnormal_time: デバイスの時刻が異常であるかどうかを示します。 - appsdk.eeid_short_uptime: デバイスの稼働時間が短いかどうかを示します。 - appsdk.screenon: 画面がオンになっているかどうかを示します。 - appsdk.collectend: データ収集が終了したかどうかを示します。 - appsdk.pkgreleasemode: アプリがデバッグモードであるかどうかを示します。 - appsdk.elapsedtime: 起動後の経過時間。 - appsdk.isfront: アプリがフォアグラウンドで実行中であるかどうかを示します。 - appsdk.passwordunlock: デバイスが画面ロックされているかどうかを示します。 - appsdk.fingerprintauth: 指紋認証が有効になっているかどうかを示します。 - appsdk.brand: デバイスブランド。 - appsdk.model: デバイスモデル。 - appsdk.batterychange: 最後の収集以降のバッテリー残量の変化。 - appsdk.batterystatus: バッテリー充電状態。 - appsdk.batterylevel: バッテリー残量。 - appsdk.brightness: 画面の輝度。 - appsdk.packagesign: パッケージ署名ハッシュ。 - appsdk.screenres: 画面の解像度。 - appsdk.packagename: アプリケーションパッケージ名。 - appsdk.platform: プラットフォーム。 - appsdk.hookframe: フックフレームワーク。 -appsdk.version: APPSDK バージョン。 - appsdk.appname: アプリケーション名。 - appsdk.appversion: アプリケーションバージョン。 - appsdk.hardware: ハードウェア名。 - appsdk.timestamp: データ収集タイムスタンプ。 - appsdk.devicename: デバイス名。 - appsdk.product: 製品コード名。 - appsdk.eeid_running_frame_script: 自動化アクセシビリティツールがインストールされているかどうかを示します。 注: アップストリームタグ付けで利用可能なフィールドは、特定のボット機能によって異なります。サポートされているフィールドの一覧については、WAF コンソールのボットカスタムルール設定をご参照ください。 |
| customValue | String | いいえ | test | ヘッダーに含めるカスタム文字列です。 |
リソースレベルのルール (resource)
DefenseType を resource に設定した場合、ルール構成は以下のとおりです。
アカウント抽出 (account_identifier)
各保護対象には、アカウント抽出ルールを 1 つだけ設定できます。
パラメーター
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| accountIdentifiers | array | はい | [ { "key": "Header","subKey": "header-test", "decodeType": "jwt", "position": "username", "priority": 1 }, { "key": "Post-Arg", "subKey": "body_test", "decodeType": "plain", "priority": 2 } ] | アカウント識別子構成を指定する JSON オブジェクトの配列です。最大 5 個のオブジェクトを提供できます。フィールドの説明については、accountIdentifiers データ構造をご参照ください。 |
accountIdentifiers 構成
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| key | String | はい | Query-Arg | 抽出するフィールドの場所です。有効な値: Query-Arg、Cookie-Exact、Post-Arg、および Header。 |
| subKey | String | はい | query-test | key パラメーターで指定されたソースから抽出するフィールドの名前です。 |
| decodeType | String | いいえ | jwt | 認証方式です。有効な値: - plain: プレーンテキスト。 - basic: Basic 認証。 - jwt: JWT 認証。JWT 認証の場合、position パラメーターを使用してデコードされたアカウントフィールドを指定します。 |
| priority | Integer | はい | 1 | 抽出ポリシーの一致優先度です。トラフィックリクエストは、最大で 1 つのポリシーに一致できます。有効な値は 0 ~ 20 の整数で、値が小さいほど優先度が高くなります。優先度の値は一意である必要があります。 |
| position | String | いいえ | account | アカウント識別子を含むデコード済み JWT ペイロードのフィールドです。JWT 認証に必要です。 |
例
{
"DefenseScene": "account_identifier",
"Resource": "example.**.com-waf",
"DefenseType": "resource",
"InstanceId": "waf_cn****",
"Rules": "[{\"accountIdentifiers\":[{\"key\":\"Header\",\"subKey\":\"header-test\",\"decodeType\":\"jwt\",\"position\":\"username\",\"priority\":1},{\"key\":\"Post-Arg\",\"subKey\":\"body_test\",\"decodeType\":\"plain\",\"priority\":2}]}]"
}
カスタム応答ルール (custom_response)
保護対象ごとにカスタム応答ルールを 1 つだけ設定できます。応答ページの優先順位は以下のとおりです: ルールレベル > 保護対象レベル > デフォルトページ。
パラメーター
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| blockRuleId | Long | 任意 | 1123 | 保護対象がブロックをトリガーしたときに返されるカスタムブロックページのルール ID です。 |
| captchaRuleId | Long | 任意 | 1123 | 保護対象がスライダーチャレンジをトリガーしたときに返されるカスタムスライダーのページのルール ID です。 |
例
{
"DefenseScene": "custom_response",
"Resource": "example.**.com-waf",
"DefenseType": "resource",
"InstanceId": "waf_cn****",
"Rules": "[{\"blockRuleId\":900000,\"captchaRuleId\":900001}]"
}
保護対象のデコード (waf_codec)
各保護対象には、デコードルールを 1 つだけ設定できます。
パラメーター
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| codecList | Array | はい | ["comment","space-zip","json","xml","form","multipart","graphql","js-unicode","url","hex","html","php","java","utf7","oct"] | 有効化する変換を指定します。有効な値: - url: URL デコード (常に有効)。 - js-unicode: Unicode デコード (常に有効)。 - oct: OCT デコード (常に有効)。 - hex: hex デコード (常に有効)。 - comment: コメントデコード (常に有効)。 - space-zip: スペースデコード (常に有効)。 - multipart: Multipart 解析。 - json: JSON 解析。 - xml: XML 解析。 - php: PHP シリアル化解除。 - html: HTML エンティティデコード。 - utf7: UTF-7 デコード。 - base64: Base64 デコード。 - form: フォーム解析。 - gzip: Gzip 展開。 - java: Java シリアル化解除。 - graphql: GraphQL 解析。 |
例
{
"DefenseScene": "waf_codec",
"Resource": "example.**.com-waf",
"DefenseType": "resource",
"InstanceId": "waf_cn****",
"Rules": "[{\"codecList\":[\"comment\",\"space-zip\",\"json\",\"xml\",\"form\",\"multipart\",\"graphql\",\"js-unicode\",\"url\",\"hex\",\"html\",\"php\",\"java\",\"utf7\",\"gzip\",\"oct\",\"base64\"]}]"
}
グローバル次元 (global)
DefenseType を global に設定した場合、ルール構成は以下のとおりです。
カスタム正規表現ルール (regular_custom)
パラメーター
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| name | String | 必須 | ruleTest | カスタム正規表現ルールの名前です。名前の長さは 1 ~ 255 文字で、漢字、英字、数字、アンダースコア (_ )、ピリオド (.)、ハイフン (-) を含めることができます。 |
| detectType | String | 必須 | sqli | 検出タイプです。有効な値: - sqli: SQL インジェクション。 - xss: クロスサイトスクリプティング。 - cmdi: OS コマンドインジェクション。 - expression_injection: 式インジェクション (EL、SpEL、OGNL 式を含む)。 - java_deserialization: Java シリアル化解除。 - dot_net_deserialization: .NET シリアル化解除。 - php_deserialization: PHP シリアル化解除。 - code_exec: リモートコード実行 (JNDI/XPATH)。 - ssrf: Server-Side Request Forgery (SSRF)。 - path_traversal: パストラバーサル。 - arbitrary_file_uploading: 任意ファイルアップロード。 - webshell: Web シェル。 - rfilei: リモートファイルインクルード (RFI)。 - lfilei: ローカルファイルインクルード (LFI)。 - protocol_violation: プロトコル違反。 - scanner_behavior: スキャナー動作。 - logic_flaw: 論理的欠陥。 - arbitrary_file_reading: 任意ファイル読み取り。 - arbitrary_file_download: 任意ファイルダウンロード。 - xxe: XML 外部エンティティ参照 (XXE)。 - csrf: クロスサイトリクエストフォージェリ (CSRF)。 - crlf: CRLF インジェクション。 - other: その他。 |
| riskLevel | String | 必須 | strict | リスクレベルです。有効な値: - super_strict: 超 Strict。 - strict: Strict。 - medium: 中間。 - loose: ゆるい。 |
| description | String | 任意 | ルールの説明。 | ルールの説明です。 |
| condition | Array | 必須 | [{"key":"IP","opValue":"eq","values":"11.XX.XX.1"},{"key":"Header","subKey":"abc","opValue":"contains","values":"test"}] | ルールの一致条件を JSON 文字列として指定します。最大 5 つの一致条件を指定できます。詳細については、「条件の詳細」をご参照ください。 |
条件構成
| パラメーター | 型 | 必須 | 値 | 説明 |
| key | String | 必須 | Query-Arg | カスタム一致フィールドです。有効な値: File-Name、Url、Raw-Url、Request-Url、Http-Method、Directory、Query、Raw-Header、Body、Extension、Union-Args、All-Data、All-Keys、Multipart-Keys、Multipart-Values、Header-Keys、Header-Values、Post-Arg-Keys、Post-Arg-Values、Query-Arg-Keys、Query-Arg-Values、Cookie-Keys、Cookie-Values、Header、Query-Arg、Post-Arg、および Multipart。 |
| subKey | String | 任意 | query-test | サブ一致フィールドです。 重要 サブ一致フィールドは、一致フィールドが Header、Query-Arg、Post-Arg、または Multipart の場合にのみサポートされます。 |
| opValue | String | 必須 | contain | 論理演算子です。有効な値: regex、prefix-match、suffix-match、eq、および contain。 |
| values | String | 必須 | abc | 一致させるコンテンツです。複数の値はカンマ (,) で区切ります。 |
例
{
"name": "ruleTest",
"detectType": "sqli",
"riskLevel": "strict",
"condition": [{"key": "FileName","opValue": "eq","values": "test"}]
}
アドレス帳 (address_book)
パラメーター
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| name | String | 必須 | bookTest | アドレス帳の名前です。長さは 1 ~ 255 文字で、英字、数字、アンダースコア (_ )、ピリオド (.)、ハイフン (-) を含めることができます。 |
| valueType | String | 必須 | IP | アドレス帳のタイプです。有効な値: - IP: アドレス帳には IP アドレスが含まれます。 |
| description | String | 任意 | addressbookTest | アドレス帳の説明です。 |
例
{
"name": "bookTest",
"valueType": "ip",
"description": "addressbookTest"
}
カスタム応答 (custom_response)
パラメーター
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| name | String | 必須 | test | カスタム応答ルールの名前です。長さは 1 ~ 255 文字で、英字、数字、漢字、アンダースコア (_ )、ピリオド (.)、ハイフン (-) を含めることができます。 |
| action | String | 必須 | block | 保護ルールのアクションです。有効な値: - block: リクエストをブロックします。 - captcha: CAPTCHA チャレンジを実行します。 |
| responseCode | Integer | 任意 | 400 | 返す応答コードです。 - カスタムブロックページでは必須です。 - カスタム CAPTCHA ページではサポートされておらず、200 応答コードが返されます。 |
| responseHeaders | Array | 任意 | [{"key":"custom","value":"123"},{"key":"aaaa","value":"2223"}] | カスタム応答ヘッダーのリストを JSON 文字列として指定します。各オブジェクトにおいて、key はヘッダーフィールド、value はヘッダー値です。 |
| designType | String | 任意 | custom | 応答構成のタイプです。このパラメーターは action を captcha に設定した場合にのみ必須です。有効な値: - custom: カスタム構成。 - preDefine: 事前定義済み構成。 |
| responseContent | String | 任意 | helloworld | カスタム応答の内容です。これはカスタム CAPTCHA またはカスタムブロックページで必須です。 |
| preDefineContent | Array | 任意 | [{"language":"cn","title":"test","description":"desc","captchaColor":"#FFFF","showTraceId":false},{"language":"en","title":"titel","description":"desc","captchaColor":"#FFFF","showTraceId":false}] | 事前定義済み構成の内容です。designType を preDefine に設定した場合にのみ必須です。詳細については、「事前定義済み構成の詳細」セクションをご参照ください。 |
事前定義済み構成の詳細
| パラメーター | 型 | 必須 | 例の値 | 説明 |
| language | String | はい | en | 言語構成です。有効な値: - en: 英語。 - cn: 中国語。 |
| icon | String | はい | https://img.alicdn.com/imgextra/i1/O1CN01L12MaQ1ZwfYKk7Yrc_!!6000000003259-2-tps-900-594.png | 公開可能なアイコンの URL です。 |
| title | String | はい | test_title | スライダーのページのカスタムタイトルです。 |
| description | String | はい | For a better experience, slide to complete the verification before accessing the web page. | スライダーのページのカスタム説明です。 |
| captchaColor | String | はい | #ff6a00 | スライダーの色です。 |
| showTraceId | boolean | はい | true | スライダーのページに Trace ID を表示するかどうかを指定します。有効な値: - true: Trace ID を表示します。 - false: Trace ID を非表示にします。 |
カスタムブロックページ構成
{
"name": "test",
"action": "block",
"responseContent": "helloworld",
"responseCode": 401,
"responseHeaders": [{"key":"t1","value":"v1"}],
}
事前定義済みスライダーのページ構成
{
"name": "test",
"designType": "preDefine",
"action": "captcha",
"responseHeaders": [
{
"key": "Content-Type",
"value": "text/html"
}
],
"preDefineContent": [
{
"language": "en",
"icon": "https://img.alicdn.com/imgextra/i1/O1CN01L12MaQ1ZwfYKk7Yrc_!!6000000003259-2-tps-900-594.png",
"title": "Access Verification",
"description": "Slide to complete verification.",
"captchaColor": "#ff6a00",
"showTraceId": true
}
]
}
レスポンスフィールド
|
フィールド |
型 |
説明 |
例 |
|
object |
応答は、以下の構造を持つオブジェクトです。 |
||
| RequestId |
string |
リクエスト ID です。 |
26E46541-7AAB-5565-801D-F14DBDC5**** |
| RuleIds |
string |
作成された保護ルールの ID をカンマ区切りで並べた文字列です。 |
22215,23354,462165 |
例
成功レスポンス
JSONJSON
{
"RequestId": "26E46541-7AAB-5565-801D-F14DBDC5****",
"RuleIds": "22215,23354,462165"
}
エラーコード
|
HTTP ステータスコード |
エラーコード |
エラーメッセージ |
説明 |
|---|---|---|---|
| 400 | Defense.Control.DefenseWhitelistBypassRuleNotExist | The whitelist protection rule does not exist. | |
| 400 | Defense.Control.DefenseWhitelistConfigInvalid | The whitelist rule is misconfigured. | |
| 400 | Defense.Control.DefenseBookTypeInvalid | The address book type is illegal. | |
| 400 | Defense.Control.DefenseThreatIntelligenceConfigInvalid | Threat Intelligence Rule configuration error. | |
| 400 | Defense.Control.DefenseIpCountOversize | The number of IPs exceeds the limit. |
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。