eCDN カスタムルール

カスタムルールを使用すると、さまざまなリクエストパラメーターに基づいてファイアウォールポリシーを設定して受信トラフィックを管理できます。これらの API エンドポイントは、ファイアウォールのルールの既存機能を拡張します。カスタムルールを使用すると、ルール式を完全に管理できます。また、許可されるリクエストフィールドタイプとルールのアクションのリストも拡張されました。これにより柔軟性が向上し、特定のトラフィックのニーズに一致する式を作成できるようになりました。

当社では、すべての顧客がファイアウォールのルールからカスタムルールの使用に移行することを見込んでおり、ファイアウォールのルールは 2024 年 2 月 1 日までに廃止されます。

ルール式でサポートされるフィールドと演算子は、レート制限ルールで提供されるものと一致するようになりました。詳細については、eCDN レート制限ルールガイドのルール式を参照してください。

カスタムルール式の長さは最大 4096 文字です。

次のルールのアクションがアクション配列でサポートされています。

  • block - リクエストされたサイトへのアクセスを拒否します。
  • js_challenge - リクエストを行ったクライアントは、続行する前に JavaScript チャレンジに合格する必要があります。
  • legacy_captcha - リクエストを行ったクライアントは、インタラクティブなチャレンジに合格する必要があります。
  • managed_challenge - リクエストの特徴に応じ、適切なタイプのチャレンジがクライアントに提示されます。
  • log - 一致するリクエストをログに記録します。

次のスキップアクションもアクション配列でサポートされています。

  • skip_custom_rules - 残りのカスタムルールをすべてスキップします (つまり、優先度の低いカスタムルールは評価されません)。
  • skip_waf - WAF 管理のルールをスキップします。
  • skip_security_level - セキュリティレベルをスキップします。

スキップアクションを使用する場合、ユーザーは配列内で複数のスキップアクションを指定できます。そうしない場合、配列にはルールアクションが 1 つだけ含まれます。以下の使用例を参照してください。

カスタムルールは、レスポンスボディにリストされている順序で評価されます。カスタムルールの式が一致すると、アクションが実行されます。

  • managed_challengejs_challengelegacy_captchablock、および skip_custom_rules のアクションは、それ以降のカスタムルールの評価を停止し、ルールセット内の他のルールは評価されません。
  • skip_wafskip_security_level およびlog のアクションは、カスタムルールの評価を停止しません。

カスタムルールを作成または更新する場合、ユーザーはリクエストボディに position 属性を指定し、ルールセット内の特定の相対位置にルールを挿入できます。 ルールの作成時に位置が指定されていない場合、そのルールはデフォルトでルールセットの最後に追加されます。 以下の使用例を参照してください。

このエンドポイントは、指定されたゾーンにカスタムルールを作成します。

  • descriptionexpression、および actions 属性が必要です。
  • enabled および position 属性はオプションです。
  • 入力検証の詳細については、「検証概要」セクションを参照してください。

新しく作成されたルールはデフォルトで有効になり、特に指定のない限り、ルールセットの最後に追加されます。最大 50 個のカスタムルールが許可されています。

レスポンスボディには、作成されたカスタムルールが含まれます。

このエンドポイントは、指定されたゾーンのすべてのカスタムルールを返します。カスタムルールが存在しない場合は、404 (Not Found) レスポンスが返されます。

レスポンスボディには、指定されたゾーンの既存のカスタムルールがすべて含まれます。

このエンドポイントは、リクエストされたカスタムルールを返します。リクエストされたルールが存在しない場合は、404 (Not Found) レスポンスが返されます。

レスポンスボディには、リクエストされたカスタムルールが含まれます。

このエンドポイントは、リクエストされたカスタムルールを更新します。リクエストされたルールが存在しない場合は、404 (Not Found) レスポンスが返されます。

  • ユーザーは、descriptionexpressionactionsenabled、または position の属性のうちの少なくとも 1 つをリクエストボディに指定する必要があります。

レスポンスボディには、リクエストされたルールが含まれます。

このエンドポイントは、既存のすべてのカスタムルールの順序を更新します。ユーザーは、新規ルールの順序を表す ruleIds の配列を提供します。配列には、既存カスタムルールのルール ID がすべて正確に含まれている必要があります。

レスポンスボディには、更新されたルールの順序で既存カスタムルールがすべて含まれます。

このエンドポイントは、リクエストされたカスタムルールを削除します。リクエストされたルールが存在しない場合は、404 (Not Found) レスポンスが返されます。

  • カスタムルールはファイアウォールのルールとどう違うのですか?

    • カスタムルールを使用すると、ルール式を作成する際の柔軟性が高まります。カスタムルールとファイアウォールのルールは、どちらもストアフロントのファイアウォールポリシーを設定する機能を提供します。一方、カスタムルールはサポートされるアクションと式のフィールドの拡張セットを提供します。特にカスタムルール式では、URI パス (http.request.uri.path) やユーザーエージェント (http.user_agent) などのフィールドが許可されます。
  • ファイアウォールのルールを引き続き作成して使用できますか?

    • はい。ファイアウォールのルールのエンドポイントは、2024 年 2 月 1 日に廃止されるまで引き続き機能します。ファイアウォールのルールのエンドポイントが廃止されると、既存のすべてのファイアウォールのルールはカスタムルールに変換されます。廃止日以降、顧客が使用できるのはカスタムルールのエンドポイントのみとなります。廃止計画に関するさらなる情報のお知らせまでお待ちください。
  • ファイアウォールのルールとカスタムルールはどのような順序で評価されますか?

    • ファイアウォールのルールは、カスタムルールの前に評価されます。
  • ルール式を構築するにはどうすればいいですか?