概要
お客様のサイトでユーザーのアクセスポリシーをカスタマイズして制御する必要がある場合、例えば指定地域のユーザーアクセスを禁止する、指定した外部サイトから当サイトのコンテンツへのリンクを許可する、指定ユーザーのみが特定のリソースにアクセスできるようにするなどのケースがあります。カスタムルールは、単一のルール一致条件または複数の一致条件を組み合わせてクライアントリクエストを照合し、許可、ブロック、リダイレクト、カスタムページの返却などの方法で一致したリクエストポリシーを制御することができます。これにより、お客様のサイトでユーザーがアクセス可能なコンテンツをより柔軟に制限できるようになります。
典型的なシナリオと使用方法
お客様はさまざまなシナリオに応じて適切なルールタイプを選択し、サイトを保護することができます。カスタムルールは以下のタイプに分類されます:
基本アクセス制御:単一条件によるリクエストのマッチングをサポートし、マッチしたリクエストに対して処理または監視を行います。シンプルなシナリオでの防护処理に適しており、例えばアクセスIP許可リスト・拒否リスト、Referer拒否リスト、UA許可リスト・拒否リスト、または地域制限の設定などがあります。
正確一致ルール:複数の条件を組み合わせてリクエストを照合し、一致したリクエストに対して処理または監視を行います。複雑なシナリオでの防护設定に適しており、例えば指定パス配下のファイルは指定ユーザーのみがアクセスできます。
マネージドカスタムポリシー:Tencentセキュリティ専門家によってカスタマイズされたポリシーであり、コンソールでのポリシー調整はサポートされていません。詳細はマネージドカスタムルールを参照してください。 説明:
同じタイプのルールが複数存在する場合、ルールの有効化優先度は以下の通りです:
1. 基本アクセス制御内のルールは、リクエストが複数のルールに一致する場合、処理方法の順序に従って実行されます:観察 > ブロック。
2. 正確一致ルールは、優先度が高い順(優先度の数値が小さい順)に実行されます。
基本的なアクセス制御
シナリオ例1:特定の国/地域のみアクセスを許可
指定ビジネス地域の法令要件を遵守するため、現在のビジネスで中国本土以外の地域からのアクセスのみが許可されている場合、訪問者の送信元地域を制限する必要がある場合があります。このようなシナリオでは、基本アクセス制御の地域制御ルールを使用して実現できます。操作手順は以下の通りです:
1. EdgeOneコンソールにログインし、左側のメニューバーで「サービス概要」に入り、「Webサイト安全な加速」内で設定が必要なサイトをクリックします。
2. 安全防护>Web防护をクリックします。デフォルトではサイトレベル保護ポリシーです。現在のサイト配下の特定ドメインに異なる保護ポリシーを設定する必要がある場合は、ドメインレベル保護ポリシータブに移動し、該当するドメインをクリックしてドメインレベル保護ポリシー設定ページに入ります。以降の手順は同じです。
3. 「カスタムルール」カードに移動し、「基本アクセス制御」にある「ルールを追加」をクリックします。
4. ルール名を入力し、判定条件と実行アクションを設定します。例のシナリオを例にとると、マッチングフィールドを地域に設定し、地域に中国本土(すべて)が含まれる場合、処理方法はブロックです。
5. 保存して公開をクリックすると、ルールがデプロイされて有効になります。このとき、クライアントのアクセスIPが中国本土からの場合、当該ウェブサイトへのアクセスは許可されません。
シナリオ例2:Refererを設定して外部サイトのアクセスを制御
説明:
HTTPプロトコルでは、Refererヘッダーに完全なURLまたは部分的なURLを使用できます。実際の状況に応じてマッチング内容を設定してください。Refererヘッダーの詳細については、RFC9110を参照してください。 指定ドメインのURIとマッチングするには、ワイルドカードの使用を推奨します。例えば:https://www.example.com*は、そのドメインのルートパスとそのすべてのページをカバーできます。
未承認サイトがリンクを通じてリソースにアクセスするのを防ぐために、基本アクセス制御のReferer制御ルールを使用して、未承認ソースからのリクエストをブロックできます。例えば、サイトサービスhttps://www.myexample.comは、広告パートナーhttps://ads.example.com/ads-linkのリンクを通じてアクセスするリクエストを許可し、他のサイトのリンクを通じたコンテンツへのアクセスを拒否する必要があります。操作手順は以下の通りです:
1. EdgeOneコンソールにログインし、左側のメニューバーで「サービス概要」に入り、「Webサイト安全な加速」内で設定が必要なサイトをクリックします。
2. 「セキュリティ保護」>「Web保護」をクリックします。デフォルトではサイトレベル保護ポリシーです。「ドメインレベル保護ポリシー」タブをクリックし、ドメインレベル保護ポリシーで対象ドメインをクリックして対象ドメインの保護ポリシー設定画面に入ります。例えば:www.myexample.com。
3. 「カスタムルール」カードに移動し、「基本アクセス制御」にある「ルールを追加」をクリックします。
4. ルール名を入力し、判定条件と実行アクションを設定します。例のシナリオを例にとると、マッチングフィールドをRefererに設定し、Refererワイルドカードがhttps://www.myexample.com*またはhttps://ads.example.com/ads-link*に一致しない場合、処理方法はブロックです。
5. 「保存して公開」をクリックすると、ルールがデプロイされて有効になります。
シナリオ例3:URLアクセス制限の設定
ビジネスに機密ディレクトリやリソースが存在する場合、基本アクセス制御のURL制御ルールを使用して、未承認アクセスをブロックできます。例えば、外部からの/admin/*または/config/*.jsonディレクトリへのアクセスを禁止します。操作手順は以下の通りです:
1. EdgeOneコンソールにログインし、左側のメニューバーで「サービス概要」に入り、「Webサイト安全な加速」内で設定が必要なサイトをクリックします。
2. 「セキュリティ保護」>「Web保護」をクリックします。デフォルトではサイトレベル保護ポリシーです。「ドメインレベル保護ポリシー」タブをクリックし、ドメインレベル保護ポリシーで対象ドメインをクリックして対象ドメインの保護ポリシー設定画面に入ります。例えば:www.myexample.com。
3. 「カスタムルール」カードに移動し、「基本アクセス制御」にある「ルールを追加」をクリックします。
4. ルール名を入力し、判定条件と実行アクションを設定します。例のシナリオを例にとると、マッチングフィールドをURLに設定し、リクエストURLがワイルドカードで/admin/*または/config/*.jsonに一致する場合、処理方法はブロックです。そのうち:
*を使用して0個以上の文字に一致させ、?を使用して1個の文字に一致させます。
https://www.myexample.com*は、https://www.myexample.com、https://www.myexample.com/、https://www.myexample.com/index.html、https://www.myexample.com/news?id=1などのリクエスト元に一致します。
https://ads.example.com/ads-link*は、https://ads.example.com/ads-link、https://ads.example.com/ads-link/、https://ads.example.com/ads-link?campaign=123などのリクエスト元に一致します。
5. 「保存して公開」をクリックすると、ルールがデプロイされて有効になります。
シナリオ例4:IP拒否リストの設定
指標分析またはWebセキュリティ分析で不審な異常クライアントIPを特定した場合、基本アクセス制御のクライアントIP制御ルールを使用して、異常クライアントIPのアクセスリクエストをブロックできます。例えば、ネットワークセグメント2.2.2.0/24と単一IP1.1.1.1のアクセスを禁止します。操作手順は以下の通りです:
1. EdgeOneコンソールにログインし、左側のメニューバーで「サービス概要」に入り、「Webサイト安全な加速」内で設定が必要なサイトをクリックします。
2. 「セキュリティ保護」>「Web保護」をクリックします。デフォルトではサイトレベル保護ポリシーです。「ドメインレベル保護ポリシー」タブをクリックし、ドメインレベル保護ポリシーで対象ドメインをクリックして対象ドメインの保護ポリシー設定画面に入ります。例えば:www.myexample.com。
3. 「カスタムルール」カードに移動し、「基本アクセス制御」にある「ルールを追加」をクリックします。
4. ルール名を入力し、判定条件と実行アクションを設定します。例のシナリオを例にとると、マッチングフィールドをクライアントIPに設定し、クライアントIPが2.2.2.0/24または1.1.1.1に等しい場合、処理方法はブロックです。そのうち、ネットワークセグメント2.2.2.0/24は、2.2.2.0から2.2.2.255までのすべてのIPを表します。
5. 「保存して公開」をクリックすると、ルールがデプロイされて有効になります。
シナリオ例5:User-Agent拒否リストの設定
指標分析またはWebセキュリティ分析で不審な異常User-Agentを特定した場合、基本アクセス制御の<User-Agent>制御ルールを使用して、異常User-Agentを含むリクエストをブロックできます。例えば、指標分析のTop User-Agentで大量のcurl/リクエスト(curl/7.61.1、curl/8.7.1など)や、クローラーからのUser-Agent(Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)など)を観測した場合、これらは業務の正常なアクセス方法に適合しないため、アクセスを禁止する必要があります。操作手順は以下の通りです:
1. EdgeOneコンソールにログインし、左側のメニューバーで「サービス概要」に入り、「Webサイト安全な加速」内で設定が必要なサイトをクリックします。
2. 「セキュリティ保護」>「Web保護」をクリックします。デフォルトではサイトレベル保護ポリシーです。「ドメインレベル保護ポリシー」タブをクリックし、ドメインレベル保護ポリシーで対象ドメインをクリックして対象ドメインの保護ポリシー設定画面に入ります。例えば:www.myexample.com。
3. 「カスタムルール」カードに移動し、「基本アクセス制御」にある「ルールを追加」をクリックします。
4. ルール名を入力し、判定条件と実行アクションを設定します。例のシナリオを例にとると、マッチングフィールドを User-Agent に設定できます。User-Agentワイルドカードがcurl/*または*GPTBot*に一致する場合、処理方法はブロックです。そのうち:
*を使用して複数の文字に一致させ、?を使用して単一の文字に一致させます。
curl/*はcurl/7.61.1、curl/8.7.1などに一致できます。
*GPTBot*は、GPTBot識別子を含む任意のUser-Agentに一致できます。例えば:
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)
GPTBot/1.0
CustomClient-GPTBot-Test
5. 「保存」をクリックすると、ルールがデプロイされて有効になります。
完全一致ルール
シナリオ例:サイトの機密リソース露出面の精密な制御
サイトの機密リソース(例:管理画面)の露出範囲を制御し、特定のクライアントまたは指定されたネットワークのみアクセスを許可する必要がある場合。完全一致マッチングルールのクライアントIPマッチングとリクエストURLマッチングの組み合わせを使用して実現できます。例えば、現在のサイトドメインwww.example.comの管理画面ログインアドレスパスが/adminconfig/loginであり、この管理画面は指定されたクライアントIPユーザー1.1.1.1のみログインを許可します。操作手順は以下の通りです:
1. EdgeOneコンソールにログインし、左側のメニューバーで「サービス概要」に入り、「Webサイト安全な加速」内で設定が必要なサイトをクリックします。
2. 「セキュリティ保護」>「Web保護」をクリックします。デフォルトではサイトレベル保護ポリシーです。「ドメインレベル保護ポリシー」タブをクリックし、ドメインレベル保護ポリシーで対象ドメインをクリックして、対象ドメインの保護ポリシー設定画面に入ります。例えば:www.example.com。
3. 「カスタムルール」カードに移動し、「完全一致ルール」にある「ルールを追加」をクリックします。
4. ルール追加ページに移動し、空白ルールの作成を選択し、ルール名を入力し、追加をクリックします。
5. 判定条件と実行アクションを設定します。例のシナリオを例にとると、マッチングフィールドをリクエストパス(Path)が/adminconfig/loginに等しく、かつクライアントIPが1.1.1.1に一致しないユーザーに設定し、実行アクションはブロックです。
説明:
処置優先度の数値が低いほど、優先度が高くなります。1つのリクエストが複数のルールに一致する場合、優先度が高い(数値が低い)ルールの処置方法が適用されます。
6. 「保存して公開」をクリックすると、ルールがデプロイされて有効になります。
関連参考
サポートされる一致条件の範囲
異なるカスタムルールがサポートするマッチング条件は以下の通りです。異なるマッチング条件の説明についてはマッチング条件を、異なるプランのサポート状況についてはプラン選択比較を参照してください。 |
基本アクセス制御 | クライアントIP リージョン Referer User-Agent ASN URL |
完全一致ルール | リクエストドメイン(Host) クライアントIPをリクエストします。 リクエストクライアントIP(XFFヘッダーを優先的にマッチング) リクエスト方式(Method) User-Agentヘッダーをリクエストします。 セッションCookie XFF拡張ヘッダー リクエストパス(Path) カスタムリクエストヘッダー リクエストURL リクエスト元(Referer) ネットワーク層プロトコル アプリケーション層プロトコル リクエストボディ JA3フィンガープリント JA4フィンガープリント |
サポートされる対処方法
カスタム防护ルールによってサポートされる処理方法は以下の通りです。異なる処理方法の説明については、処理方法を参照してください。 |
基本アクセス制御 | 観察します 遮断します |
完全一致ルール | 通過させます。 遮断します 観察します IPブロック URLへリダイレクトします JavaScriptチャレンジ |
説明:
注:
お客様は単一のカスタムルール(完全一致ルールのみサポート)に対してカスタムレスポンス内容を返す処理方法を設定できます。このルールに一致するリクエストに応答する際、EdgeOneはお客様が指定したページとステータスコードを返します。また、カスタムレスポンスページ設定を使用して、すべてのカスタムルールがリクエストをブロックする際に使用するページとステータスコードを指定することもできます。