Web Application Firewall (WAF) に Web サイトを追加した後、Web サイト改ざん防止ルールを設定して、機密情報を含むページなどの特定の Web ページを保護できます。保護されたページへのリクエストが行われると、WAF はキャッシュされたバージョンを返し、オリジンサーバーのコンテンツが悪意を持って改ざんされるのを防ぎます。このトピックでは、Web サイト改ざん防止の保護テンプレートを作成し、保護ルールを追加する方法について説明します。
制限事項
この機能は、ハイブリッドクラウドモードまたはクラウドネイティブモード (MSE、FC) を使用する保護対象をサポートしていません。
前提条件
WAF 3.0インスタンスを購入しました。 詳細については、「サブスクリプションWAF 3.0インスタンスの購入」および「従量課金制 WAF 3.0 インスタンスの有効化」をご参照ください。
Webサービスは、保護されたオブジェクトとしてWAF 3.0に追加されます。 詳細については、「保護対象と保護対象グループの設定」をご参照ください。
手順1:Web サイト改ざん防止テンプレートの作成
Web サイト改ざん防止モジュールには、デフォルトの保護テンプレートは用意されていません。Web サイト改ざん防止機能を使用するには、新しい保護テンプレートを作成し、それにルールを追加する必要があります。
WAF 3.0コンソールにログインします。 上部のナビゲーションバーで、WAFインスタンスがデプロイされているリソースグループとリージョンを選択します。 中国本土または中国本土以外を選択します。
左側のナビゲーションウィンドウで、 を選択します。
Web コア保護 ページで、Website Tamper-proofing セクションを見つけ、テンプレートの作成 をクリックします。
テンプレートの作成 パネルでパラメーターを設定し、OK をクリックします。
パラメーター
説明
[テンプレート名]
テンプレートの名前を入力します。
テンプレートの名前は1 ~ 255文字で、英数字、ピリオド (.) 、アンダースコア (_) 、ハイフン (-) を使用できます。
[ルールの設定]
ルールの作成 をクリックして、テンプレートの Web サイト改ざん防止ルールを作成します。この手順をスキップして、後でルールを作成することもできます。詳細については、「手順2:保護テンプレートへの Web サイト改ざん防止ルールの追加」をご参照ください。
[有効対象]
テンプレートを適用する[保護対象]と[保護対象グループ]を選択します。
1つの保護対象または保護対象グループを、同じ保護モジュールの複数のテンプレートに関連付けることはできません。保護対象または保護対象グループの追加方法の詳細については、「保護対象と保護対象グループの設定」をご参照ください。
デフォルトでは、新しいルールテンプレートが有効になっています。 ルールテンプレートリストでは、次の操作を実行できます。
テンプレートに関連付けられている保護オブジェクトと保護オブジェクトグループの数を表示します。
ステータス 列のスイッチをオンまたはオフにして、テンプレートを有効または無効にします。
[操作] 列の 編集 または 削除 をクリックして、テンプレートを変更または削除します。
テンプレート名の左側にある
アイコンをクリックして、テンプレート内のルールを表示します。
手順2:Web サイト改ざん防止ルールの追加
Web サイト改ざん防止テンプレートは、ルールを追加した後にのみ有効になります。テンプレートの作成時にすでにルールを追加している場合は、この手順をスキップできます。
WAF 3.0コンソールにログインします。 上部のナビゲーションバーで、WAFインスタンスがデプロイされているリソースグループとリージョンを選択します。 中国本土または中国本土以外を選択します。
左側のナビゲーションウィンドウで、 を選択します。
Website Tamper-proofing セクションで、保護テンプレートを見つけ、その 操作 列の ルールの作成 をクリックします。
ルールの作成 ダイアログボックスでパラメーターを設定し、OK をクリックします。
パラメーター
説明
[Rule Name]
ルールの名前を入力します。名前は最大 30 文字で、漢字、英字、数字、アンダースコア (_) を使用できます。
[Address of Cached Page]
キャッシュするページのプロトコルとフルパスを設定します。
プロトコル:[http] または [https]。
キャッシュページのパス:
デフォルト値は
www.waftest.cn/index.htmlです。値は変更できます。/*などのワイルドカードやパラメーターはサポートされていません。たとえば、/abc?xxx=yyyのxxx=yyyは URL パラメーターです。重要URL パラメーターを含むリクエストは改ざん防止ルールに一致せず、WAF によってオリジンサーバーに転送されます。たとえば、キャッシュページのパスが
/abcに設定されていて、リクエスト URL が/abc?xxx=yyyの場合、リクエストはキャッシュページのパス/abcの改ざん防止ルールに一致しません。指定されたパスにある、TXT、HTML、画像、またはその他のファイルタイプのファイルが保護されます。保護される単一ファイルのサイズは 1 MB を超えることはできません。
重要指定された URL のみがキャッシュできます。ディレクトリはサポートされていません。
[Specify User-Agent to Access]
WAF がオリジンサーバーからページを取得する際に使用する User-Agent ヘッダーを指定します。
Specify User-Agent to Access を選択しない場合、User-Agent はデフォルトで PC ブラウザの識別子になります。
Specify User-Agent to Access を選択した場合は、User-Agent を指定する必要があります。
ブラウザを開き、F12 キーを押して開発者ツールを開きます。[ネットワーク] タブでリクエストをクリックします。HTTP Header セクションで User-Agent フィールドを見つけて、ブラウザの識別子を取得します。
説明Web サイト改ざん防止ルールを作成すると、システムは直ちにリソースを取得し、WAF にキャッシュします。WAF は後続のリクエストにキャッシュから応答します。
リクエストが改ざん防止ルールに一致するかどうかの確認:ブラウザの開発者ツールを使用して、リクエストが改ざん防止ルールに一致するかどうかを確認できます。
F12 キーを押して開発者ツールを開きます。
[ネットワーク] タブに切り替えます。
保護されたページにアクセスし、対応するリクエストをクリックします。
[レスポンスヘッダー] セクションで、次のヘッダーを確認します。
Aliwaf-Cache:値が
HITの場合、リクエストは Web サイト改ざん防止ルールに一致し、WAF はキャッシュされたページを返しました。Server:値が
Tengineの場合、WAF がリクエストをプロキシしました。このヘッダーは、ドメイン名を WAF に接続した場合にのみ表示されます。WAF は CLB アクセスモードではこのヘッダーを追加しません。
Aliwaf-Cache ヘッダーが存在しないか、その値が
HITでない場合、リクエストはルールに一致しませんでした。ルールが正しく設定され、有効になっていることを確認してください。ステータス を再度有効にするか、ルールの ステータス を有効にすると、システムは改ざん防止されたリソースに再度アクセスし、キャッシュを更新します。これは、手動で Update Cache をクリックするのと同じ効果があります。
オリジンサーバーがアクセス制御にホワイトリストを使用している場合は、次の WAF IP アドレスをホワイトリストに追加します。
中国本土:121.196.106.101、121.196.100.214、121.196.110.192、121.196.107.0。
中国本土以外の地域:8.219.104.2、8.219.41.212。
デフォルトでは、新しいルールが有効になります。 ルールリストでは、次の操作を実行できます。
ステータス 列のスイッチをオンまたはオフにして、ルールを有効または無効にします。
[操作] 列の 編集 または 削除 をクリックして、ルールを変更または削除します。
関連操作
サーバー上の特定のディレクトリを保護するには、Security Center の Web 改ざん防止機能を使用します。詳細については、「Web 改ざん防止」をご参照ください。
次の表に、WAF の Web サイト改ざん防止機能と Security Center の Web 改ざん防止機能の違いを示します。
相違点 | WAF | Security Center |
メカニズム | WAF は、リクエストされたときにキャッシュされたバージョンを返すことで、特定のページを保護します。これにより、オリジンサーバー上のコンテンツの改ざんが防止されます。 | 改ざんされたファイルやディレクトリをバックアップから復元することで、重要なシステム上の Web サイト情報が悪意を持って改ざんされるのを防ぎます。 |
スコープ | URL。 | サーバーディレクトリ。 |
関連ドキュメント
WAF 3.0 の保護対象、保護モジュール、保護ワークフローの詳細については、「保護設定の概要」をご参照ください。
API を使用して保護テンプレートを作成するには、「CreateDefenseTemplate」をご参照ください。
コア Web 保護ルールを作成および設定するには、「コア Web 保護ルールの作成」をご参照ください。