Web コア保護ルールを作成します。
今すぐお試しください
テスト
RAM 認証
|
アクション |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
|
yundun-waf:CreateDefenseRule |
create |
*All Resource
|
|
なし |
リクエストパラメーター
|
パラメーター |
型 |
必須 / 任意 |
説明 |
例 |
| InstanceId |
string |
必須 |
WAF インスタンス ID。 説明
現在の WAF インスタンス ID は、DescribeInstance API を呼び出すことで確認できます。 |
waf_v2_public_cn-**** |
| TemplateId |
integer |
任意 |
作成するルールの保護テンプレート ID。 説明
このパラメーターは、DefenseType が template の場合にのみ指定してください。 |
1122 |
| DefenseScene |
string |
必須 |
作成する WAF 保護シナリオ。 DefenseType が template の場合、有効な値は次のとおりです:
DefenseType が resource の場合、有効な値は次のとおりです:
DefenseType が global の場合、有効な値は次のとおりです:
説明
グローバルに構成されたカスタム応答は、保護対象またはルールの下で参照できます。異なるレベルで参照された場合、有効なロジックは次の順序に従います:ルールレベル > 保護対象レベル > デフォルトページ。 |
waf_group |
| Rules |
string |
必須 |
ルール構成コンテンツ。JSON 文字列形式です。 説明
特定のパラメーターは、指定された DefenseType (DefenseScene) によって異なります。詳細については、「保護ルールのパラメーター説明」をご参照ください。 |
waf_group |
| ResourceManagerResourceGroupId |
string |
任意 |
Alibaba Cloud リソースグループ 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 API の RuleStatus パラメーターを使用します。有効な値: - 0:無効。 - 1 (デフォルト):有効。 |
| action | String | はい | block | ルールアクション。有効な値: - block:ブロック。 - monitor:モニター。 |
| policyId | Long | いいえ | 1012 | 保護ルールグループ ID。デフォルトは中間ルールグループ 1012 です。 |
| protectionType | String | いいえ | sema | 保護タイプ。有効な値: - regular (デフォルト):正規表現ベースの保護。 - sema:セマンティック保護。 |
| config | String | いいえ | {"nonInjectionSql":1} | JSON 文字列形式のカスタム構成。詳細については、config の詳細構成をご参照ください。 |
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"}]}] | 変更するルール構成。詳細については、config の詳細構成をご参照ください。 重要 このテンプレートのシステムルール構成は DescribeBaseSystemRules API を使用して、カスタム正規表現ルール構成は DescribeDefenseRules API を使用してクエリできます。 |
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\"}]}]}]"
}
スキャン保護ルール (antiscan)
パラメーター説明
| 名前 | 型 | 必須 | 例 | 説明 |
| protectionType | String | はい | highfreq | スキャン保護のサブタイプ。有効な値: - highfreq:高頻度スキャンブロック。 - dirscan:ディレクトリトラバーサルブロック。 - scantools:スキャナーツールブロック。 |
| status | Integer | はい | 1 | ルールステータス。このパラメーターは、ルール作成時にのみ使用します。ルールステータスを変更するには、ModifyDefenseRuleStatus API の 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 の詳細構成」をご参照ください。 |
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~1800 秒。 |
| ttl | Integer | いいえ | 1800 | ブロック期間 (秒)。デフォルトは 1800 秒です。 有効範囲:60~86400 秒。 |
| count | Integer | いいえ | 20 | 基本保護ルールの最大トリガー回数。デフォルトは 20 です。 有効範囲:3~50000。 |
| 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 | 検知期間 (秒)。デフォルトは 60 秒です。 有効範囲:5~1800 秒。 |
| ttl | Integer | いいえ | 1800 | ブロック期間 (秒)。デフォルトは 1800 秒です。 有効範囲:60~86400 秒。 |
| count | Integer | いいえ | 20 | 基本保護ルールの最大トリガー回数。デフォルトは 20 です。 有効範囲:3~50000。 |
| weight | Float | いいえ | 2 | 404 応答コードの割合。デフォルトは 0.7 です。 有効範囲:0.01~1.0、小数点以下 2 桁まで。 |
| uriNum | Integer | いいえ | 2 | 存在しないディレクトリの最大数。デフォルトは 50 です。 有効範囲:2~50000。 |
例
{
"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 API の 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 アドレス。フォーマット:["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 API の RuleStatus パラメーターを使用します。有効な値: - 0:無効。 - 1 (デフォルト):有効。 |
| action | String | はい | block | ルールアクション。有効な値: - block:ブロック。 - monitor:モニター。 - js:JS 検証。 - captcha:スライダー。 - captcha_strict:厳格なスライダー。 注 カスタム ACL ルールで利用可能なアクションは、WAF コンソールに表示されるものに依存します。 |
| actionExternal | JSON | いいえ | {"responseRuleId":123444} | ルールアクションの拡張構成。新しいカスタム応答機能でのみサポートされます。action が block の場合、カスタムブロックページを指定できます。action が captcha または captcha_strict の場合、カスタムスライダーページを指定できます。 |
| 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 の詳細構成」をご参照ください。 |
Conditions パラメーターの詳細
| 名前 | 型 | 必須 | 例 | 説明 |
| key | String | はい | IP | 一致フィールド。有効な値:URL, URLPath, IP, Referer, User-Agent, Params, Cookie, Content-Type, Content-Length, X-Forwarded-For, Post-Body, Http-Method, Header, Extension, Filename, Server-Port, Host, Cookie-Exact, Query-Arg, Post-Arg。 重要 サポートされる一致フィールドは WAF のバージョンによって異なる場合があります。正確なリストについては、WAF コンソールをご参照ください。 |
| subKey | String | いいえ | abc | カスタムサブ一致フィールド。 注 すべての一致フィールドがサブ一致フィールドをサポートしているわけではありません。WAF コンソールで一致フィールドとサブ一致フィールドの関係をご参照ください。 |
| opValue | String | はい | contain | 論理演算子。有効な値: - not-contain:含まない。 - contain:含む。 - none:存在しない。 - ne:等しくない。 - eq:等しい。 - lt:より小さい。 - gt:より大きい。 - len-lt:長さがより小さい。 - len-eq:長さが等しい。 - len-gt:長さがより大きい。 - not-match:一致しない。 - match-one:複数の値のいずれかに等しい。 - all-not-match:どの値とも等しくない。 - all-not-contain:どの値も含まない。 - contain-one:複数の値のいずれかを含む。 - not-regex:正規表現が一致しない。 - regex:正規表現が一致する。 - all-not-regex:どの正規表現パターンも一致しない。 - regex-one:正規表現パターンのいずれかに一致する。 - prefix-match:プレフィックスが一致する。 - suffix-match:サフィックスが一致する。 - empty:コンテンツが空である。 - exists:フィールドが存在する。 - inl:リスト内にある。 注 すべての論理演算子がすべての一致フィールドでサポートされているわけではありません。WAF コンソールで一致フィールドと論理演算子の関連付けをご参照ください。 |
| values | String | はい | abc | 一致コンテンツ。必要に応じて入力してください。 注 opValue と values の有効な値は、指定された key に依存します。 |
Ratelimit パラメーターの詳細
| 名前 | 型 | 必須 | 例 | 説明 |
| 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 | 統計期間 (秒)。これは、アクセス数を測定する期間を定義し、threshold パラメーターと連携して動作します。 有効範囲:1~1800 秒。 |
| threshold | Integer | はい | 200 | 検知期間内に統計オブジェクトごとに許可される最大アクセス数。 |
| ttl | Integer | はい | 1800 | 強制アクションの期間 (秒)。 有効範囲:60~86400 秒。 |
| status | JSON | いいえ | {"code":404,"count":200} | JSON 文字列形式の応答コード頻度設定。フィールドには以下が含まれます: code:Integer、必須。応答コードを指定します。 ratio を設定する必要がありますが、両方を設定することはできません。 ratio を設定する必要がありますが、両方を設定することはできません。 |
GrayConfig パラメーターの詳細
| 名前 | 型 | 必須 | 例 | 説明 |
| grayTarget | String | はい | 80 | グレースケールオブジェクトタイプ。有効な値: - remote_addr (デフォルト):IP。 - cookie.acw_tc:セッション。 - header:カスタムヘッダー。選択した場合、graySubKey パラメーターでヘッダー名を指定します。 - queryarg:カスタムパラメーター。選択した場合、graySubKey パラメーターでパラメーター名を指定します。 - cookie:カスタム Cookie。選択した場合、graySubKey パラメーターで Cookie 名を指定します。 |
| graySubKey | String | いいえ | abc | 統計オブジェクトのサブ機能。grayTarget が cookie、header、または queryarg の場合に必須です。 |
| grayRate | Integer | はい | 20 | グレースケールデプロイメント率。有効範囲:1~100。 |
TimeConfig パラメーターの詳細
| 名前 | 型 | 必須 | 例 | 説明 |
| timeScope | String | はい | period | ルール有効化時間範囲。有効な値: - permanent (デフォルト):永続的に有効。 - period:指定された期間中に有効。 - cycle:定期的に有効。 |
| timeZone | Integer | はい | 8 | ルール有効化のタイムゾーン。デフォルトは 8 です。有効範囲:-12~12。0 は UTC、8 は UTC+8、-8 は UTC-8 を表します。 |
| timePeriods | Array | いいえ | [{"start":1758771729787,"end":1758816000000}] | 有効期間。timeScope が period の場合に必須です。複数の期間をサポートします。 - start:Long、必須。ミリ秒単位の UNIX タイムスタンプとしての開始時刻。 - end:Long、必須。ミリ秒単位の UNIX タイムスタンプとしての終了時刻。 |
| weekTimePeriods | Array | いいえ | [{"day":"1","dayPeriods":[{"start":0,"end":51644084}]},{"day":"1,2,5","dayPeriods":[{"start":0,"end":42928908}]}] | 定期的な有効期間。timeScope が cycle の場合に必須です。複数の期間をサポートします。 - day:String、必須。有効化サイクル。有効な値:1~7 (月曜日から日曜日)。複数の日はカンマ (,) で区切ります。例:「1」は毎週月曜日に有効であることを意味します。 - dayPeriods:Array、必須。start と end を含む、1 日あたりの有効期間。複数の期間をサポートします。 • start:Long、必須。その日の 00:00 からのミリ秒としての開始時刻。有効範囲:[0–86400000)。 • end:Long、必須。その日の 00:00 からのミリ秒としての終了時刻。有効範囲:[0–86400000)。 |
例
{
"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\"}}]"
}
ホワイトリストルール (whitelist)
パラメーター説明
| 名前 | 型 | 必須 | 例 | 説明 |
| name | String | はい | whitelistTest | ホワイトリストルール名。長さ:1~255 文字。文字、数字、アンダースコア (_)、ピリオド (.)、ハイフン (-) を含めることができます。 |
| status | Integer | はい | 1 | ルールステータス。このパラメーターは、ルール作成時にのみ使用します。ルールステータスを変更するには、ModifyDefenseRuleStatus API の 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:WebShell。 - 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 API を呼び出すことで確認できます。 |
Conditions パラメーターの詳細
| 名前 | 型 | 必須 | 例 | 説明 |
| key | String | はい | IP | 一致フィールド。有効な値:URL, URLPath, IP, Referer, User-Agent, Params, Cookie, Content-Type, Content-Length, X-Forwarded-For, Post-Body, Http-Method, Header, Server-Port, Host, Query-Arg。 重要 サポートされる一致フィールドは WAF のバージョンによって異なる場合があります。正確なリストについては、WAF コンソールをご参照ください。 |
| subKey | String | いいえ | abc | カスタムサブ一致フィールド。 注 すべての一致フィールドがサブ一致フィールドをサポートしているわけではありません。WAF コンソールで一致フィールドとサブ一致フィールドの関係をご参照ください。 |
| opValue | String | はい | contain | 論理演算子。有効な値: - not-contain:含まない。 - contain:含む。 - none:存在しない。 - ne:等しくない。 - eq:等しい。 - lt:より小さい。 - gt:より大きい。 - len-lt:長さがより小さい。 - len-eq:長さが等しい。 - len-gt:長さがより大きい。 - not-match:一致しない。 - match-one:複数の値のいずれかに等しい。 - all-not-match:どの値とも等しくない。 - all-not-contain:どの値も含まない。 - contain-one:複数の値のいずれかを含む。 - not-regex:正規表現が一致しない。 - regex:正規表現が一致する。 - all-not-regex:どの正規表現パターンも一致しない。 - regex-one:正規表現パターンのいずれかに一致する。 - prefix-match:プレフィックスが一致する。 - suffix-match:サフィックスが一致する。 - empty:コンテンツが空である。 - exists:フィールドが存在する。 - inl:リスト内にある。 注 すべての論理演算子がすべての一致フィールドでサポートされているわけではありません。WAF コンソールで一致フィールドと論理演算子の関連付けをご参照ください。 |
| values | String | はい | abc | 一致コンテンツ。必要に応じて入力してください。 注 opValue と values の有効な値は、指定された key に依存します。 |
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 の場合に必須です。 |
例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 9242,
"DefenseScene": "whitelist",
"Rules":"[{\"name\":\"whitelistTest\",\"tags\":[\"regular_rule\",\"customrule\"],\"status\":1,\"origin\":\"custom\",\"conditions\":[{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"/test\"},{\"key\":\"Header\",\"opValue\":\"eq\",\"values\":\"ffff\",\"subKey\":\"abc\"}],\"regularRules\":[\"123444\",\"444444\"]}]"
}
カスタム応答ルール (custom_response)
パラメーター説明
| 名前 | 型 | 必須 | 例 | 説明 |
| responseType | String | はい | response_block | カスタム応答タイプ。有効な値:response_block (ブロック応答)。 |
| status | Integer | はい | 1 | ルールステータス。このパラメーターは、ルール作成時にのみ使用します。ルールステータスを変更するには、ModifyDefenseRuleStatus API の 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 API を呼び出すことで確認できます。 |
| status | Integer | はい | 1 | ルールステータス。このパラメーターは、ルール作成時にのみ使用します。ルールステータスを変更するには、ModifyDefenseRuleStatus API の RuleStatus パラメーターを使用します。有効な値: - 0:無効。 - 1 (デフォルト):有効。 |
| action | String | はい | block | ルールアクション。有効な値: - block:ブロック。 - monitor:モニター。 |
| actionExternal | JSON | いいえ | {"responseRuleId":123444} | ルールアクションの拡張構成。新しいカスタム応答機能でのみサポートされます。action が block の場合、カスタムブロックページを指定できます。action が captcha または captcha_strict の場合、カスタムスライダーページを指定できます。 |
中国本土のリージョンコード
{
"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 保護ルール (cc)
パラメーター説明
| 名前 | 型 | 必須 | 例 | 説明 |
| mode | Integer | はい | 0 | CC 保護モード。有効な値: - 0 (デフォルト):標準保護。 - 1:緊急保護。 |
| status | Integer | はい | 1 | ルールステータス。このパラメーターは、ルール作成時にのみ使用します。ルールステータスを変更するには、ModifyDefenseRuleStatus API の RuleStatus パラメーターを使用します。有効な値: - 0:無効。 - 1 (デフォルト):有効。 |
例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 2241,
"DefenseScene": "cc",
"Rules":"[{\"mode\":0,\"status\":1}]"
}
Web サイト改ざん防止ルール (tamperproof)
パラメーター説明
| 名前 | 型 | 必須 | 例 | 説明 |
| name | String | はい | test | ルール名。長さ:1~255 文字。文字、数字、アンダースコア (_)、ピリオド (.)、ハイフン (-) を含めることができます。 |
| url | String | はい | /abc | キャッシュされたページの URL。 |
| ua | String | いいえ | app | このパスにアクセスするための User-Agent。 |
| protocol | String | はい | https | キャッシュされたページの URL のプロトコル。有効な値:http、https。 |
| status | Integer | はい | 1 | ルールステータス。このパラメーターは、ルール作成時にのみ使用します。ルールステータスを変更するには、ModifyDefenseRuleStatus API の 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 文字列形式の一致条件。AND ロジックで結合された最大 2 つの条件をサポートします。詳細については、「conditions の詳細構成」をご参照ください。 |
| status | Integer | はい | 1 | ルールステータス。このパラメーターは、ルール作成時にのみ使用します。ルールステータスを変更するには、ModifyDefenseRuleStatus API の RuleStatus パラメーターを使用します。有効な値: - 0:無効。 - 1 (デフォルト):有効。 |
| action | String | はい | block | ルールアクション。有効な値: - block:ブロック。条件に HTTP 応答コードの一致が含まれる場合にのみ適用されます。 - monitor:モニター。 - filter:機密情報フィルタリング。条件に機密情報の一致が含まれる場合にのみ適用されます。 |
Conditions パラメーターの詳細
| 名前 | 型 | 必須 | 例 | 説明 |
| 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:ID カード。 - word:デフォルトの機密単語。 |
例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 5241,
"DefenseScene": "dlp",
"Rules":"[{\"name\":\"test\",\"action\":\"filter\",\"status\":1,\"conditions\":[{\"key\":\"SensitiveInfo\",\"opValue\":\"contain\",\"values\":\"id,card\"},{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"/test.html\"}]}]"
}
ピークトラフィックスロットリング (spike_throttle)
パラメーター説明
| 名前 | 型 | 必須 | 例 | 説明 |
| name | String | はい | iptest | ピークトラフィックスロットリングルール名。長さ:1~255 文字。文字、数字、アンダースコア (_)、ピリオド (.)、ハイフン (-) を含めることができます。 |
| status | Integer | はい | 1 | ルールステータス。このパラメーターは、ルール作成時にのみ使用します。ルールステータスを変更するには、ModifyDefenseRuleStatus API の 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 API を呼び出すことで確認できます。 |
| type | String | はい | qps | スロットリング方法。有効な値: - qps:QPS ベースのスロットリング。 - ratio (デフォルト):パーセンテージベースのスロットリング。 |
| threshold | Integer | はい | 500 | スロットリングしきい値。有効範囲: - QPS:[1–5000000]。500 QPS に設定すると、500 QPS を超えるトラフィックでスロットリング条件を満たすものがブロックされます。 - パーセンテージ:[1–99]。80% に設定すると、スロットリング条件を満たすトラフィックの 80% のみが許可されます。 |
Conditions パラメーターの詳細
| 名前 | 型 | 必須 | 例 | 説明 |
| key | String | はい | IP | 一致フィールド。有効な値:URL, URLPath, IP, Referer, User-Agent, Params, Cookie, Content-Type, Content-Length, X-Forwarded-For, Post-Body, Http-Method, Header。 |
| subKey | String | いいえ | abc | カスタムサブ一致フィールド。 注 すべての一致フィールドがサブ一致フィールドをサポートしているわけではありません。WAF コンソールで一致フィールドとサブ一致フィールドの関係をご参照ください。 |
| opValue | String | はい | contain | 論理演算子。有効な値: - not-contain:含まない。 - contain:含む。 - none:存在しない。 - ne:等しくない。 - eq:等しい。 - lt:より小さい。 - gt:より大きい。 - len-lt:長さがより小さい。 - len-eq:長さが等しい。 - len-gt:長さがより大きい。 - not-match:一致しない。 - match-one:複数の値のいずれかに等しい。 - all-not-match:どの値とも等しくない。 - all-not-contain:どの値も含まない。 - contain-one:複数の値のいずれかを含む。 - not-regex:正規表現が一致しない。 - regex:正規表現が一致する。 - all-not-regex:どの正規表現パターンも一致しない。 - regex-one:正規表現パターンのいずれかに一致する。 - prefix-match:プレフィックスが一致する。 - suffix-match:サフィックスが一致する。 - empty:コンテンツが空である。 - exists:フィールドが存在する。 - inl:リスト内にある。 注 すべての論理演算子がすべての一致フィールドでサポートされているわけではありません。WAF コンソールで一致フィールドと論理演算子の関連付けをご参照ください。 |
| values | String | はい | abc | 一致コンテンツ。必要に応じて入力してください。 注 opValue と values の有効な値は、指定された key に依存します。 |
中国本土のリージョンコード
{
"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\",\"values\":\"abctest\"}],\"status\":1,\"type\":\"qps\",\"threshold\":1000,\"cnRegionList\":\"110000,140000\",\"abroadRegionList\":\"AD,AL\"}]"}
}
保護対象レベルのルール (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 } ] | アカウント抽出構成。最大 5 つのエントリをサポートし、それぞれが JSON 文字列形式です。詳細については、accountIdentifiers の詳細構成をご参照ください。 |
AccountIdentifiers パラメーターの詳細
| 名前 | 型 | 必須 | 例 | 説明 |
| key | String | はい | Query-Arg | 抽出のためのフィールドの場所。有効な値:Query-Arg、Cookie-Exact、Post-Arg、Header。 |
| subKey | String | はい | query-test | カスタムサブ一致フィールド。 |
| decodeType | String | はい | jwt | 認証方法。有効な値: - plain:プレーンテキスト。 - basic:Basic 認証。 - jwt:JWT 認証。JWT の場合、デコード後のアカウントフィールド (position) を指定します。 |
| priority | Integer | はい | 1 | この抽出構成の一致優先度。リクエストごとに 1 つの抽出戦略のみが一致します。有効範囲:[0,20]。数値が小さいほど優先度が高くなります。値は一意でなければなりません。 |
| position | String | いいえ | account | 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:XSS クロスサイトスクリプティング攻撃。 - cmdi:OS コマンドインジェクション。 - expression_injection:式インジェクション (EL、SpEL、OGNL 式を含む)。 - java_deserialization:Java デシリアライゼーション。 - dot_net_deserialization:.NET デシリアライゼーション。 - php_deserialization:PHP デシリアライゼーション。 - code_exec:リモートコード実行 (JNDI/XPATH)。 - ssrf:SSRF (Server-Side Request Forgery)。 - path_traversal:パストラバーサル。 - arbitrary_file_uploading:任意ファイルアップロード。 - webshell:WebShell。 - rfilei:リモートファイルインクルード (RFI)。 - lfilei:ローカルファイルインクルード (LFI)。 - protocol_violation:プロトコル違反。 - scanner_behavior:スキャナーの動作。 - logic_flaw:ビジネスロジックの欠陥。 - arbitrary_file_reading:任意ファイル読み取り。 - arbitrary_file_download:任意ファイルダウンロード。 - xxe:外部エンティティインジェクション。 - csrf:CSRF。 - crlf:CRLF。 - other:その他。 |
| riskLevel | String | はい | strict | リスクレベル。有効な値: - super_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"}] | ACL ルールのトラフィック特性。JSON 文字列形式で記述します。最大 5 つの一致条件をサポートします。詳細については、「condition の詳細構成」をご参照ください。 |
Condition パラメーターの詳細
| 名前 | 型 | 必須 | 例 | 説明 |
| 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:スライダー。 |
| responseCode | Integer | いいえ | 400 | 指定された応答コード。 - カスタムブロックページルールに必須です。 - カスタムスライダーページルールではサポートされていません。デフォルトは 200 です。 |
| responseHeaders | Array | いいえ | [{"key":"custom","value":"123"},{"key":"aaaa","value":"2223"}] | JSON 文字列形式のカスタム応答ヘッダー。key はヘッダーフィールド、value はヘッダー値です。 |
| designType | String | いいえ | custom | 応答構成タイプ。action が captcha の場合にのみ必須です。有効な値: - custom:カスタム構成。 - preDefine:事前定義構成。 |
| responseContent | String | いいえ | helloworld | カスタム応答コンテンツ。カスタムスライダーまたはブロックページに必須です。 |
| 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 better experience, please slide to complete the verification process before accessing the web page. | カスタムスライダーページの説明。 |
| captchaColor | String | はい | #ff6a00 | スライダーの色。 |
| showTraceId | boolean | はい | true | ログ ID の表示。有効な値: - true:スライダーページにログ ID を表示する。 - false:スライダーページにログ 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-custom",
"description": "For better experience, please slide to complete the verification process before accessing the web page.",
"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. |
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。