透過型プロキシモードでは、ドメイン名システム (DNS) のレコードを変更せずに、Web Application Firewall (WAF) にウェブサイトを追加できます。WAF は、Elastic Compute Service (ECS) インスタンスまたは Server Load Balancer (SLB) インスタンスのポートレベルでトラフィックをインターセプトし、検査した後、クリーンなトラフィックをオリジンサーバーに転送します。
WAF 2.0 インスタンスを WAF 3.0 へ移行済みの場合、代わりにクラウドネイティブモードをご利用ください。クラウドネイティブモードでは、ECS、クラシックロードバランサー (CLB)、および Application Load Balancer (ALB) インスタンスがサポートされます。詳細については、「クラウドネイティブモード」をご参照ください。
透過型プロキシモードを利用するタイミング
| シナリオ | 推奨モード |
|---|---|
| オリジンサーバーが ECS またはインターネット向け SLB 上にあり、DNS を変更せずに WAF による保護を実現したい場合 | 透過型プロキシモード(本トピック) |
| DNS が Alibaba Cloud 上でホストされていない、またはインフラストラクチャに ECS や SLB を使用していない場合 | CNAME レコードモード — 「WAF へのドメイン名の追加(CNAME レコードモード) |
制限事項
非対応構成
| 項目 | 詳細 |
|---|---|
| インスタンスタイプ | プライベート SLB インスタンスおよび IPv6 対応のインターネット向け SLB インスタンスはサポートされていません。また、ネットワークアーキテクチャの関係で、一部のインターネット向け SLB インスタンスもサポートされない場合があります。 |
| 対応リージョン | 中国本土:中国 (成都)、中国 (北京)、中国 (張家口)、中国 (杭州)、中国 (上海)、中国 (深セン)、中国 (青島)。中国本土以外:中国 (香港)、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、シンガポール。 |
| Anti-DDoS Pro との併用 | サービスで Anti-DDoS Pro と WAF を併用する場合、透過型プロキシモードは、Anti-DDoS Pro が「Web サイト設定」モード(レイヤー 7)で構成されている場合のみサポートされます。Anti-DDoS Pro が「ポート設定」モード(レイヤー 4)を使用している場合は、WAF には CNAME レコードモードをご利用ください。 |
クォータ
| 項目 | 詳細 |
|---|---|
| トラフィックリダイレクションポート構成 | プロ版:20 件。ビジネス版:50 件。アルティメット版:100 件。各インスタンス・ポートの組み合わせは 1 件の構成としてカウントされます。たとえば、2 台の SLB インスタンスでポート 80 および 443 を有効化すると、合計で 4 件の構成となります。 |
| 対応ポート範囲 | ポート 0~65535(標準ポート(80、443)および非標準ポートを含む)。非標準ポートを利用するには、ビジネス版、エンタープライズ版、または排他的版のサブスクリプション WAF インスタンスが必要です。対応ポートの一覧については、「WAF がサポートするポート 説明 非標準ポートは、ビジネス版、エンタープライズ版、または排他的版のサブスクリプション WAF インスタンスのみがサポートします。 |
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
購入済みの WAF インスタンス
IPv4 を使用し、パブリック IP アドレスにバインドされたインターネット向け SLB インスタンス(ポートでの相互認証は無効化済み)
Elastic IP Address (EIP) と関連付けられたプライベート SLB インスタンスもサポートされます。
クラウドリソースへのアクセス権限が付与された WAF — 「WAF によるクラウドリソースへのアクセス権限の付与」をご参照ください
ドメインが中国本土でホストされている場合: 進める前に、Alibaba Cloud からドメインの ICP 登録を取得してください。詳細については、「ICP 登録のシナリオ」をご参照ください。
レイヤー 7 SLB インスタンスを追加する場合:リスナーポートの証明書は、以下の 2 つの要件をともに満たす必要があります。
集中管理のために証明書管理サービスコンソールにアップロード済み、またはコンソールから直接購入済みであること。
SLB コンソールでリスナーに対して選択および構成済みであること。
ステップ 1:ドメイン名の追加
WAF へのインスタンス追加時に、一時的な接続中断(数秒間)が発生する場合があります。これは、DNS 解決の更新、ネットワーク構成の変更、および WAF の初期化によって引き起こされます。
インスタンスを追加した後、以下のいずれかの操作を実行すると、リスナーポートが WAF から自動的に削除されます。その後、再度ポートを追加しないと、サービストラフィックが保護されません。
レイヤー 7 リスナーを備える CLB インスタンス:パブリック IP アドレスの置き換え、リスナーポートの証明書をサードパーティ製証明書に置き換え、または相互認証の有効化。
ECS インスタンスまたはレイヤー 4 リスナーを備える CLB インスタンス:パブリック IP アドレスの置き換え、または相互認証の有効化。
ECS インスタンスの場合、EIP またはパブリック IP アドレスからのトラフィックがリダイレクトされます。ECS インスタンスから EIP を解除すると、トラフィックリダイレクション構成は自動的に削除されます。
Web Application Firewall コンソールにログインします。上部のナビゲーションバーで、WAF インスタンスのリソースグループおよびリージョン(中国本土 または 中国本土以外)を選択します。
左側のナビゲーションウィンドウで、アセットセンター > ウェブサイトアクセス を選択します。
ドメイン タブで、ウェブサイトアクセス をクリックします。
ドメイン名の追加 ページで、アクセスモード を 透過型プロキシモード に設定します。
以下のパラメーターを設定します。ドメイン名:保護対象のドメイン名を入力します。サポートされる形式:ワイルドカードドメイン名は、同一レベルのすべてのサブドメインをカバーします。たとえば、
*.aliyundoc.comはwww.aliyundoc.comおよびtest.aliyundoc.comをカバーしますが、aliyundoc.com自体はカバーしません。親ドメインを保護するには、別途追加してください。ワイルドカードドメイン名と完全一致ドメイン名の両方が構成されている場合、WAF は完全一致ドメイン名の転送および保護ルールを適用します。オリジンサーバーポート:WAF に追加するオリジンサーバーポートを選択します。4 種類のインスタンスタイプがサポートされています。ポートを追加した後は、サーバー タブで管理できます — 保護ステータスの変更、ポートの削除、またはトラフィックリダイレクションの無効化が可能です。詳細については、「ALB インスタンスのトラフィックリダイレクションポートの設定」をご参照ください。WAF の前に Anti-DDoS Proxy や CDN などのレイヤー 7 プロキシが配置されているか トラフィックマークの有効化:この機能を有効化すると、WAF の back-to-origin 要求にカスタムヘッダーフィールドを追加または変更できます。WAF が転送した要求にラベルを付けることや、クライアントの送信元 IP アドレスおよびポートを記録するためにご利用ください。カスタムヘッダーフィールドを追加するには、マークの追加 をクリックします。最大 5 個のヘッダーフィールドがサポートされます。リソースグループ:このドメイン名のリソースグループを選択します。詳細については、「リソースグループの作成」をご参照ください。いいえ(デフォルト):WAF は、受信接続の
REMOTE_ADDRフィールドからクライアント IP アドレスを読み取ります。はい:WAF が別のレイヤー 7 プロキシの後ろに配置されています。WAF が実際のクライアント IP を特定できるよう、送信元 IP アドレスの取得 を以下のいずれかのオプションに設定します。カスタムヘッダーでクライアント IP を格納することで、攻撃者が XFF フィールドを偽装して WAF の検出ルールをバイパスすることを防げます。
X-Forwarded-For (XFF) フィールドの最初の IP アドレスをクライアントの実際の IP アドレスとして使用(デフォルト):WAF はまず
X-Real-IPを読み取り、存在しない場合はX-Forwarded-For (XFF)の最初の IP を読み取ります。[推奨] X-Forwarded-For の偽装を防止するため、指定したヘッダーフィールドの最初の IP アドレスをクライアントの実際の IP アドレスとして使用:プロキシがクライアント IP をカスタムヘッダーフィールド(例:
X-Real-IPやX-Client-IP)に格納する場合にご利用ください。「ヘッダーフィールド」ボックスにヘッダーフィールド名を入力します。WAF は、指定された順序でヘッダーを読み取ります。いずれも存在しない場合は、X-Real-IPを読み取り、次にXFFの最初の IP を読み取ります。
重要-
User-Agentなどの標準 HTTP ヘッダーフィールドは使用しないでください。WAF は、設定した標準ヘッダーフィールドの元の値を上書きします。 - WAF に追加する前に、攻撃者がオリジンサーバーの IP アドレスを発見した可能性がある場合は、トラフィックマーク を有効化し、カスタムヘッダーを構成してください。オリジンサーバーを、カスタムヘッダーが存在する場合のみ要求を受け入れるように設定します。タブ インスタンスタイプ ポートの追加方法 SLB ベースのドメイン ALB およびその他の SLB ベースのインスタンス ポートは自動同期されます。保護対象のポートを選択します。 レイヤー 7 SLB ベースのドメイン レイヤー 7 SLB インスタンス ポートは自動同期されます。保護対象のポートを選択します。 レイヤー 4 SLB ベースのドメイン レイヤー 4 SLB インスタンス 追加 をクリックして、手動でポートを追加します。 ECS ベースのドメイン ECS インスタンス 追加 をクリックして、手動でポートを追加します。 確認と確定 セクションで設定内容を確認し、次へ をクリックします。
追加完了 セクションで、完了。ドメイン名一覧に戻る をクリックします。
ドメイン名を追加した後、そのドメイン名は ドメイン タブに表示されます。WAF は、有効化されたポート上のすべてのトラフィックを検出し、クリーンなトラフィックをオリジンサーバーに転送します。サーバー タブでは、任意のポートの保護ステータスを必要に応じて変更できます。
ステップ 2:トラフィックリダイレクションポートの管理
保護ステータスの確認
ドメイン名を追加した後、サーバー タブからポートレベルの保護状況を確認および管理できます。
ウェブサイトアクセス ページで、サーバー タブをクリックします。
インスタンス横の展開アイコンをクリックして、保護対象のポートを表示します。「トラフィックステータス」には以下の 2 つのインジケーターがあります。
ポートレベルのステータス (図の ①): 特定のポートのトラフィックが WAF にリダイレクトされるかどうかを示します。 値: 有効 または 無効。 ステータスを切り替えるには、[操作] 列の [トラフィックリダイレクトの無効化] または [トラフィックリダイレクトの有効化] を使用します。 無効にすると、そのポートのトラフィックは WAF によって検査されなくなります。
インスタンスレベルのステータス(図中の②):インスタンスの全ポートに対する WAF の全体的な保護ステータス。値: 未保護、部分的保護、または 実行中。
レイヤー 4 SLB および ECS インスタンスのポートは自動同期されません。ステップ 1:ドメイン名の追加 のステップ 5 で説明されている通り、手動で追加してください。

(オプション) 保護が不要になったポートを削除する場合 (レイヤー4 SLB および ECS インスタンスのみ)、[操作] 列の [削除] をクリックし、次に確認ダイアログで [OK] をクリックします。
トラフィックリダイレクションポートの証明書の更新
証明書の更新手順は、インスタンスタイプによって異なります。
ALB インスタンスおよびレイヤー 7 SLB インスタンス
SLB コンソールで証明書を更新します。更新された証明書は、約 30 分以内に WAF に自動同期されます。
トラフィックリダイレクションポートにバインドされている証明書が、Alibaba Cloud 証明書管理サービスから購入されていないものに置き換えられた場合、証明書を手動で更新し、インスタンスを WAF に再追加する必要があります。
SLB インスタンスに関連付けられている証明書が期限切れの場合、期限切れの証明書は自動同期されません。まず期限切れの証明書を削除し、その後新しい証明書を同期してください。
自動同期された証明書が有効化されない場合は、サーバー タブの更新アイコンをクリックして、インスタンスのリスナーポートの同期を手動でトリガーします。
ECS インスタンスおよびレイヤー 4 SLB インスタンス
WAF コンソールで証明書を手動でアップロードします。
サーバー タブでインスタンスを見つけ、編集 を 操作 列でクリックします。手動アップロード または 既存の証明書の選択 を使用して証明書をアップロードします。

次のステップ
WAF にウェブサイトを追加すると、そのウェブサイトへのすべてのトラフィックが検査およびフィルター処理されます。デフォルトで有効化される保護機能は以下の 2 つです。
保護ルールエンジン:SQL インジェクション、クロスサイトスクリプティング (XSS)、Web シェルのアップロードなど、一般的な Web 攻撃から保護します。
HTTP フラッド保護:Challenge Collapsar (CC) 攻撃から保護します。
必要に応じて、追加の機能を有効化し、保護ルールを構成してください。利用可能なすべての機能の概要については、「ウェブサイト保護構成の概要」をご参照ください。