BatchCreateDcdnWafRules 操作を呼び出して、WAF 緩和ルールを設定します。
操作説明
この操作の呼び出し頻度は、ユーザーごとに 1 秒あたり 20 回に制限されています。
今すぐお試しください
テスト
RAM 認証
|
アクション |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
|
dcdn:BatchCreateDcdnWafRules |
create |
*All Resource
|
なし | なし |
リクエストパラメーター
|
パラメーター |
タイプ |
必須 / 任意 |
説明 |
例 |
| PolicyId |
integer |
必須 |
緩和ポリシーの ID。 |
1000001 |
| RuleConfigs |
string |
必須 |
緩和ルールの構成。 |
[{"name":"example","action":"monitor","conditions":[{"key":"URL","opValue":"match-one","values":"1,2,3,4,5"},{"key":"Header","opValue":"contain-one","subKey":"example_subkey","values":"6,7,8,9,10"}],"ratelimit":{"target":"header","interval":10,"threshold":5,"ttl":1800,"subKey":"example_subkey","status":{"code":"502","count":5}},"ccStatus":"on","effect":"rule","status":"on"}] |
RuleConfigs の説明
RuleConfigs はオブジェクトの配列です。各オブジェクトはルールを表します。
RuleConfigs の形式は、PolicyId に関連付けられている緩和ポリシーのタイプによって異なります。
シナリオ 1:WAF(waf_group)
パラメーター | タイプ | 必須 | 例 | 説明 |
status | 文字列 | いいえ | on | ルールのステータス。有効な値:on および off。デフォルト値は on です。 |
action | 文字列 | はい | block | ルールの操作。有効な値:block および monitor。 |
wafGroupIds | 文字列 | いいえ | 1012 | WAF ルールグループの ID。デフォルト値は 1012 です。複数の ID はカンマ(,)で区切ります。 |
waf_group 構成の例:
// WAF ポリシーは 1 つのルールのみをサポートします。
[
{
"status": "on",
"action": "block"
}
]
シナリオ 2:カスタムルール(custom_acl)
名前 | タイプ | 必須 | 例 | 説明 |
name | 文字列 | はい | acl_1 | ルールの名前。名前には、小文字、大文字、数字(0 ~ 9)、アンダースコア(_)を使用できます。名前は最大 64 文字まで使用できます。 |
status | 文字列 | いいえ | on | 有効な値:on および off。デフォルト値は on です。 |
conditions | 条件 | はい | [ {"key": "URI", "subKey": "","opValue": "contain", "values": "/login.php" }] | ルールをトリガーする条件。パラメーターの詳細については、表 1. 条件パラメーターを参照してください。 |
ccStatus | 文字列 | はい | off | レート制限を有効にするかどうかを指定します。有効な値:on および off。 |
rateLimit | レート制限 | いいえ | { "target": "Header", "subKey": "User-Agent", "interval": 5, "threshold": 2, "ttl": 1800} | レート制限ルール。このパラメーターは、ccStatus が on に設定されている場合に必須です。パラメーターの詳細については、表 2. RateLimit パラメーターを参照してください。 |
effect | 文字列 | いいえ | service | レート制限ブラックリストの範囲。このパラメーターは、ccStatus が on に設定されている場合に必須です。有効な値:rule(現在のルール)および service(グローバル)。 |
action | 文字列 | はい | deny | ルールの操作。有効な値:deny、js(JavaScript チャレンジ)、および monitor。 |
表 1. 条件パラメーター
名前 | タイプ | 必須 | 例 | 説明 |
Key | 文字列 | はい | クエリ文字列パラメーター | 一致フィールド。詳細については、DescribeDcdnWafFilterInfo を参照してください。 |
subKey | 文字列 | いいえ | action | 一致サブフィールド。詳細については、DescribeDcdnWafFilterInfo を参照してください。 |
opValue | 文字列 | はい | eq | 論理演算子。詳細については、DescribeDcdnWafFilterInfo を参照してください。 |
values | 文字列 | いいえ | js | 一致コンテンツ。複数の値はカンマ(,)で区切ります。詳細については、DescribeDcdnWafFilterInfo を参照してください。 |
表 2. RateLimit パラメーター
名前 | タイプ | 必須 | 例 | 説明 |
target | 文字列 | はい | Header | レート制限統計に使用されるフィールド。有効な値:IP(同じ IP アドレスからのリクエスト)、Header(指定されたヘッダーを含むリクエスト)、Query String Parameter(指定されたパラメーターを含むリクエスト)、Cookie Name(指定された Cookie を含むリクエスト)、および Session(同じセッションからのリクエスト)。 |
subKey | 文字列 | いいえ | User-Agent | 統計フィールドのサブフィールド。このパラメーターは、target が Header、Query String Parameter、または Cookie Name に設定されている場合に必須です。 |
Interval | 整数 | はい | 5 | 統計期間。有効な値:5 ~ 1800。単位:秒。 |
threshold | 整数 | はい | 2 | 統計しきい値。有効な値:2 ~ 50000。単位:回。 |
ttl | 整数 | はい | 1800 | ブラックリストのタイムアウト期間。有効な値:60 ~ 86400。単位:秒。 |
status | RateLimitStatus | いいえ | {"code": "404", "ratio": 10} | レスポンスコード統計。パラメーターの詳細については、表 3. RateLimitStatus パラメーターを参照してください。 |
表 3. RateLimitStatus パラメーター
名前 | タイプ | 必須 | 例 | 説明 |
code | 文字列 | はい | 404 | HTTP ステータスコード。 |
ratio | 整数 | いいえ | 10 | ルールをトリガーするリクエストの割合。有効な値:1 ~ 100。このパラメーターまたは count のいずれかを指定できます。 |
count | 整数 | いいえ | 10 | ルールをトリガーするリクエストの数。有効な値:2 ~ 50000。このパラメーターまたは ratio のいずれかを指定できます。 |
custom_acl 構成の例:
[
// アクセスコントロール
{
"name": "acl_1",
"status": "off",
"conditions":
[
{
"key": "Query String Parameter", // クエリ文字列パラメーター
"subKey": "action",
"opValue": "eq",
"values": "js"
}
],
"ccStatus": "off",
"action": "js"
},
// レート制限
{
"name": "cc_1",
"status": "on",
"conditions":
[
{
"key": "URI",
"subKey": "",
"opValue": "contain", // 含む
"values": "/login.php"
},
{
"key": "IP",
"subKey": "",
"opValue": "ip-contain", // IP を含む
"values": "192.168.0.1/24"
}
],
"ccStatus": "on",
"ratelimit": // レート制限
{
"target": "Header", // ヘッダー
"subKey": "User-Agent", // ユーザーエージェント
"interval": 5, // 間隔
"threshold": 2, // しきい値
"ttl": 1800, // TTL
"status": // ステータス
{
"code": "404", // コード
"ratio": 10 // 比率
}
},
"effect": "service", // サービス
"action": "deny" // 拒否
}
]
シナリオ 3:ホワイトリスト(whitelist)
名前 | タイプ | 必須 | 例 | 説明 |
name | 文字列 | はい | on | ルールの名前。名前には、小文字、大文字、数字(0 ~ 9)、アンダースコア(_)を使用できます。名前は最大 64 文字まで使用できます。 |
status | 文字列 | いいえ | on | ルールのステータス。有効な値:on(デフォルト)および off。 |
conditions | 条件 | はい | [{ "key": "Http-Method","subKey": "","opValue": "match-one", "values": "GET,POST,DELETE" }] | ルールをトリガーする条件。パラメーターの詳細については、表 1. 条件パラメーターを参照してください。 |
tags | 文字列 | はい | [ "waf_group", "custom_acl"] | 緩和ポリシータイプのリスト。 |
regularTypes | 文字列 | いいえ | [ [ "sqli", "xss","code_exec", "crlf", "lfilei", "rfilei", "webshell","vvip", "other"] | 正規表現ルールのタイプ。このパラメーターは、tags に waf_group が指定されている場合に使用できます。有効な値:"sqli"、"xss"、"code_exec"、"crlf"、"lfilei"、"rfilei"、"webshell"、"vvip"、および "other"。 |
regularRules | 文字列 | いいえ | [ "100001", "100002", "100003"] | 正規表現ルール。このパラメーターは、tags に waf_group が指定されている場合に使用できます。このパラメーターまたは regularTypes のいずれかを指定できます。値は文字列形式の 6 桁の数字のリストです。 |
whitelist 構成の例:
[
// すべてのシナリオをスキップ
{
"name": "wl_all", // 全て
"status": "on", // 有効
"conditions": // 条件
[
{
"key": "Http-Method", // HTTP メソッド
"subKey": "",
"opValue": "match-one", // 一致
"values": "GET,POST,DELETE" // GET、POST、DELETE
}
],
"tags": // タグ
[
"waf_group", // WAF グループ
"custom_acl", // カスタム ACL
"ip_blacklist", // IP ブラックリスト
"region_block" // リージョンブロック
]
},
// waf_group の指定されたルール ID をスキップ
{
"name": "wl_waf_id", // WAF ID
"status": "off", // 無効
"conditions": // 条件
[
{
"key": "Cookie Name", // Cookie 名
"subKey": "cdn-sec",
"opValue": "prefix-match", // プレフィックス一致
"values": "a7sdsa9dsa8d8sa"
},
{
"key": "Referer", // リファラー
"subKey": "",
"opValue": "none", // なし
"values": ""
}
],
"tags": // タグ
[
"waf_group" // WAF グループ
],
"regularRules": // 正規表現ルール
[
"100001",
"100002",
"100003"
]
},
{
// waf_group の指定されたルールタイプをスキップ
"name": "wl_waf_type", // WAF タイプ
"status": "on", // 有効
"conditions": // 条件
[
{
"key": "Query String", // クエリ文字列
"subKey": "",
""opValue": "exists", // 存在する
"values": ""
}
],
"tags": // タグ
[
"waf_group" // WAF グループ
],
"regularTypes": // 正規表現タイプ
[
"sqli", // SQL インジェクション
"xss", // クロスサイトスクリプティング
"code_exec", // コード実行
"crlf", // CRLF インジェクション
"lfilei", // ローカルファイルインクルード
"rfilei", // リモートファイルインクルード
"webshell", // Web シェル
"vvip", // VVIP
"other" // その他
]
},
// カスタムルールをスキップ
{
"name": "wl_custom_acl", // カスタム ACL
"status": "on", // 有効
"conditions": // 条件
[
{
"key": "Http-Method", // HTTP メソッド
"subKey": "",
"opValue": "match-one", // 一致
"values": "GET,POST,DELETE" // GET、POST、DELETE
}
],
"tags": // タグ
[
"custom_acl" // カスタム ACL
]
},
// IP ブラックリストをスキップ
{
"name": "wl_ip_blacklist", // IP ブラックリスト
"status": "on", // 有効
"conditions": // 条件
[
{
"key": "Http-Method", // HTTP メソッド
"subKey": "",
"opValue": "match-one", // 一致
"values": "GET,POST,DELETE" // GET、POST、DELETE
}
],
"tags": // タグ
[
"ip_blacklist" // IP ブラックリスト
]
},
// ロケーションブラックリストをスキップ
{
"name": "wl_region_block", // リージョンブロック
"status": "on", // 有効
"conditions": // 条件
[
{
"key": "Http-Method", // HTTP メソッド
"subKey": "",
"opValue": "match-one", // 一致
"values": "GET,POST,DELETE" // GET、POST、DELETE
}
],
"tags": // タグ
[
"region_block" // リージョンブロック
]
}
]
シナリオ 4:IP ブラックリスト(ip_blacklist)
名前 | タイプ | 必須 | 例 | 説明 |
name | 文字列 | はい | ipblacklist | ルールの名前。名前には、小文字、大文字、数字(0 ~ 9)、アンダースコア(_)を使用できます。名前は最大 64 文字まで使用できます。 |
status | 文字列 | いいえ | on | ルールのステータス。有効な値:on および off。デフォルト値は on です。 |
remoteAddr | []文字列 | はい | ["192.168.0.1","10.10.10.10/24","::1","abcd::abcd","BCDE::BCDE"] | フィルタリングする IP アドレス。詳細については、DescribeDcdnWafFilterInfo を参照してください。 |
action | 文字列 | はい | deny | ルールの操作。有効な値:deny および monitor。 |
ip_blacklist 構成の例:
[
{
"name": "ipblacklist", // IP ブラックリスト
"status": "on", // 有効
"remoteAddr": ["192.168.0.1","10.10.10.10/24","::1","abcd::abcd","BCDE::BCDE"], // リモートアドレス
"action": "deny" // 拒否
}
]
シナリオ 5:ロケーションブラックリスト(region_block)
名前 | タイプ | 必須 | 例 | 説明 |
status | 文字列 | いいえ | on | ルールのステータス。有効な値:on および off。デフォルト値は on です。 |
cnRegionList | 文字列 | いいえ | 110000,TW,MO | ブロックする中国本土のリージョン。複数のリージョンはカンマ(,)で区切ります。サポートされているリージョンの詳細については、DescribeDcdnWafGeoInfo を参照してください。 |
otherRegionList | 文字列 | いいえ | JP,GB | ブロックする中国本土以外のリージョン。複数のリージョンはカンマ(,)で区切ります。サポートされているリージョンの詳細については、DescribeDcdnWafGeoInfo を参照してください。 |
action | 文字列 | はい | deny | ルールの操作。有効な値:deny および monitor。 |
cnRegionList と otherRegionList の少なくとも 1 つを指定する必要があります。
region_block 構成の例:
[
{
"status": "on", // 有効
"cnRegionList": "110000,TW,MO", // 中国本土リージョンリスト
"otherRegionList": "JP,GB", // その他のリージョンリスト
"action": "deny" // 拒否
}
]
シナリオ 6:ボット管理(bot)
ルールテンプレート
すべてのルールには、次の 4 つのパラメーターが含まれています。有効な値の詳細については、各ルールの分類の説明を参照してください。
パラメーター | タイプ | 必須 | 説明 |
type | 文字列 | はい | ルールのタイプ。詳細については、特定のルールの分類を参照してください。 |
status | 文字列 | はい | ルールのステータス。有効な値:on および off。 |
config | TargetType | いいえ | ルールの構成。詳細については、特定のルールの分類を参照してください。 |
action | 文字列 | いいえ | ルールの操作。詳細については、特定のルールの分類を参照してください。 |
ルールの分類 1:保護対象のタイプ
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | target_type | ルールのタイプ。値を target_type に設定します。 |
status | 文字列 | はい | on | ルールのステータス。値を on に設定します。 |
config | TargetType | いいえ | {"target":"app"} | ルールの構成。フォーマット: |
action | 文字列 | いいえ | empty | ルールの操作。このパラメーターは適用されません。空のままにします。 |
保護対象タイプの構成例:
[
{
"type":"target_type", // ターゲットタイプ
"status":"on", // 有効
"config":{"target":"app"}, // 構成
"action":"" // 操作
}
]
ルールの分類 2:Web SDK 統合
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | web_sdk | ルールのタイプ。値を web_sdk に設定します。 |
status | 文字列 | はい | on | ルールのステータス。値を on に設定します。 |
config | WebSdk | いいえ | {"mode":"automatic","crossDomain":"example.com"} | ルールの構成。フォーマット: |
action | 文字列 | いいえ | empty | ルールの操作。このパラメーターは適用されません。空のままにします。 |
Web SDK 統合構成の例:
[
{
"type":"web_sdk", // Web SDK
"status":"on", // 有効
"config":{"mode":"automatic","crossDomain":"example.com"}, // 構成
"action":"" // 操作
}
]
ルールの分類 3:保護対象の機能
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | traffic_feature | ルールのタイプ。値を traffic_feature に設定します。 |
status | 文字列 | はい | on | ルールのステータス。値を on に設定します。 |
config | TrafficFeature | はい | {"conditions":[{"key":"Header","subKey":"User-Agent","opValue":"contain","values":"Chrome"},{"key":"IP","subKey":"","opValue":"ip-contain","values":"192.168.0.1/24"}]} | ルールの構成。詳細については、condition を参照してください。 |
action | 文字列 | いいえ | empty | ルールの操作。このパラメーターは適用されません。空のままにします。 |
condition(一致条件)
パラメーター | タイプ | 必須 | 例 | 説明 |
key | 文字列 | はい | Header | 一致フィールド。詳細については、DescribeDcdnWafFilterInfo を参照してください。 |
subKey | 文字列 | いいえ | User-Agent | 一致サブフィールド。詳細については、DescribeDcdnWafFilterInfo を参照してください。 |
opValue | 文字列 | はい | contain | 演算子。詳細については、DescribeDcdnWafFilterInfo を参照してください。 |
values | 文字列 | いいえ | Chrome | 一致コンテンツ。複数の値はカンマ(,)で区切ります。詳細については、DescribeDcdnWafFilterInfo を参照してください。 |
保護対象の機能構成の例:
[
{
"type":"traffic_feature", // トラフィック機能
"status":"on", // 有効
"config":{"conditions":[{"key":"Header","subKey":"User-Agent","opValue":"contain","values":"Chrome"},{"key":"IP","subKey":"","opValue":"ip-contain","values":"192.168.0.1/24"}]}, // 構成
"action":"" // 操作
}
]
ルールの分類 4:正当なボット管理
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | intelligence_crawler | ルールのタイプ。値を intelligence_crawler に設定します。 |
status | 文字列 | はい | on | ルールのステータス。値を on に設定します。 |
config | IntelligenceCrawler | いいえ | {"name":"intelligence_crawler_baidu"} | ルールの構成。詳細については、name(検索エンジン スパイダー ホワイトリスト)を参照してください。 |
action | 文字列 | はい | bypass | ルールの操作。値を bypass に設定します。 |
name(検索エンジン スパイダー ホワイトリスト)
パラメーター値 | 意味 |
intelligence_crawler_all | 正当な検索エンジン ホワイトリスト(Google、Bing、Baidu、Sogou、360、Yandex) |
intelligence_crawler_baidu | Baidu スパイダー ホワイトリスト |
intelligence_crawler_sogou | Sogou スパイダー ホワイトリスト |
intelligence_crawler_360 | 360 スパイダー ホワイトリスト |
intelligence_crawler_google | Google スパイダー ホワイトリスト |
intelligence_crawler_bing | Bing スパイダー ホワイトリスト |
intelligence_crawler_yandex | Yandex スパイダー ホワイトリスト |
正当なボット管理構成の例:
[
{
"type":"intelligence_crawler", // インテリジェンスクローラー
"status":"on", // 有効
"config":{"name":"intelligence_crawler_baidu"}, // 構成
"action":"bypass" // バイパス
},
{
"type":"intelligence_crawler", // インテリジェンスクローラー
"status":"on", // 有効
"config":{"name":"intelligence_crawler_google"}, // 構成
"action":"bypass" // バイパス
}
]
ルールの分類 5:シンプルなスクリプトフィルタリング(JavaScript チャレンジ)
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | js | ルールのタイプ。値を js に設定します。 |
status | 文字列 | はい | on | ルールのステータス。有効な値:on および off。 |
config | Js | いいえ | empty | ルールの構成。このパラメーターは適用されません。空のままにします。 |
action | 文字列 | はい | js | ルールの操作。値を js(JavaScript チャレンジ)に設定します。 |
シンプルなスクリプトフィルタリング(JavaScript チャレンジ)構成の例:
[
{
"type":"js", // js
"status":"on", // 有効
"config":{}, // 構成
"action":"js" // 操作
}
]
ルールの分類 6:高度なボット防御(動的トークンチャレンジ)
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | sigchl | ルールのタイプ。値を sigchl に設定します。 |
status | 文字列 | はい | on | ルールのステータス。有効な値:on および off。 |
config | Sigchl | いいえ | {"sigchl":["sig","replay","driver"]} | ルールの構成。フォーマット: |
action | 文字列 | はい | sigchl | ルールの操作。値を sigchl(ブロック)に設定します。 |
高度なボット防御(動的トークンチャレンジ)構成の例:
[
{
"type":"sigchl", // 署名チャレンジ
"status":"on", // 有効
"config":{"sigchl":["sig","replay","driver"]}, // 構成
"action":"sigchl" // 操作
}
]
ルールの分類 7:AI 搭載保護
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | algorithm | ルールのタイプ。値を algorithm に設定します。 |
status | 文字列 | はい | on | ルールのステータス。有効な値:on および off。 |
config | Algorithm | いいえ | empty | ルールの構成。このパラメーターは適用されません。空のままにします。 |
action | 文字列 | はい | captcha | ルールの操作。有効な値:monitor および captcha(スライダー CAPTCHA)。 |
AI 搭載保護構成の例:
[
{
"type":"algorithm", // アルゴリズム
"status":"on", // 有効
"config":{}, // 構成
"action":"captcha" // キャプチャ
}
]
ルールの分類 8:IP レート制限
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | custom_cc_ip | ルールのタイプ。値を custom_cc_ip に設定します。 |
status | 文字列 | はい | on | ルールのステータス。有効な値:on および off。 |
config | CustomCcIp | はい | {"interval":20,"target":"IP","threshold":50,"ttl":2800} | ルールの構成。詳細については、IP レート制限構成パラメーターを参照してください。 |
action | 文字列 | はい | monitor | ルールの操作。有効な値:deny、monitor、および captcha(スライダー、Web のみ)。 |
IP レート制限構成パラメーター
パラメーター | タイプ | 必須 | 例 | 説明 |
target | 文字列 | はい | IP | レート制限の統計フィールド。値を IP に設定します。 |
subKey | 文字列 | いいえ | empty | 統計フィールドのサブフィールド。このパラメーターは適用されません。空のままにします。 |
Interval | 整数 | はい | 20 | 統計期間。有効な値:5 ~ 1800。単位:秒。 |
threshold | 整数 | はい | 50 | 統計しきい値。有効な値:2 ~ 50000。単位:回。 |
ttl | 整数 | はい | 2800 | ブラックリストのタイムアウト期間。有効な値:60 ~ 86400。単位:秒。 |
IP レート制限構成の例:
[
{
"type":"custom_cc_ip", // カスタム CC IP
"status":"on", // 有効
"config":{"interval":20,"target":"IP","threshold":50,"ttl":2800}, // 構成
"action":"monitor" // 監視
},
{
"type":"custom_cc_ip", // カスタム CC IP
"status":"on", // 有効
"config":{"interval":10,"target":"IP","threshold":30,"ttl":1800}, // 構成
"action":"monitor" // 監視
}
]
ルールの分類 9:デバイスレート制限
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | custom_cc_dev | ルールのタイプ。値を custom_cc_dev に設定します。 |
status | 文字列 | はい | on | ルールのステータス。有効な値:on および off。 |
config | CustomCcDev | はい | {"interval":20,"target":"Header","subKey":"aliwaf_wxbb_umid","threshold":50,"ttl":2800} | ルールの構成。詳細については、デバイスレート制限構成パラメーターを参照してください。 |
action | 文字列 | はい | monitor | ルールの操作。有効な値:deny および monitor。 |
デバイスレート制限構成パラメーター
パラメーター | タイプ | 必須 | 例 | 説明 |
target | 文字列 | はい | Header | レート制限の統計フィールド。値を Header に設定します。 |
subKey | 文字列 | いいえ | aliwaf_wxbb_umid | 統計フィールドのサブフィールド。値を aliwaf_wxbb_umid に設定します。 |
Interval | 整数 | はい | 20 | 統計期間。有効な値:5 ~ 1800。単位:秒。 |
threshold | 整数 | はい | 50 | 統計しきい値。有効な値:2 ~ 50000。単位:回。 |
ttl | 整数 | はい | 2800 | ブラックリストのタイムアウト期間。有効な値:60 ~ 86400。単位:秒。 |
デバイスレート制限構成の例:
[
{
"type":"custom_cc_dev", // カスタム CC デバイス
"status":"on", // 有効
"config":{"interval":20,"target":"Header","subKey":"aliwaf_wxbb_umid","threshold":50,"ttl":2800}, // 構成
"action":"monitor" // 監視
},
{
"type":"custom_cc_dev", // カスタム CC デバイス
"status":"on", // 有効
"config":{"interval":20,"target":"Header","subKey":"aliwaf_wxbb_umid","threshold":50,"ttl":2800}, // 構成
"action":"deny" // 拒否
}
]
ルールの分類 10:カスタムセッションレート制限
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | custom_cc | ルールのタイプ。値を custom_cc に設定します。 |
status | 文字列 | はい | on | ルールのステータス。有効な値:on および off。 |
config | CustomCcIp | はい | {"interval":10,"target":"Query String Parameter","subKey":"arg","threshold":30,"ttl":1800} | ルールの構成。詳細については、カスタムセッションレート制限構成パラメーターを参照してください。 |
action | 文字列 | はい | monitor | ルールの操作。有効な値:deny、monitor、および captcha(スライダー、Web のみ)。 |
カスタムセッションレート制限構成パラメーター
パラメーター | タイプ | 必須 | 例 | 説明 |
target | 文字列 | はい | Query String Parameter | レート制限統計に使用されるフィールド。有効な値:Header(指定されたヘッダーを含むリクエスト)、Query String Parameter(指定されたパラメーターを含むリクエスト)、Cookie Name(指定された Cookie を含むリクエスト)、および Session(同じセッションからのリクエスト)。 |
subKey | 文字列 | いいえ | arg | 統計フィールドのサブフィールド。これはカスタムフィールドです。 |
Interval | 整数 | はい | 10 | 統計期間。有効な値:5 ~ 1800。単位:秒。 |
threshold | 整数 | はい | 30 | 統計しきい値。有効な値:2 ~ 50000。単位:回。 |
ttl | 整数 | はい | 2800 | ブラックリストのタイムアウト期間。有効な値:60 ~ 86400。単位:秒。 |
カスタムセッションレート制限構成の例:
[
{
"type":"custom_cc", // カスタム CC
"status":"on", // 有効
"config":{"interval":10,"target":"Query String Parameter","subKey":"arg","threshold":30,"ttl":1800}, // 構成
"action":"deny" // 拒否
},
{
"type":"custom_cc", // カスタム CC
"status":"on", // 有効
"config":{"interval":10,"target":"Query String Parameter","subKey":"arg","threshold":30,"ttl":1800}, // 構成
"action":"captcha" // キャプチャ
}
]
ルールの分類 11:ボット脅威インテリジェンスライブラリ
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | intelligence | ルールのタイプ。値を intelligence に設定します。 |
status | 文字列 | はい | on | ルールのステータス。有効な値:on および off。 |
config | Intelligence | いいえ | empty | ルールの構成。このパラメーターは適用されません。空のままにします。 |
action | 文字列 | はい | captcha | ルールの操作。有効な値:monitor および captcha(スライダー CAPTCHA)。 |
ボット脅威インテリジェンスライブラリ構成の例:
[
{
"type":"intelligence", // インテリジェンス
"status":"on", // 有効
"config":{}, // 構成
"action":"captcha" // キャプチャ
}
]
ルールの分類 12:IDC ブラックリストブロッキング
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | intelligence_idc | ルールのタイプ。値を intelligence_idc に設定します。 |
status | 文字列 | はい | on | ルールのステータス。有効な値:on および off。 |
config | IntelligenceIdc | はい | {"name":"intelligence_idc_alibaba"} | ルールの構成。詳細については、name パラメーターを参照してください。 |
action | 文字列 | はい | captcha | ルールの操作。有効な値:deny、monitor、および captcha(スライダー CAPTCHA)。 |
name パラメーター
パラメーター値 | 意味 |
intelligence_idc_alibaba | IDC IP ライブラリ - Alibaba Cloud |
intelligence_idc_tencent | IDC IP ライブラリ - Tencent Cloud |
intelligence_idc_mtyun | IDC IP ライブラリ - Meituan Cloud |
intelligence_idc_vnet | IDC IP ライブラリ - 21Vianet |
intelligence_idc_other | IDC IP ライブラリ - その他 |
IDC ブラックリストブロッキング構成の例:
[
{
"type":"intelligence_idc", // インテリジェンス IDC
"status":"on", // 有効
"config":{"name":"intelligence_idc_alibaba"}, // 構成
"action":"captcha" // キャプチャ
},
{
"type":"intelligence_idc", // インテリジェンス IDC
"status":"on", // 有効
"config":{"name":"intelligence_idc_tencent"}, // 構成
"action":"captcha" // キャプチャ
}
]
ルールの分類 13:偽造スパイダーブロッキング
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | intelligence_fake_crawler | ルールのタイプ。値を intelligence_fake_crawler に設定します。 |
status | 文字列 | はい | on | ルールのステータス。有効な値:on および off。 |
config | IntelligenceFakeCrawler | いいえ | empty | ルールの構成。このパラメーターは適用されません。空のままにします。 |
action | 文字列 | はい | deny | ルールの操作。値を deny に設定します。 |
偽造スパイダーブロッキング構成の例:
[
{
"type": "intelligence_fake_crawler", // インテリジェンス偽クローラー
"status": "on", // 有効
"config":{}, // 構成
"action": "deny" // 拒否
}]
ルールの分類 14:ボット機能検出
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | app_sdk | ルールのタイプ。値を app_sdk に設定します。 |
status | 文字列 | はい | on | ルールのステータス。値を on に設定します。 |
config | AppSdk | はい | {"featureAbnormal":["simulator","proxy","root","debugged","hook","virtual","antiReplay","signInvalid"],"customSignStatus":"on","customSign":{"key":"header","value":"ua"}} | ルールの構成。詳細については、ボット機能検出構成パラメーターを参照してください。 |
action | 文字列 | はい | monitor | ルールの操作。有効な値:deny および monitor。 |
ボット機能検出構成パラメーター
パラメーター | タイプ | 必須 | 例 | 説明 |
featureAbnormal | []文字列 | はい | simulator | signInvalid:アプリの署名が異常です。 |
customSignStatus | 文字列 | いいえ | on | カスタム署名フィールドを有効にするかどうかを指定します。有効な値:on および off。 |
customSign | CustomSign | いいえ | {"key":"header","value":"ua"} | カスタム署名フィールド。フォーマット: |
ボット機能検出構成の例:
[
{
"type": "app_sdk", // アプリ SDK
"status": "on", // 有効
"config": {"featureAbnormal":["simulator","proxy","root","debugged","hook","virtual","antiReplay","signInvalid"],"customSignStatus":"on","customSign":{"key":"header","value":"ua"}}, // 構成
"action": "monitor" // 監視
}
]
ルールの分類 15:高度な緩和(再パッケージ検出)
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | app_package | ルールのタイプ。値を app_package に設定します。 |
status | 文字列 | はい | on | ルールのステータス。値を on に設定します。 |
config | AppPackage | いいえ | {"packageSigns":[{"name":"aaaaa","sign":"bbbb"},{"name":"cccc","sign":"dddd"}]} | ルールの構成。詳細については、packageSigns パラメーターを参照してください。 |
action | 文字列 | はい | monitor | ルールの操作。有効な値:deny および monitor。 |
packageSigns パラメーター
パラメーター | タイプ | 必須 | 例 | 説明 |
name | 文字列 | はい | aaaaa | 正当なパッケージ名。 |
sign | 文字列 | いいえ | bbbb | パッケージ署名。 |
高度な緩和(再パッケージ検出)構成の例:
[
{
"type": "app_package", // アプリパッケージ
"status": "on", // 有効
"config": {"packageSigns":[{"name":"aaaaa","sign":"bbbb"},{"name":"cccc","sign":"dddd"}]}, // 構成
"action": "deny" // 拒否
}
]
Web ページまたはブラウザでのボット管理の組み合わせパラメーター構成の例
[
{
"type": "target_type", // ターゲットタイプ
"status": "on", // 有効
"config": // 構成
{
"target": "web" // Web
},
"action": "" // 操作
},
{
"type": "web_sdk", // Web SDK
"status": "on", // 有効
"config": // 構成
{
"mode": "automatic", // 自動
"crossDomain": "example.com" // クロスドメイン
},
"action": "" // 操作
},
{
"type": "traffic_feature", // トラフィック機能
"status": "on", // 有効
"config": // 構成
{
"conditions": // 条件
[
{
"key": "Header", // ヘッダー
"subKey": "User-Agent", // ユーザーエージェント
"opValue": "contain", // 含む
"values": "Chrome" // Chrome
},
{
"key": "IP", // IP
"subKey": "",
"opValue": "ip-contain", // IP を含む
"values": "192.168.0.1/24" // 192.168.0.1/24
}
]
},
"action": "" // 操作
},
{
"type": "intelligence_crawler", // インテリジェンスクローラー
"status": "on", // 有効
"config": // 構成
{
"name": "intelligence_crawler_baidu" // Baidu インテリジェンスクローラー
},
"action": "bypass" // バイパス
},
{
"type": "intelligence_crawler", // インテリジェンスクローラー
"status": "on", // 有効
"config": // 構成
{
"name": "intelligence_crawler_google" // Google インテリジェンスクローラー
},
"action": "bypass" // バイパス
},
{
"type": "js", // js
"status": "on", // 有効
"config": {}, // 構成
"action": "js" // js
},
{
"type": "sigchl", // 署名チャレンジ
"status": "on", // 有効
"config": // 構成
{
"sigchl": // 署名チャレンジ
[
"sig", // 署名
"replay", // リプレイ
"driver" // ドライバー
]
},
"action": "sigchl" // 署名チャレンジ
},
{
"type": "algorithm", // アルゴリズム
"status": "on", // 有効
"config": {}, // 構成
"action": "captcha" // キャプチャ
},
{
"type": "custom_cc_ip", // カスタム CC IP
"status": "on", // 有効
"config": // 構成
{
"interval": 20, // 間隔
"target": "IP", // IP
"threshold": 50, // しきい値
"ttl": 2800 // TTL
},
"action": "monitor" // 監視
},
{
"type": "custom_cc_ip", // カスタム CC IP
"status": "on", // 有効
"config": // 構成
{
"interval": 10, // 間隔
"target": "IP", // IP
"threshold": 30, // しきい値
"ttl": 1800 // TTL
},
"action": "monitor" // 監視
},
{
"type": "custom_cc", // カスタム CC
"status": "on", // 有効
"config": // 構成
{
"interval": 10, // 間隔
"target": "Query String Parameter", // クエリ文字列パラメーター
"subKey": "arg", // 引数
"threshold": 30, // しきい値
"ttl": 1800 // TTL
},
"action": "deny" // 拒否
},
{
"type": "custom_cc", // カスタム CC
"status": "on", // 有効
"config": // 構成
{
"interval": 10, // 間隔
"target": "Query String Parameter", // クエリ文字列パラメーター
"subKey": "arg", // 引数
"threshold": 30, // しきい値
"ttl": 1800 // TTL
},
"action": "captcha" // キャプチャ
},
{
"type": "intelligence", // インテリジェンス
"status": "on", // 有効
"config": {}, // 構成
"action": "captcha" // キャプチャ
},
{
"type": "intelligence_idc", // インテリジェンス IDC
"status": "on", // 有効
"config": // 構成
{
"name": "intelligence_idc_alibaba" // Alibaba インテリジェンス IDC
},
"action": "captcha" // キャプチャ
},
{
"type": "intelligence_idc", // インテリジェンス IDC
"status": "on", // 有効
"config": // 構成
{
"name": "intelligence_idc_tencent" // Tencent インテリジェンス IDC
},
"action": "captcha" // キャプチャ
},
{
"type": "intelligence_fake_crawler", // インテリジェンス偽クローラー
"status": "on", // 有効
"config": {}, // 構成
"action": "deny" // 拒否
}
]
アプリのボット管理の組み合わせパラメーター構成の例
[
{
"type": "target_type", // ターゲットタイプ
"status": "on", // 有効
"config": // 構成
{
"target": "app" // アプリ
},
"action": "" // 操作
},
{
"type": "traffic_feature", // トラフィック機能
"status": "on", // 有効
"config": // 構成
{
"conditions": // 条件
[
{
"key": "Header", // ヘッダー
"subKey": "User-Agent", // ユーザーエージェント
"opValue": "contain", // 含む
"values": "Chrome" // Chrome
},
{
"key": "IP", // IP
"subKey": "",
"opValue": "ip-contain", // IP を含む
"values": "192.168.0.1/24" // 192.168.0.1/24
}
]
},
"action": "" // 操作
},
{
"type": "custom_cc_ip", // カスタム CC IP
"status": "on", // 有効
"config": // 構成
{
"interval": 20, // 間隔
"target": "IP", // IP
"threshold": 50, // しきい値
"ttl": 2800 // TTL
},
"action": "monitor" // 監視
},
{
"type": "custom_cc_ip", // カスタム CC IP
"status": "on", // 有効
"config": // 構成
{
"interval": 10, // 間隔
"target": "IP", // IP
"threshold": 30, // しきい値
"ttl": 1800 // TTL
},
"action": "monitor" // 監視
},
{
"type": "custom_cc_dev", // カスタム CC デバイス
"status": "on", // 有効
"config": // 構成
{
"interval": 20, // 間隔
"target": "Header", // ヘッダー
"subKey": "aliwaf_wxbb_umid", // aliwaf_wxbb_umid
"threshold": 50, // しきい値
"ttl": 2800 // TTL
},
"action": "monitor" // 監視
},
{
"type": "custom_cc_dev", // カスタム CC デバイス
"status": "on", // 有効
"config": // 構成
{
"interval": 20, // 間隔
"target": "Header", // ヘッダー
"subKey": "aliwaf_wxbb_umid", // aliwaf_wxbb_umid
"threshold": 50, // しきい値
"ttl": 2800 // TTL
},
"action": "deny" // 拒否
},
{
"type": "custom_cc", // カスタム CC
"status": "on", // 有効
"config": // 構成
{
"interval": 10, // 間隔
"target": "Query String Parameter", // クエリ文字列パラメーター
"subKey": "arg", // 引数
"threshold": 30, // しきい値
"ttl": 1800 // TTL
},
"action": "monitor" // 監視
},
{
"type": "custom_cc", // カスタム CC
"status": "on", // 有効
"config": // 構成
{
"interval": 10, // 間隔
"target": "Query String Parameter", // クエリ文字列パラメーター
"subKey": "arg", // 引数
"threshold": 30, // しきい値
"ttl": 1800 // TTL
},
"action": "deny" // 拒否
},
{
"type": "app_sdk", // アプリ SDK
"status": "on", // 有効
"config": // 構成
{
"featureAbnormal": // 機能異常
[
"simulator", // シミュレーター
"proxy", // プロキシ
"root", // ルート
"debugged", // デバッグ済み
"hook", // フック
"virtual", // 仮想
"antiReplay", // アンチリプレイ
"signInvalid" // 署名無効
],
"customSignStatus": "on", // カスタム署名ステータス
"customSign": // カスタム署名
{
"key": "header", // ヘッダー
"value": "ua" // ua
}
},
"action": "monitor" // 監視
},
{
"type": "app_package", // アプリパッケージ
"status": "on", // 有効
"config": // 構成
{
"packageSigns": // パッケージ署名
[
{
"name": "aaaaa", // 名前
"sign": "bbbb" // 署名
},
{
"name": "cccc", // 名前
"sign": "dddd" // 署名
}
]
},
"action": "deny" // 拒否
}
]
シナリオ 7:スキャン保護(anti_scan)
ルールテンプレート
すべてのルールには、次の 4 つのパラメーターが含まれています。有効な値の詳細については、各ルールの分類の説明を参照してください。
パラメーター | タイプ | 必須 | 説明 |
type | 文字列 | はい | ルールのタイプ。詳細については、特定のルールの分類を参照してください。 |
status | 文字列 | いいえ | ルールのステータス。有効な値:on および off。 |
config | タイプ | いいえ | ルールの構成。詳細については、特定のルールの分類を参照してください。 |
action | 文字列 | いいえ | ルールの操作。詳細については、特定のルールの分類を参照してください。 |
ルールの分類 1:高頻度スキャンブロッキング
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | high_frequency | ルールのタイプ。値を high_frequency に設定します。 |
status | 文字列 | はい | on | ルールのステータス。有効な値:on および off。デフォルト値は on です。 |
config | HighFrequency | いいえ | {"target":"IP","interval":20,"wafBlockThreshold":20,"ttl":1800,"distinctWafRuleThreshold":2} | ルールの構成。詳細については、次の構造体文字列を参照してください。 |
action | 文字列 | いいえ | deny | ルールの操作。有効な値:deny および monitor。 |
HighFrequency パラメーター
パラメーター | タイプ | 必須 | 例 | 説明 |
target | 文字列 | はい | IP | レート制限統計のフィールド。有効な値:IP、Session、Header、Query String Parameter、および Cookie Name。 |
subKey | 文字列 | いいえ | yoursubKey | 統計フィールドのサブフィールド。このパラメーターは、カスタムフィールドを使用する場合に使用できます。たとえば、target が Header に設定されている場合、このパラメーターはヘッダーのキーを指定します。 |
interval | 整数 | はい | 20 | 検出期間。有効な値:5 ~ 1800。単位:秒。 |
wafBlockThreshold | 整数 | はい | 20 | 基本保護ルールがトリガーされる回数。有効な値:3 ~ 50000。 |
ttl | 整数 | はい | 1800 | ブロッキング期間。有効な値:60 ~ 86400。単位:秒。 |
distinctWafRuleThreshold | 整数 | はい | 2 | トリガーされたルールの数がこの値を超えています。有効な値:1 ~ 50。 |
[
{
"type":"high_frequency", // 高頻度
"status":"on", // 有効
"config":{"target":"IP","interval":20,"wafBlockThreshold":20,"ttl":1800,"distinctWafRuleThreshold":2}, // 構成
"action":"deny" // 拒否
}
]
ルールの分類 2:ディレクトリトラバーサルブロッキング
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | directory_traversal | ルールのタイプ。値を directory_traversal に設定します。 |
status | 文字列 | はい | on | ルールのステータス。有効な値:on および off。デフォルト値は on です。 |
config | DirectoryTraversal | いいえ | {"target":"IP","interval":10,"threshold":50,"status":{"code":"404","ratio":70,"count":50},"ttl":1800} | ルールの構成。詳細については、次の構造体文字列を参照してください。 |
action | 文字列 | いいえ | deny | ルールの操作。有効な値:denyおよび monitor。 |
DirectoryTraversal パラメーター
パラメーター | タイプ | 必須 | 例 | 説明 |
target | 文字列 | はい | IP | レート制限統計のフィールド。有効な値:IP、Session、Header、Query String Parameter、および Cookie Name。 |
subKey | 文字列 | いいえ | yoursubKey | 統計フィールドのサブフィールド。このパラメーターは、カスタムフィールドを使用する場合に使用できます。たとえば、target が Header に設定されている場合、このパラメーターはヘッダーのキーを指定します。 |
interval | 整数 | はい | 10 | 検出期間。有効な値:5 ~ 1800。単位:秒。 |
threshold | 整数 | はい | 50 | 現在の保護対象のリクエスト数がこの値を超えています。有効な値:2 ~ 50000。 |
status | RateLimitStatus | はい | {"code":"404","ratio":70,"count":50} | レスポンスコード。 |
ttl | 整数 | はい | 1800 | ブロッキング期間。有効な値:60 ~ 86400。単位:秒。 |
RateLimitStatus パラメーター
パラメーター | タイプ | 必須 | 例 | 説明 |
code | 文字列 | はい | 404 | HTTP ステータスコード。値を 404 に設定します。 |
ratio | 整数 | はい | 70 | 404 レスポンスの割合。有効な値:1 ~ 100。 |
count | 整数 | はい | 50 | 存在しないディレクトリの数。有効な値:2 ~ 50000。 |
[
{
"type":"directory_traversal", // ディレクトリトラバーサル
"status":"on", // 有効
"config":{"target":"IP","interval":10,"threshold":50,"status":{"code":"404","ratio":70,"count":50},"ttl":1800}, // 構成
"action":"deny" // 拒否
}
]
ルールの分類 3:スキャンツールブロッキング
パラメーター | タイプ | 必須 | 例 | 説明 |
type | 文字列 | はい | scan_tools | ルールのタイプ。値を scan_tools に設定します。 |
status | 文字列 | はい | on | ルールのステータス。有効な値:on および off。デフォルト値は on です。 |
config | ScanTools | いいえ | 空 | ルールの構成。このパラメーターは適用されません。 |
action | 文字列 | いいえ | deny | ルールの操作。有効な値:deny および monitor。 |
[
{
"type":"scan_tools", // スキャンツール
"status":"on", // 有効
"config":{}, // 構成
"action":"deny" // 拒否
}
]
最終的な組み合わせパラメーター
[
{
"type":"high_frequency", // 高頻度
"status":"on", // 有効
"config":{"target":"IP","interval":20,"wafBlockThreshold":20,"ttl":1800,"distinctWafRuleThreshold":2}, // 構成
"action":"deny" // 拒否
},
{
"type":"directory_traversal", // ディレクトリトラバーサル
"status":"on", // 有効
"config":{"target":"IP","interval":10,"threshold":50,"status":{"code":"404","ratio":70,"count":50},"ttl":1800}, // 構成
"action":"deny" // 拒否
},
{
"type":"scan_tools", // スキャンツール
"status":"on", // 有効
"config":{}, // 構成
"action":"deny" // 拒否
}
]
レスポンスパラメーター
|
パラメーター |
タイプ |
説明 |
例 |
|
object |
|||
| RequestId |
string |
リクエスト ID。 |
CB1A380B-09F0-41BB-280B-72F8FD6DA2FE |
| RuleIds |
object |
||
| RuleId |
array |
||
|
string |
作成されたルールの ID。 |
100001,200002 |
例
成功レスポンス
JSONJSON
{
"RequestId": "CB1A380B-09F0-41BB-280B-72F8FD6DA2FE",
"RuleIds": {
"RuleId": [
"100001,200002"
]
}
}
エラーコード
|
HTTP ステータスコード |
エラーコード |
エラーメッセージ |
説明 |
|---|---|---|---|
| 400 | InvalidParameter | The specified parameter is invalid. | |
| 400 | Policy.NotExist | The specified policy does not exist. | |
| 400 | RuleConfigs.Malformed | The specified RuleConfigs format is invalid. | |
| 400 | RuleName.AlreadyExists | Rule name already exists in specified policy. | |
| 400 | Rule.QuantityOverflow | Rules are overflowed quantity in specified policy. | |
| 500 | InternalError | An internal error occurred; please try again later. | |
| 403 | %s.NotSupport | The specified resource type %s is not supported. | |
| 403 | %s.OverQuota | The quantity of %s exceeds the quota. |
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。