Web Application Firewall (WAF) を Alibaba Cloud Content Delivery Network (CDN) の背後にデプロイすることで、コンテンツ配信の高速性を維持しながら、Web サービスを攻撃から保護します。このアーキテクチャでは、CDN がエッジで静的コンテンツを高速化し、WAF が動的トラフィックを検査してフィルタリングしてからオリジンサーバーに到達させます。
ネットワークアーキテクチャ
トラフィックは 3 つのレイヤーを通過します:
-
CDN (イングレスレイヤー):エンドユーザーへのコンテンツ配信を高速化します
-
WAF (中間レイヤー):トラフィックを検査し、攻撃をブロックします
-
オリジンサーバー:クリーンでフィルタリングされたトラフィックのみを受信します
オリジンサーバーは、Elastic Compute Service (ECS) インスタンス、Server Load Balancer (SLB) インスタンス、VPC (Virtual Private Cloud)、またはオンプレミスデータセンターで実行できます。
前提条件
開始する前に、以下を確認してください:
-
Alibaba Cloud CDN が有効になっており、ドメイン名が既に追加されていること。詳細については、「Alibaba Cloud CDN のクイックスタート」をご参照ください。
-
WAF インスタンスが購入済みであること
アクセスモードの選択
WAF は CDN との連携方法として 2 つのモードをサポートしています。設定手順を開始する前に、ご利用のインフラストラクチャに合ったモードを選択してください。
|
CNAME レコードモード |
透過型プロキシモード |
|
|
仕組み |
CDN はトラフィックを WAF の CNAME アドレスに送信し、WAF はクリーンなトラフィックをオリジンに転送します |
CDN はトラフィックをオリジンの IP アドレスに直接送信し、WAF は SLB または ECS を介して透過的にトラフィックをインターセプトします |
|
CDN での設定内容 |
CDN のオリジンを WAF の CNAME ドメイン名に設定します |
CDN のオリジンをオリジンサーバーの IP アドレスに設定します |
|
最適なケース |
ほとんどのデプロイメント。よりシンプルな DNS ベースのルーティング |
DNS のオリジン設定を変更せずに WAF を運用したい環境 |
ステップ 1: WAF へのドメイン名の追加
-
WAF コンソールにログインします。上部のナビゲーションバーで、WAF インスタンスがデプロイされているリソースグループとリージョン ([中国本土] または [中国本土以外]) を選択します。
-
左側のナビゲーションウィンドウで、資産センター > Web サイトアクセス を選択します。
-
[ドメイン] タブで、Web サイトアクセス をクリックします。
-
選択したアクセスモードを使用してドメイン名を追加します:
CNAME レコードモード
説明[ドメイン名の追加] ページでは、[アクセスモード] は [CNAME レコード] がデフォルトです。変更は不要です。
-
[ウェブサイト情報の入力] ステップで、次のパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
ドメイン名
保護対象のウェブサイトのドメイン名
保護リソース
使用する保護リソースの種類
プロトコルの種類
ウェブサイトがサポートするプロトコル
オリジンサーバーアドレス
IP:SLB または ECS インスタンスのパブリック IP アドレス、または Alibaba Cloud 以外のオリジンサーバーの IP
宛先サーバーポート
[プロトコルの種類] に基づく、オリジンサーバーが使用するポート
ロードバランシングアルゴリズム
複数のオリジンサーバーアドレスがある場合は、要件に基づいてアルゴリズムを選択します
[WAF の前に Anti-DDoS Pro、Anti-DDoS Premium、Alibaba Cloud CDN などのレイヤー 7 プロキシがデプロイされているかどうか]
[はい] に設定します。
[トラフィックマークの有効化]
WAF のトラフィックマーキング機能を有効にするかどうかを指定します
リソースグループ
このドメイン名のリソースグループを選択します
-
[ドメイン名] タブで、追加したドメインを見つけ、WAF が割り当てた [CNAME] をコピーします。
透過型プロキシモード
-
[ドメイン名の追加] ページで、[アクセスモード] を [透明なプロキシモード] に設定します。
-
[ドメイン名の追加] ステップで、以下のパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
ドメイン名
保護対象のウェブサイトのドメイン名です。
SLB ベースのドメイン、レイヤー7 SLB ベースのドメイン、レイヤー4 SLB ベースのドメイン、ECS ベースのドメイン
インスタンスタイプと対応するポートを選択します。
WAF の前面に Anti-DDoS Pro、Anti-DDoS Premium、Alibaba Cloud CDN などのレイヤー7プロキシがデプロイされているか
はいに設定します。
トラフィックマークの有効化
WAF のトラフィックマーキング機能を有効にするかどうかを指定します。
リソースグループ
このドメイン名のリソースグループを選択します。
-
追加情報の確認ステップで、情報を確認して[次へ]をクリックします。
-
[完了。Web サイトリストに戻る] をクリックします。[サーバー] タブで、ドロップダウンリストから [リソース インスタンス ID] を選択し、インスタンス ID を入力して、追加したインスタンスの IP アドレスとポートを検索します。
-
ステップ 2: CDN から WAF へのトラフィック転送設定
-
Alibaba Cloud CDN コンソールにログインします。
-
左側のナビゲーションウィンドウで、ドメイン名 をクリックします。
-
ドメイン名を探し、[操作] 列の [管理] をクリックします。
-
左側のナビゲーションウィンドウで、[基本] をクリックします。[オリジン情報] セクションで、[オリジンサーバーの追加] をクリックします。ダイアログボックスで、次のパラメーターを設定し、[OK] をクリックします。
パラメーター
説明
[オリジン情報]
CNAME レコードモード: [サイトドメイン] を選択し、ステップ 1 の WAF CNAME を入力します。 透過プロキシモード: [IP] を選択し、ステップ 1 のオリジンサーバーのパブリック IP アドレスを入力します。
[優先度]
プライマリオリジンサーバーは、セカンダリオリジンサーバーよりも優先度が高くなります
重み
複数のオリジンサーバーが同じ優先度を共有する場合、CDN は重みに基づいてリクエストを分散します
ポート
リクエストを処理するオリジンサーバー上のポート
-
左側のナビゲーションウィンドウで、[バックツーオリジン] をクリックします。[設定] タブで、[デフォルトオリジンホスト] が無効になっていることを確認します。
-
DNS レコードを更新して、ドメイン名を Alibaba Cloud CDN によって割り当てられた CNAME ドメイン名にマッピングします。詳細については、「ドメイン名の CNAME レコードの追加」をご参照ください。
これらの手順の後、CDN は静的コンテンツの配信を高速化し、WAF は動的トラフィックの検査と保護を継続します。
ドメイン名 B に送信されたトラフィックを、WAF に追加されているドメイン名 A に転送するには、Alibaba Cloud DNS コンソールで URL 転送レコードを追加します。詳細については、「DNS レコードの追加」の「明示的または暗黙的な URL 転送レコードの追加」セクションをご参照ください。
設定の確認
以下のチェックを実行して、設定が機能していることを確認します:
-
接続性:ブラウザでドメイン名を開きます。ウェブサイトが読み込まれる場合、トラフィックは CDN と WAF を経由して正しくルーティングされています。
-
攻撃のブロック:テスト用の XSS ペイロードを URL に追加します。例:
<your-domain>/alert(xss)およびalert(xss)。405 エラーページが表示された場合、WAF は攻撃をブロックしています。
関連操作
Dynamic Route for CDN によって高速化されているドメインに WAF 保護を提供したい場合は、DCDN コンソールで [Edge WAF] を有効にして設定できます。設定が完了すると、WAF 保護が DCDN ノードに適用されます。詳細については、「Edge WAF のクイックスタート」をご参照ください。
Dynamic Route for CDN (DCDN) を使用するドメイン名を保護するには、DCDN コンソールで [WAF] を有効にします。詳細については、「WAF のクイックスタート (新規)」をご参照ください。
次のステップ
-
WAF へのドメイン名の追加 — CNAME レコードモードの詳細ガイド
-
透過型プロキシモード — 透過型プロキシモードの詳細ガイド
-
ドメイン名の追加 — Alibaba Cloud CDN へのドメイン名の追加