Modifiesルールの特定WAF保護モジュール、などweb侵入防止、データセキュリティ、高度な保護、ボット管理、アクセス制御や絞り、またはウェブサイトホワイトリストモジュール。
使用上の注意
You ModifyProtectionModuleRule呼び出すことができます特定のルール変更操作WAF保護モジュール。 The保護モジュールはweb侵入防止、データセキュリティ、高度な保護、ボット管理、アクセス制御や絞り、とウェブサイトホワイトリスト。 Youを設定することができDefenseTypeパラメータを指定する保護モジュール。 このパラメーターの値の詳細については、DefenseTypeパラメーターの説明をご参照ください。
QPS制限
この操作は、アカウントごとに1秒あたり最大10回呼び出すことができます。 1秒あたりの呼び出し数が制限を超えると、スロットリングがトリガーされます。 その結果、あなたのビジネスが影響を受ける可能性があります。 この操作を呼び出すときは、制限に注意することをお勧めします。
デバッグ
リクエストパラメーター
パラメーター | データ型 | 必須/任意 | 例 | 説明 |
---|---|---|---|---|
操作 | String | 必須 | ModifyProtectionModuleRule |
実行する操作です。 Set値にModifyProtectionModuleRule |
ドメイン | String | 必須 | www.example.com |
Theドメイン名を変更したいルール。 注 DescribeDomainNames操作を呼び出して、WAFによって保護されているドメイン名を照会できます。
|
DefenseType | String | 必須 | ac_custom |
The保護モジュールそのルール変更したい。 設定可能な値は以下のとおりです。
|
Rule | String | 必須 | null |
ルールの設定。 値はJSON構造体で構成される文字列です。 The JSON構造体が複数のパラメータ。 注 Theパラメータ含まれている文字列によって異なり保護モジュール、によって指定されDefenseTypeパラメータ。 詳細については、このトピックの「ルールパラメーターの説明」を参照してください。
|
RuleId | Long | 必須 | 369998 |
変更するルールのID。 注 DescribeProtectionModuleRulesを呼び出して、既存のルールのIDを照会できます。
|
LockVersion | Long | 必須 | 2 |
Theバージョンのルール変更したい。 注 DescribeProtectionModuleRulesを呼び出して、既存のルールのバージョンを照会できます。
|
InstanceId | String | 必須 | waf-cn-0xldbqt **** |
WAFインスタンスのID。 注 DescribeInstanceInfo操作を呼び出して、WAFインスタンスのIDを照会できます。
|
- DefenseTypeパラメーターがtamperproofに設定されている場合、Ruleパラメーターの値は次のパラメーターで構成されます。
- uri: 保護するURL。 このパラメーターは必須です。 データ型: 文字列。
- name: ルールの名前。 このパラメーターは必須です。 Data type: string.
- status: ルールのステータス。 このパラメーターはオプションです。 データ型: 整数。 設定可能な値は以下のとおりです。
- 0: ルールを無効にします。 デフォルト値です。
- 1: ルールを有効にします。
- 例
{ "name":"example" 、 "uri":"http://www.example.com/example", "status":1 }
- DefenseTypeパラメーターがdIpに設定されている場合、Ruleパラメーターの値は次のパラメーターで構成されます。
- name: ルールの名前。 このパラメーターは必須です。 データ型: 文字列。
- conditions: WAFが機密データを検索して保護する条件。 最大2つの条件を指定できます。 2つの条件はJSON文字列として指定され、and論理関係にある必要があります。 このパラメーターは必須です。
データ型: 配列。 JSON文字列は、次のパラメーターで構成されます。
- key: 一致アイテム。 設定可能な値は以下のとおりです。
- 0: URL
- 10: 機密データ
-
11: HTTPステータスコード注 conditionsパラメーターの一致項目として、HTTPステータスコード (11) と機密データ (10) を同時に指定することはできません。
- operation: 一致ロジック。 値を1に設定します。これは、INCLUDESの論理関係を示します。
- value: 一致値。JSON文字列で定式化されています。 複数の値を指定できます。 JSON文字列は、次のパラメーターで構成されます。
- v: このパラメーターは、keyパラメーターが0または11に設定されている場合にのみ有効です。
- URL:
key
パラメーターが0に設定されている場合、vパラメーターの値はURLです。 - HTTPステータスコード:
key
パラメーターが11に設定されている場合、vパラメーターの有効な値は400、401、402、403、404、405〜499、500、501、502、503、504、505〜599です。
- URL:
- k: このパラメーターは、keyパラメーターが10に設定されている場合にのみ有効です。 設定可能な値は以下のとおりです。
- 100: IDカード番号
- 101: クレジットカード番号
- 102: 電話番号
- 103: デフォルトの機密単語
- v: このパラメーターは、keyパラメーターが0または11に設定されている場合にのみ有効です。
- key: 一致アイテム。 設定可能な値は以下のとおりです。
- action: ルールが一致した後に実行されるアクション
- 3: アラートを生成します。
- 10: 機密データをフィルタリングします。 このアクションは、
key
パラメーターが10に設定されている場合にのみ有効です。 - 11: システムの組み込みブロックページを返します。 このアクションは、
key
パラメーターが11に設定されている場合にのみ有効です。
- 例
{ "name":"example" 、 "conditions":[{"key":11,"operation":1,"value":[{"v":401}]}},{"key":"0","operation":1,"value":[{"v":"www.example.com"}]}] 、 "アクション":3 }
- DefenseTypeパラメーターがng_accountに設定されている場合、Ruleパラメーターの値は次のパラメーターで構成されます。
- url_path: 検出されたリクエストのurlパス。 パスはスラッシュ (/) で始まる必要があります。 このパラメーターは必須です。 データ型: 文字列。
- method: 検出されたリクエストのメソッド。 このパラメーターは必須です。 データ型: 文字列。 有効な値: POST、GET、PUT、およびDELETE。 複数のリクエストメソッドを指定できます。 リクエストメソッドはコンマ (,) で区切ります。
- account_left: アカウント。 このパラメーターは必須です。 データ型: 文字列。
- password_left: パスワード。 このパラメーターはオプションです。 データ型: 文字列。
- action: ルールが一致した後に実行されるアクション。 このパラメーターは必須です。 データ型: 文字列。 設定可能な値は以下のとおりです。
- monitor: アラートを生成します。
- block: リクエストをブロックします。
- 例
{ "url_path":"/example" 、 "method":"POST、GET、PUT、DELETE" 、 "account_left":"aaa" 、 "password_left:" 123 "、 "アクション":"モニター" }
- DefenseTypeパラメーターがbot_intelligenceに設定されている場合、Ruleパラメーターの値は次のパラメーターで構成されます。
- name: ルールの名前。ルールのID (RuleId) と一致する必要があります。 このパラメーターは必須です。 データ型: 文字列。
- urlList: 保護するURLパス。 最大10個の保護URLパスを指定できます。 データ型: 配列。 値は、次のパラメーターで構成されるJSON文字列です。
- mode: matchメソッド。 このパラメーターは、URLパラメーターと組み合わせてurlパスを指定します。 このパラメーターは必須です。 データ型: 文字列。 有効な値: eq (完全一致) 、prefix-match (prefix match) 、およびregex (正規表現一致) 。
- url: URLパスのキーワード。 パスはスラッシュ (/) で始まる必要があります。 このパラメーターは必須です。 データ型: 文字列。
- action: ルールが一致した後に実行されるアクション。 このパラメーターは必須です。 データ型: 文字列。 設定可能な値は以下のとおりです。
- monitor: リクエストを監視します。
- captcha: 一般的なスライダーCAPTCHA検証を実行します。
- captcha_strict: 厳密なスライダーCAPTCHA検証を実行します。
- js: JavaScript検証を実行します。
- block: リクエストをブロックします。
- status: ルールのステータス。 このパラメーターは必須です。 データ型: 整数。 設定可能な値は以下のとおりです。
- 0: ルールを無効にします。
- 1: ルールを有効にします。
- 例
{ "urlList":[ {"mode":"prefix-match" 、"url":"/indexa"} 、 {"mode":"regex" 、"url":"/"} 、 {"mode":"eq" 、"url":"/"}] 、 "name":"IDC IPアドレスライブラリ-Tencent Cloud" 、 "action":"captcha_strict" 、 "status":1 }
- DefenseTypeパラメーターがbot_algorithmに設定されている場合、Ruleパラメーターの値は次のパラメーターで構成されます。
- name: ルールの名前。 このパラメーターは必須です。 データ型: 文字列。
- algorithmName: アルゴリズムの名前。 このパラメーターは必須です。 データ型: 文字列。 設定可能な値は以下のとおりです。
- RR: 特別なリソースクローラーを識別するために使用されるアルゴリズム
- PR: 特定のパスクローラーを識別するために使用されるアルゴリズム
- DPR: パラメーターのラウンドロビンクローラーを識別するために使用されるアルゴリズム
- SR: 動的IPアドレスクローラーを識別するために使用されるアルゴリズム
- IND: プロキシデバイスクローラーを識別するために使用されるアルゴリズム
- Periodicity: 周期的なクローラーを識別するために使用されるアルゴリズム
- timeInterval: 検出の間隔。 このパラメーターは必須です。 データ型: 整数。 有効な値: 30、60、120、300、600 (単位:秒)
- action: ルールが一致した後に実行されるアクション。 このパラメーターは必須です。 データ型: 文字列。 設定可能な値は以下のとおりです。
- monitor: リクエストを監視します。
- captcha: スライダーCAPTCHA検証を実行します。
- js: JavaScript検証を実行します。
- block: リクエストをブロックします。 アクションパラメーターをblockに設定する場合は、blocktimeパラメーターも指定する必要があります。
- blocktime: リクエストがブロックされる期間。 このパラメーターはオプションです。 データ型: 整数。 有効な値: 1 ~ 600 単位: 分。
- config: アルゴリズムの設定。JSON文字列で定式化されています。 このパラメーターは必須です。 データ型: 文字列。 JSON文字列に含まれるパラメーターは、algorithmNameパラメーターの値によって異なります。
- algorithmNameパラメーターをRRに設定した場合、configパラメーターの値は次のパラメーターで構成されます。
- resourceType: 要求されたリソースのタイプ。 このパラメーターはオプションです。 データ型: 整数。 設定可能な値は以下のとおりです。
- 1: 動的リソース
- 2: 静的リソース
- -1: カスタムリソース。 この場合、extensionsパラメーターを使用して、文字列でリソースサフィックスを指定する必要もあります。 サフィックスはコンマ (,) で区切ります。 例:
css,jpg,xls
- minRequestCountPerIp: IPアドレスからのリクエストの最小数。 WAFは、このIPアドレスからのリクエスト数がこのパラメーターの値以上の場合にのみ、IPアドレスを検出します。 このパラメーターは必須です。 データ型: 整数。 このパラメータは、アクセス要求の最小数を指定します。 有効な値: 5 ~ 10000
- minRatio: IPアドレスから開始されるリクエストのうち、指定されたタイプのリソースにアクセスするリクエストの割合のしきい値。 この閾値は、リスクが存在するか否かを判定する。 実際の割合がしきい値よりも大きい場合、リスクが存在します。 このパラメーターは必須です。 データ型: float。 有効な値: 1に0.01ます。
- resourceType: 要求されたリソースのタイプ。 このパラメーターはオプションです。 データ型: 整数。 設定可能な値は以下のとおりです。
- algorithmNameパラメーターをPRに設定した場合、configパラメーターの値は次のパラメーターで構成されます。
- keyPathConfiguration: リクエストされたURLパス。 最大10個のURLパスを指定できます。 このパラメーターは、algorithmNameパラメーターがPRに設定されている場合にのみ必要です。
このパラメーターはオプションです。 データ型: 配列。 このパラメーターは、次のパラメーターで構成されるJSON文字列です。
- method: リクエストメソッド。 このパラメーターは必須です。 データ型: 文字列。 有効な値: POST、GET、PUT、DELETE、HEAD、OPTIONS。
- url: URLパスのキーワード。 パスはスラッシュ (/) で始まる必要があります。 このパラメーターは必須です。 データ型: 文字列。
- matchType: matchメソッド。 このパラメーターは、URLパラメーターと組み合わせて、要求されたurlパスを指定します。 このパラメーターは必須です。 データ型: 文字列。 有効な値: all (完全一致) 、prefix (prefix match) 、およびregex (正規表現一致) 。
- minRequestCountPerIp: IPアドレスからのリクエストの最小数。 WAFは、このIPアドレスからのリクエスト数がこのパラメーターの値以上の場合にのみ、IPアドレスを検出します。 このパラメーターは必須です。 データ型: 整数。 このパラメータは、アクセス要求の最小数を指定します。 有効な値: 5 ~ 10000
- minRatio: IPアドレスから開始されたリクエストのうち、指定されたURLパスにアクセスするリクエストの割合のしきい値。 この閾値は、リスクが存在するか否かを判定する。 実際の割合がしきい値よりも大きい場合、リスクが存在します。 このパラメーターは必須です。 データ型: float。 有効な値: 1に0.01ます。
- keyPathConfiguration: リクエストされたURLパス。 最大10個のURLパスを指定できます。 このパラメーターは、algorithmNameパラメーターがPRに設定されている場合にのみ必要です。
このパラメーターはオプションです。 データ型: 配列。 このパラメーターは、次のパラメーターで構成されるJSON文字列です。
- algorithmNameパラメーターをDPRに設定した場合、configパラメーターの値は次のパラメーターで構成されます。
- method: リクエストメソッド。 このパラメーターは必須です。 データ型: 文字列。 有効な値: POST、GET、PUT、DELETE、HEAD、OPTIONS。
- urlPattern: キーパラメーターのパス。 パスはスラッシュ (/) で始まる必要があります。 このパラメーターは必須です。 データ型: 文字列。 複数のキーパラメーターを指定し、各パラメーターを中かっこ
{} のペアで囲むことができます。 例:
/company/{}/{}/{}/user.php?uid ={}
- minRequestCountPerIp: IPアドレスからのリクエストの最小数。 WAFは、このIPアドレスからのリクエスト数がこのパラメーターの値以上の場合にのみ、IPアドレスを検出します。 このパラメーターは必須です。 データ型: 整数。 このパラメータは、アクセス要求の最小数を指定します。 有効な値: 5 ~ 10000
- minRatio: IPアドレスから開始されるリクエストで、指定したキーパラメーターを使用するリクエストの割合のしきい値。 この閾値は、リスクが存在するか否かを判定する。 実際の割合がしきい値よりも大きい場合、リスクが存在します。 このパラメーターは必須です。 データ型: float。 有効な値: 1に0.01ます。
- algorithmNameパラメーターをSRに設定した場合、configパラメーターの値は次のパラメーターで構成されます。
- maxRequestCountPerSrSession: 各セッションのリクエストの最小数。 1つのセッション内のリクエスト数がこのパラメーターの値より小さい場合、セッションは異常と見なされます。 このパラメーターは必須です。 データ型: 整数。 有効値: 1~8。
- minSrSessionCountPerIp: IPアドレスから開始されるリクエストの異常セッション数のしきい値。 しきい値は、リスクが存在するかどうかを判断するために使用されます。 実際の数がしきい値より大きい場合、リスクが存在します。 このパラメーターは必須です。 データ型: 整数。 有効な値: 5 ~ 300
- algorithmNameパラメーターをINDに設定した場合、configパラメーターの値は次のパラメーターで構成されます。
- minIpCount: Wi-Fi接続デバイスがアクセスするIPアドレス数のしきい値。 このパラメータは、悪意のあるデバイスを識別するために使用される条件を指定します。 実際の数がしきい値より大きい場合、リスクが存在します。 このパラメーターは必須です。 データ型: 整数。 有効な値: 5 ~ 500
- keyPathConfiguration: リクエストされたURLパス。 最大10個のURLパスを指定できます。 このパラメーターはオプションです。 データ型: 配列。 このパラメーターは、次のパラメーターで構成されるJSON文字列です。
- method: リクエストメソッド。 このパラメーターは必須です。 データ型: 文字列。 有効な値: POST、GET、PUT、DELETE、HEAD、OPTIONS。
- url: URLパスのキーワード。 パスはスラッシュ (/) で始まる必要があります。 このパラメーターは必須です。 データ型: 文字列。
- matchType: matchメソッド。 このパラメーターは、URLパラメーターと組み合わせて、要求されたurlパスを指定します。 このパラメーターは必須です。 データ型: 文字列。 有効な値: all (完全一致) 、prefix (prefix match) 、およびregex (正規表現一致) 。
- algorymNameパラメーターをPeriodicityに設定した場合、configパラメーターの値は次のパラメーターで構成されます。
- minRequestCountPerIp: IPアドレスからのリクエストの最小数。 WAFは、このIPアドレスからのリクエスト数がこのパラメーターの値以上の場合にのみ、IPアドレスを検出します。 このパラメーターは必須です。 データ型: 整数。 このパラメータは、アクセス要求の最小数を指定します。 有効な値: 5 ~ 10000
- level: リスクレベル。これは、IPアドレスからの定期的なアクセスの自明性の程度です。 このパラメーターは必須です。 データ型: 整数。 設定可能な値は以下のとおりです。
- 0: 明らか
- 1: 中程度
- 2: 弱い
- algorithmNameパラメーターをRRに設定した場合、configパラメーターの値は次のパラメーターで構成されます。
- 例
{ "name": "プロキシデバイスのクローラー識別" 、 "algorithmName":"IND" 、 "timeInterval":"60" 、 "アクション":"警告" 、 "config":{ "minIpCount":5、 "keyPathConfiguration":[{"url":"/index","method":"GET","matchType":"prefix"}] } }
- DefenseTypeパラメーターがbot_wxbb_pkgに設定されている場合、Ruleパラメーターの値は次のパラメーターで構成されます。
- name: ルールの名前。 このパラメーターは必須です。 データ型: 文字列。
- action: ルールが一致した後に実行されるアクション。 このパラメーターは必須です。 データ型: 文字列。 設定可能な値は以下のとおりです。
- test: リクエストを監視します。
- close: リクエストをブロックします。
- nameList: 有効なパッケージのバージョン情報。 最大5つの有効なパッケージのバージョン情報を指定できます。 このパラメーターは必須です。 データ型: 配列。 値は、次のパラメーターで構成されるJSON文字列です。
- name: 有効なパッケージの名前。 このパラメーターは必須です。 データ型: 文字列。
- signList: パッケージの署名。 最大15個の署名を指定できます。 複数ある場合、コンマ (,) で区切ります。 このパラメーターは必須です。 データ型: 配列。
- 例
{ "name":"test", "action":"close" 、 "nameList":[{ "name":"apk-xxxx" 、 "signList":["xxxxxx","xxxxx","xxxx","xx"] }] }
- DefenseTypeパラメーターがbot_wxbbに設定されている場合、Ruleパラメーターの値は次のパラメーターで構成されます。
- name: ルールの名前。 このパラメーターは必須です。 データ型: 文字列。
- url: 保護が必要なURLパス。 パスはスラッシュ (/) で始まる必要があります。 このパラメーターは必須です。 データ型: 文字列。
- matchType: matchメソッド。 このパラメーターは必須です。 データ型: 文字列。 有効な値: all (完全一致) 、prefix (prefix match) 、regex (regular match) 。
- arg: 含まれるパラメーター。 このパラメーターは、matchTypeパラメーターと組み合わせてURLパスを指定します。 このパラメーターは必須です。 データ型: 文字列。
- action: ルールが一致した後に実行されるアクション。 このパラメーターは必須です。 データ型: 文字列。 設定可能な値は以下のとおりです。
- test: リクエストを監視します。
- close: リクエストをブロックします。
- hasTag: カスタム署名フィールドを追加するかどうかを指定します。 このパラメーターは必須です。 データ型:Boolean
- true: この場合、wxbbVmpFieldTypeおよびwxbbVmpFieldValueパラメーターを設定して、フィールドのタイプと値を指定する必要があります。
- false:
- wxbbVmpFieldType: 署名フィールドのタイプ。 このパラメーターはオプションです。 データ型: 整数。 hasTagパラメーターをtrueに設定した場合、このパラメーターも指定する必要があります。 設定可能な値は以下のとおりです。
- 0: ヘッダー
- 1: パラメータ
- 2: クッキー
- wxbbVmpFieldValue: 署名フィールドの値。 このパラメーターはオプションです。 データ型: 文字列。 hasTagパラメーターをtrueに設定した場合、このパラメーターも指定する必要があります。
- blockInvalidSign: 無効な署名に対してアクションを実行するかどうかを指定します。 このパラメーターは必須です。 データ型: 整数。 値を1に設定します。 値1は、パス保護のデフォルト保護ポリシーが有効になっていることを示します。
- blockProxy: プロキシでアクションを実行するかどうかを指定します。 このパラメーターはオプションです。 データ型: 整数。 値を1に設定します。 プロキシでアクションを実行する必要がない場合は、このパラメーターを指定しないままにすることができます。
- blockSimulator: シミュレータでアクションを実行するかどうかを指定します。 このパラメーターはオプションです。 データ型: 整数。 値を1に設定します。 シミュレータでアクションを実行する必要がない場合は、このパラメータを指定しないままにすることができます。
- 例
{ "name":"test", "uri":"/index" 、 "matchType":"すべて" 、 "arg":"test" 、 "action":"close" 、 "hasTag":true、 "wxbbVmpFieldType":2、 "wxbbVmpFieldValue":"test" 、 "blockInvalidSign":1、 "blockProxy":1 }
- DefenseTypeパラメーターが不正行為防止に設定されている場合、Ruleパラメーターの値は次のパラメーターで構成されます。
- uri: リクエストされたURL。 このパラメーターは必須です。 データ型: 文字列。
- 例
{ "uri": "http://1.example.com/example" }
- DefenseTypeパラメーターがantifraf_jsに設定されている場合、Ruleパラメーターの値は次のパラメーターで構成されます。
- uri: データリスク管理用のJavaScriptプラグインを挿入するwebページのURLパス。 パスはスラッシュ (/) で始まる必要があります。 WAFは、指定されたURLパスのすべてのwebページにJavaScriptプラグインを挿入します。 このパラメーターは必須です。 データ型: 文字列。
- 例
{ "uri": "/example/example" }
- DefenseTypeパラメーターがac_blacklistに設定されている場合、Ruleパラメーターの値は次のパラメーターで構成されます。
- remoteAddr: ブラックリストのIPアドレス。 このパラメーターはオプションです。 データ型: 配列。 IPアドレスとCIDRブロックの両方を入力できます。 IP アドレスが複数ある場合はカンマ (,) で区切ります。 最大200個のIPアドレスを入力できます。 このパラメーターを指定しないと、WAFはブラックリストをクリアします。
- area: リージョンレベルのIPアドレスブラックリストのリージョン。 このパラメーターはオプションです。 データ型: 配列。 このパラメーターは、JSON配列で構成される文字列です。
JSON配列の各要素は、次のフィールドで構成されるJSON構造体です。
- countryCodes: 国のコード。 このパラメーターは必須です。 データ型: 配列。 このパラメーターを
["CN"]
に設定すると、WAFは中国の管理リージョンからのリクエストをブロックします。また、regionCodesパラメーターも指定する必要があります。 このパラメーターを["CN"]
以外の値に設定すると、WAFは中国以外の国や地域からのリクエストをブロックします。regionCodesパラメーターを指定する必要はありません。 DescribeProtectionModuleCodeConfig操作を呼び出して、中国国内の管理リージョンのコードと、中国以外の国および地域のコードを照会できます。 - regionCodes: 中国国内の行政区域のコード。 このパラメーターはオプションです。 データ型: 配列。
- countryCodes: 国のコード。 このパラメーターは必須です。 データ型: 配列。 このパラメーターを
- 例
{ "remoteAddr": [ "1.XX. XX.1" 、 「2.XX。XX.2」 ], "area": [ { "countryCodes": [ 「CN」 ], "regionCodes": [ "310000" 、 「530000」 ] }, { "countryCodes": [ "AD" 、 「AL」 ] } ] }
- DefenseTypeパラメーターがac_highfreqに設定されている場合、Ruleパラメーターの値は次のパラメーターで構成されます。
- interval: 検出の間隔。 このパラメーターは必須です。 データ型: 整数。 有効な値: 5 ~ 1800 (単位:秒)
- ttl: IPアドレスがブロックされている期間。 このパラメーターは必須です。 データ型: 整数。 有効値: 60 ~ 86400 (単位:秒)
- count: IPアドレスから開始されたweb攻撃の数のしきい値。 指定された期間にIPアドレスから開始された攻撃の数がしきい値を超えた場合、IPアドレスはブロックされます。 このパラメーターは必須です。 データ型: 整数。 有効な値: 2 ~ 50000
- 例
{ "interval":60、 "ttl":300、 「カウント」: 60 }
- DefenseTypeパラメーターがac_dirscanに設定されている場合、Ruleパラメーターの値は次のパラメーターで構成されます。
- interval: 検出の間隔。 このパラメーターは必須です。 データ型: 整数。 有効な値: 5 ~ 1800 (単位:秒)
- ttl: IPアドレスがブロックされている期間。 このパラメーターは必須です。 データ型: 整数。 有効値: 60 ~ 86400 (単位:秒)
- count: IPアドレスから許可されるリクエストの最大数。 このパラメーターは必須です。 データ型: 整数。 有効な値: 2 ~ 50000
- weight: すべてのリクエストに含まれるHTTP 404ステータスコードを持つリクエストの割合。 このパラメーターは必須です。 データ型: float。 有効な値は 0~1 です。
- uriNum: スキャンできるパスの最大数。 このパラメーターは必須です。 データ型: 整数。 有効な値: 2 ~ 50000
- 例
{ "interval":10、 "ttl":1800、 "count":50、 "重量":0.7、 "uriNum":20 }
- DefenseTypeパラメーターがac_customに設定されている場合、Ruleパラメーターの値はsceneパラメーターによって異なります。
- ACLルールを変更するには、sceneパラメーターをcustom_aclに設定します。 Ruleパラメーターの値は、次のパラメーターで構成されます。
- name: ルールの名前。 このパラメーターは必須です。 データ型: 文字列。
- scene: 保護ポリシーのタイプ。 このパラメーターは必須です。 データ型: 文字列。 ACLルールが設定されている場合は、値をcustom_aclに設定します。
- action: ルールが一致した後に実行されるアクション。 このパラメーターは必須です。 データ型: 文字列。 設定可能な値は以下のとおりです。
- monitor: リクエストを監視します。
- captcha: 一般的なスライダーCAPTCHA検証を実行します。
- captcha_strict: 厳密なスライダーCAPTCHA検証を実行します。
- js: JavaScript検証を実行します。
- block: リクエストをブロックします。
- conditions: 一致条件。 最大5つの一致条件を指定できます。 このパラメーターは必須です。 データ型: 配列。 値は、次のパラメーターで構成されるJSON文字列です。
- key: 一致アイテム。 値の値は、URL、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header、URLPathです。
- opCode: 論理演算子。 設定可能な値は以下のとおりです。
- 0: 含まれていない、または属していない
- 1: に含まれるか、または属します
- 2: 存在しません
- 10: 等しくない
- 11: equals
- 20: 長さより小さい
- 21: 長さに等しい
- 22: 長さより大きい
- 30: 値未満
- 31: 値と等しい
- 32: より大きい値
-
values: 一致する値。 このパラメーターは、ビジネス要件に基づいて指定できます。 データ型: 文字列。注 一致条件のopCodeパラメーターとvaluesパラメーターの有効な値は、keyパラメーターによって異なります。 一致条件の詳細については、「一致条件のフィールド」をご参照ください。
- 例
{ "アクション":"モニター" 、 "name":"test", "scene":"custom_acl" 、 "conditions":[{"opCode":1,"key":"URL","values":"/example"}] }
- HTTPフラッド保護ルールを変更するには、sceneパラメーターをcustom_aclに設定します。 Ruleパラメーターの値は、次のパラメーターで構成されます。
- name: ルールの名前。 このパラメーターは必須です。 データ型: 文字列。
- scene: 保護ポリシーのタイプ。 このパラメーターは必須です。 データ型: 文字列。 HTTPフラッド保護ルールが設定されている場合は、値をcustom_ccに設定します。
- conditions: 一致条件。 最大5つの一致条件を指定できます。 このパラメーターは必須です。 データ型: 配列。 値は、次のパラメーターで構成されるJSON文字列です。
- key: 一致アイテム。 値の値: URL、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header、URLPath。
- opCode: 論理演算子。 設定可能な値は以下のとおりです。
- 0: 含まれていない、または属していない
- 1: に含まれるか、または属します
- 2: 存在しません
- 10: 等しくない
- 11: equals
- 20: 長さより小さい
- 21: 長さに等しい
- 22: 長さより大きい
- 30: 値未満
- 31: 値と等しい
- 32: より大きい値
-
values: 一致する値。 このパラメーターは、ビジネス要件に基づいて指定できます。 データ型: 文字列。注 一致条件のopCodeパラメーターとvaluesパラメーターの有効な値は、keyパラメーターによって異なります。
- action: ルールが一致した後に実行されるアクション。 このパラメーターは必須です。 データ型: 文字列。 設定可能な値は以下のとおりです。
- monitor: リクエストを監視します。
- captcha: スライダーCAPTCHA検証を実行します。
- captcha_strict: 厳密なスライダーCAPTCHA検証を実行します。
- js: JavaScript検証を実行します。
- block: リクエストをブロックします。
- ratelimit: オブジェクトからのリクエストの最大レート。 このパラメーターは必須です。 データ型: JSON文字列。 値は、次のパラメーターで構成されるJSON文字列です。
- target: リクエストレートが測定されるオブジェクトのタイプ。 このパラメーターは必須です。 データ型: 文字列。 設定可能な値は以下のとおりです。
- remote_addr: IPアドレス。
- cookie.acw_tc: セッション。
- queryarg: カスタムパラメータ。 カスタムパラメーターを使用する場合は、subkeyパラメーターでカスタムパラメーターの名前を指定する必要があります。
- cookie: カスタムクッキー。 カスタムcookieを使用する場合は、subkeyパラメーターでcookieの内容を指定する必要があります。
- header: カスタムヘッダー。 カスタムヘッダーを使用する場合は、subkeyパラメーターでヘッダーの内容を指定する必要があります。
- subkey: このパラメーターは、targetパラメーターをcookie、header、またはqueryargに設定した場合にのみ必要です。 subkeyパラメーターはオプションです。 データ型: 文字列。
- interval: 指定されたオブジェクトからのリクエスト数を測定する期間。 このパラメーターは、thresholdパラメーターと一緒に使用する必要があります。 このパラメーターは必須です。 データ型: 整数。 (単位:秒)
- threshold: 指定された期間中に個々のオブジェクトから許可されるリクエストの最大数。 このパラメーターは必須です。 データ型: 整数。
- status: HTTPステータスコードの頻度。 このパラメーターはオプションです。 データ型: JSON文字列。 値は、次のパラメーターで構成されるJSON文字列です。
- code: HTTPステータスコード。 このパラメーターは必須です。 データ型: 整数。
- count: 指定されたHTTPステータスコードが返される回数のしきい値。 閾値は、ルールが一致するかどうかを判定するために使用される。 実際の数値がしきい値より大きい場合、nameパラメーターで指定されたルールが一致します。 このパラメーターはオプションです。 データ型: 整数。 有効な値: 1 ~ 999999999 countまたはratioパラメーターを設定できます。 両方のパラメーターを同時に設定することはできません。
- ratio: 指定されたHTTPステータスコードが返される回数のしきい値。 閾値は、ルールが一致するかどうかを判定するために使用される。 実際のパーセンテージがしきい値より大きい場合、nameパラメーターで指定されたルールが一致します。 このパラメーターはオプションです。 データ型: 整数。 Valid values: 1 to 100. countまたはratioパラメーターを設定できます。 両方のパラメーターを同時に設定することはできません。
- scope: 設定が有効になるスコープ。 このパラメーターは必須です。 データ型: 文字列。 設定可能な値は以下のとおりです。
- rule: 指定された条件に一致するオブジェクト
- domain: ルールが適用されるドメイン名
- ttl: 指定されたアクションが実行される期間。 このパラメーターは必須です。 データ型: 整数。 有効値: 60 ~ 86400 (単位:秒)
- 例
{ "name":"HTTPフラッド保護ルール" 、 "conditions":[{"opCode":1,"key":"URL","values":"/example"}] 、 "action":"block" 、 "scene":"custom_cc" 、 "ratelimit":{ "target": "remote_addr" 、 "interval": 300、 "threshold": 2000、 "status": { "code": 404、 "count": 200 }, "scope": "rule" 、 "ttl": 1800 } }
- target: リクエストレートが測定されるオブジェクトのタイプ。 このパラメーターは必須です。 データ型: 文字列。 設定可能な値は以下のとおりです。
- ACLルールを変更するには、sceneパラメーターをcustom_aclに設定します。 Ruleパラメーターの値は、次のパラメーターで構成されます。
- DefenseTypeパラメーターがwhitelistに設定されている場合、Ruleパラメーターの値は次のパラメーターで構成されます。
- name: ルールの名前。 このパラメーターは必須です。 データ型: 文字列。
-
tags: リクエストをチェックしない保護モジュール。 このパラメーターは必須です。 データ型: 配列。 tagsパラメーターの値は、ホワイトリストのタイプによって異なります。注 tagsパラメーターの値には、特定のホワイトリストにリストされている値のみを含めることができます。 たとえば、tagsパラメーターの値にregularとccの両方を含めることはできません。 これは、通常がweb侵入防止モジュールのホワイトリストに属し、ccがアクセス制御またはスロットリングモジュールのホワイトリストに属しているためです。
- グローバルホワイトリストを設定するには、tagsパラメーターを次の値に設定します。
- waf: 要求はすべての保護モジュールをバイパスします。
- web侵入防止モジュールのホワイトリストを設定するには、tagsパラメーターを次の1つ以上の値に設定します。
- regular: リクエストは保護ルールエンジンモジュールをバイパスします。 リクエストはすべての保護ルールをバイパスします。
- regular_rule: リクエストは、保護ルールエンジンモジュールの特定のルールをバイパスします。 tagsパラメーターを値に設定した場合、regularRulesパラメーターを設定してルールのIDを指定する必要があります。
- regular_type: リクエストは、保護ルールエンジンモジュールのルールの特定のタイプをバイパスします。 tagsパラメーターを値に設定した場合、regularRulesパラメーターを設定してルールのタイプを指定する必要があります。
- deeplearning: リクエストは、深層学習エンジンモジュールをバイパスします。
- アクセス制御またはスロットリングモジュールのホワイトリストを設定するには、tagsパラメーターを次の1つ以上の値に設定します。
- cc: リクエストはHTTPフラッド保護モジュールをバイパスします。
- customrule: リクエストはカスタム保護ポリシーをバイパスします。
- blacklist: リクエストはIPアドレスブラックリストモジュールをバイパスします。
- antiscan: 要求はスキャン保護モジュールをバイパスします。
- データセキュリティモジュールのホワイトリストを設定するには、tagsパラメーターを次の1つ以上の値に設定します。
- dlp: リクエストはデータ漏洩防止モジュールをバイパスします。
- tamperproof: リクエストは、Webサイトの改ざん防止モジュールをバイパスします。
- account: リクエストはアカウントセキュリティモジュールをバイパスします。
- ボット管理モジュールのホワイトリストを設定するには、tagsパラメーターを次の1つ以上の値に設定します。
- bot_intelligence: リクエストはボット脅威インテリジェンスモジュールをバイパスします。
- bot_algorithm: リクエストは、一般的なボット動作識別モジュールをバイパスします。
- bot_wxbb: リクエストはアプリ保護モジュールをバイパスします。
- antifroud: リクエストはデータリスク管理モジュールをバイパスします。
- グローバルホワイトリストを設定するには、tagsパラメーターを次の値に設定します。
- antifroud: リクエストはデータリスク管理モジュールをバイパスします。 tagsパラメーターの値にregular_ruleが含まれる場合、regularRulesパラメーターが必要です。 ルールグループを作成するときに、ルールのIDを表示できます。 ルールグループを作成するには、WAFコンソールに移動し、[保護ルールグループ] をクリックします。 表示されるページで、[ルールグループの作成] をクリックします。 詳細については、「保護ルールグループのカスタマイズ」をご参照ください。
- regularTypes: 検出をスキップするルールの型。 このパラメーターはオプションです。 データ型: 配列。 tagsパラメーターの値にregular_typeが含まれる場合、regularTypesパラメーターが必要です。 設定可能な値は以下のとおりです。
- sqli: SQLインジェクション
- xss: クロスサイトスクリプト
- code_exec: コード実行
- lfilei: ローカルファイルの包含
- rfilei: リモートファイルの包含
- webshell: webshell
- vvip: カスタム保護ルール
- other: 他のタイプ
- conditions: 一致条件。 最大5つの一致条件を指定できます。 このパラメーターは必須です。 データ型: 配列。 値は、次のパラメーターで構成されるJSON文字列です。
- key: 一致アイテム。 値の値: URL、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header、URLPath。
- opCode: 論理演算子。 設定可能な値は以下のとおりです。
- 0: 含まれていない、または属していない
- 1: に含まれるか、または属します
- 2: 存在しません
- 10: 等しくない
- 11: equals
- 20: 長さより小さい
- 21: 長さに等しい
- 22: 長さより大きい
- 30: 値未満
- 31: 値と等しい
- 32: より大きい値
-
values: 一致する値。 このパラメーターは、ビジネス要件に基づいて指定できます。 データ型: 文字列。注 一致条件のopCodeパラメーターとvaluesパラメーターの有効な値は、keyパラメーターによって異なります。
- 例
{ "name": "test" 、 "tags": ["cc" 、"customrule"] 、 "conditions":[{"opCode":1,"key":"URL","values":"/example"}] 、 }
すべてのAlibaba Cloud API操作に共通のリクエストパラメーターを含める必要があります。 共通リクエストパラメーターの詳細については、「共通パラメーター」をご参照ください。
サンプルリクエストの詳細については、このトピックの「例」を参照してください。
レスポンスパラメーター
パラメーター | データ型 | 例 | 説明 |
---|---|---|---|
RequestId | String | D7861F61-5B61-46CE-A47C-6B19160D5EB0 |
リクエストの ID です。 |
例
リクエストの例
http(s):// [エンドポイント]/?Action=ModifyProtectionModuleRule
&Domai n=www.example.com
&DefenseType=ac_custom
&Rule= {"action":"monitor","name":"test","scene":"custom_acl","conditions":[{"opCode":1,"key":"URL","values":"/example"}]}}
&RuleId=369998
&LockVersion=2
&InstanceId=waf-cn-0xldbqt ****
&共通リクエストパラメータ
正常に処理された場合のレスポンス例
XML
形式
HTTP/1.1 200 OK
Content-Type:application/xml
<ModifyProtectionModuleRuleResponse>
<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>
</ModifyProtectionModuleRuleResponse>
JSON
形式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "D7861F61-5B61-46CE-A47C-6B19160D5EB0"
}
エラーコード
エラーコードリストについては、「API エラーセンター」をご参照ください。