すべてのプロダクト
Search
ドキュメントセンター

Web Application Firewall:CNAME レコードモードに関するよくある質問

最終更新日:Jun 10, 2025

このトピックでは、Web Application Firewall (WAF) 3.0 に Web サービスを追加することに関するよくある質問への回答を提供します。Web Application Firewall (WAF)

概要

WAF における送信元 IP アドレスと原点復帰 IP アドレスの違いは何ですか?

  • WAF の原点復帰 IP アドレスWAF の原点復帰 IP アドレスとは、WAF がセキュリティ検査後に正当なトラフィックを送信元サーバーに転送するために使用する IP アドレス範囲のことです。これらの IP アドレスは Alibaba Cloud によって割り当てられ、送信元サーバーへのリクエストを開始するプロキシサーバーとして WAF を識別します。

    • 原点復帰 IP アドレス範囲は通常固定です。

    • 送信元サーバーの観点からは、クライアントからのすべてのリクエストは WAF によってインターセプトされ転送されます。クライアントの送信元 IP アドレスは、X-Forwarded-For などの HTTP ヘッダーフィールド、またはカスタムヘッダーフィールドに記録されます。

  • 送信元 IP アドレス送信元 IP アドレスとは、ビジネスをホストするバックエンドサーバーのパブリック IP アドレス、またはドメイン名から解決された IP アドレスのことです。これは、ユーザーが Web サイトにアクセスしたときに最終的にリクエストを受信し、レスポンスを返す宛先アドレスです。

    • 送信元 IP アドレスは、単一の IP アドレスまたは複数の IP アドレス (負荷分散用) にすることができます。

    • 送信元 IP アドレスは Web サイトの実際のサービスアドレスであり、Alibaba Cloud ECS、SLB、OSS、または他のクラウド サービス プロバイダー (CSP) にデプロイできます。

ECS インスタンスのプライベート IP アドレスを送信元 IP アドレスとして使用できますか?

いいえ、できません。これは、WAF がインターネット経由で送信元サーバーにリクエストを転送するためです。

WAF は 1 つのドメイン名に対して複数の送信元 IP アドレスを保護できますか?

はい。WAF コンソールでドメイン名を追加するときに、最大 20 個の送信元 IP アドレスを入力できます。

WAF は送信元サーバー間でリクエスト負荷をどのように分散しますか?

複数の送信元サーバーを構成すると、WAF は自動的に IP ハッシュメソッドを使用して、これらの送信元サーバー間でリクエスト負荷を分散します。ビジネス要件に基づいて他の負荷分散アルゴリズムを使用することもできます。詳細については、「ドメイン名を追加する」をご参照ください。

WAF はヘルスチェック機能をサポートしていますか?

はい、WAF はヘルスチェック機能をサポートしており、デフォルトで有効になっています。WAF はすべての送信元 IP アドレスの可用性をチェックします。送信元サーバーが使用できない場合、WAF はリクエストを別の送信元サーバーに転送します。

送信元サーバーが応答しない場合、WAF は自動的に送信元サーバーのクールダウン期間を設定します。期間が終了すると、WAF は引き続き送信元サーバーにリクエストを転送することがあります。

専用 IP アドレスを使用する WAF インスタンスは、DDoS 攻撃から防御できますか?

専用 IP アドレスを使用すると、ドメイン名が大量の DDoS 攻撃を受けているときに、他のドメイン名がアクセス不能になるのを防ぐことができます。詳細については、「専用 IP アドレスのメリット」をご参照ください。

WAF は CDN、Anti-DDoS Pro、または Anti-DDoS Premium と一緒にデプロイできますか?

はい、WAF は Alibaba Cloud CDN および Anti-DDoS Proxy と完全に互換性があります。Alibaba Cloud CDN または Anti-DDoS Proxy と一緒に WAF をデプロイする場合、Alibaba Cloud CDN または Anti-DDoS Pro にドメイン名を追加するときに、送信元サーバーのアドレスを WAF によって割り当てられた CNAME に設定するだけで済みます。送信元サーバーのアドレスが WAF によって割り当てられた CNAME に設定されている場合、リクエストは Alibaba Cloud CDN または Anti-DDoS Proxy によって WAF に転送され、次に送信元サーバーに転送されます。詳細については、「Anti-DDoS Pro と WAF を使用して Web サイトを保護する」および「WAF と CDN を使用して、CDN アクセラレーションが有効になっているドメイン名を保護する」をご参照ください。

異なる Alibaba Cloud アカウントを使用して、WAF を CDN および Anti-DDoS Pro または Anti-DDoS Premium と一緒にデプロイできますか?

はい、異なるアカウントを使用して、WAF を CDN および Anti-DDoS Pro または Anti-DDoS Premium と一緒にデプロイできます。これにより、DDoS 攻撃と Web アプリケーション攻撃から防御できます。

WAF は、アップロードされた証明書とその秘密鍵のセキュリティをどのように確保しますか? WAF は HTTPS トラフィックを復号化し、HTTPS リクエストの内容を記録しますか?

HTTPS サービスを保護するために WAF を使用する場合は、必要な SSL 証明書とその秘密鍵をアップロードする必要があります。これにより、WAF は HTTPS トラフィックを復号化して攻撃を検出し、攻撃の特性を分析できます。Alibaba Cloud は、専用のキーサーバーを使用して秘密鍵を保存および管理します。キーサーバーは Alibaba Cloud Key Management Service (KMS) に基づいており、証明書と秘密鍵のデータセキュリティ、整合性、および可用性を確保できます。これは、規制、等級保護、およびコンプライアンスの要件を満たすのに役立ちます。KMS の詳細については、「Key Management Service とは」をご参照ください。

WAF は、リアルタイムで攻撃が検出された場合にのみ、アップロードされた証明書とその秘密鍵を使用して HTTPS トラフィックを復号化します。WAF は、リクエストペイロードの特定の内容のみを記録します。内容は攻撃の特性に基づいて決定されます。その後、WAF はコンテンツに基づいて攻撃レポートとデータ統計を提供できます。WAF は、WAF が承認されている場合にのみ、リクエストまたはレスポンスの全内容を記録できます。

WAF は、ISO 9001、ISO 20000、ISO 22301、ISO 27001、ISO 27017、ISO 27018、ISO 27701、ISO 29151、BS 10012、Cloud Security Alliance (CSA) STAR 認証、中国サイバーセキュリティ多層防御スキーム (MLPS 2.0) レベル III、サービス組織管理 (SOC) 1、SOC 2、SOC 3、クラウドコンピューティングコンプライアンス管理カタログ (C5)、香港品質保証局 (HKQAA) によって開発されたグリーンファイナンス認証スキーム、外部委託サービスプロバイダーの監査レポート (OSPAR)、およびペイメントカード業界データセキュリティ基準 (PCI DSS) など、さまざまな権威ある認証を取得しています。WAF はまた、Alibaba Cloud と同じセキュリティおよびコンプライアンス資格を提供します。詳細については、「Alibaba Cloud Trust Center」をご参照ください。

ドメイン名が WAF に追加されました。ドメイン名リストにドメイン名が見つからないのはなぜですか?

ドメイン名が WAF によって自動的に削除された可能性があります。これは、ドメイン名の ICP 登録情報が無効な場合に発生します。ドメイン名の ICP 登録を完了し、ドメイン名を WAF に再度追加する必要があります。Alibaba Cloud での ICP 登録の詳細については、「ICP 登録プロセス」をご参照ください。

重要

中国本土の WAF インスタンス () にドメイン名を追加して保護する前に、ドメイン名の ICP 登録情報が有効であることを確認してください。関連する法律および規制に準拠するために、中国本土の WAF インスタンスは、ICP 登録情報が無効なドメイン名を定期的に削除します。

WAF は、カスタムヘッダーフィールドを使用して、クライアントの送信元 IP アドレスをどのように取得して記録しますか?

WAF は、次の方法でクライアントの送信元 IP アドレスを取得します。Anti-DDoS Proxy や Alibaba Cloud CDN など、WAF の前に Layer 7 プロキシがデプロイされている場合、X-Client-IP や X-Real-IP などのカスタムヘッダーフィールドを使用して、クライアントの送信元 IP アドレスをリクエストヘッダーに含めることができます。これにより、攻撃者が X-Forward-For ヘッダーを偽造して WAF の検出をバイパスするのを防ぎ、ビジネスセキュリティを強化できます。WAF でカスタムヘッダーフィールドを構成すると、WAF はヘッダーフィールドの値をクライアントの送信元 IP アドレスとして使用します。複数のカスタムヘッダーフィールドを構成すると、WAF はヘッダーフィールドからクライアントの送信元 IP アドレスを順番に読み取ります。

WAF は、次の方法でクライアントの送信元 IP アドレスを記録します。WAF に Web サイトを追加するときに、トラフィックマーキング機能を有効にできます。この機能により、WAF が送信元サーバーにリクエストを転送するときに、WAF はカスタムヘッダーフィールドにクライアントの送信元 IP アドレスを記録できます。これにより、送信元サーバーはビジネス分析のためにカスタムヘッダーフィールドからクライアントの送信元 IP アドレスを取得できます。

ウェブサイト設定ページに追加する CLB、NLB、または ECS インスタンスが見つかりません。どうすればよいですか?

問題の説明

ウェブサイト設定ページで、WAF に追加する Classic Load Balancer (CLB)、Network Load Balancer (NLB)、または Elastic Compute Service (ECS) インスタンス が見つかりません。

解決策

原因

操作

CLB、NLB、または ECS インスタンスが要件を満たしていません。

次のトピックの「制限」セクションで指定されている要件を CLB、NLB、または ECS インスタンスが満たしていることを確認します。「Layer 7 CLB インスタンスの WAF 保護を有効にする」、「Layer 4 CLB インスタンスの WAF 保護を有効にする」、「NLB インスタンスの WAF 保護を有効にする」、および「ECS インスタンスの WAF 保護を有効にする」。

必要なリスナーが CLB インスタンスに追加されていません。

CLB、NLB、または ECS インスタンスが WAF に同期されていません。

  1. WAF 3.0 コンソール にログインします。上部のナビゲーションバーで、WAF インスタンスのリソースグループとリージョンを選択します。中国本土 または 中国本土以外 を選択できます。

  2. 左側のナビゲーションウィンドウで、アクセス管理 をクリックします。

  3. 必要なクラウドサービスを選択し、[追加] をクリックします。[追加].

  4. 表示されるパネルで、[インスタンスの同期] をクリックします。[インスタンスの同期]

CLB インスタンスの HTTPS リスナーポートを WAF に追加すると、インスタンスに必要な証明書が不完全であるというメッセージが表示されます。どうすればよいですか?

問題の説明

CLB インスタンスの HTTPS リスナーポートを WAF に追加すると、WAF はポートに構成されている証明書のソースをチェックします。次のエラーメッセージが表示されます。ポート番号が {port} の CLB 証明書が不完全です。SLB コンソールに移動し、Certificate Management Service からの証明書を選択してください。

原因

  • 証明書は Alibaba Cloud Certificate Management Service を使用して購入されておらず、Certificate Management Service にアップロードされていません。

  • CLB インスタンスの HTTPS リスナーポートに構成されている証明書は、CLB インスタンスにアップロードされています。この場合、証明書は Certificate Management Service に自動的に同期されません。ただし、WAF は Certificate Management Service からのみ証明書情報を取得します。その結果、WAF は証明書の完全な情報を取得できず、エラーメッセージ が表示されます。

  • 証明書は Certificate Management Service にアップロードされましたが、手動で削除されました。この場合、WAF は Certificate Management Service から証明書に関する情報を取得できません。

解決策

  1. Certificate Management Service に証明書をアップロードします。詳細については、「SSL 証明書をアップロードする」をご参照ください。

  2. CLB コンソールで証明書を追加し、「証明書ソースの選択」で「Alibaba Cloud 証明書」を選択します。詳細については、「Alibaba Cloud SSL Certificates Service からの証明書を使用する」をご参照ください。

  3. CLB コンソールで、ポートに追加された証明書を選択します。詳細については、「手順 2: SSL 証明書を構成する」をご参照ください。

Web サービスを WAF に追加した後、WAF が HTTP 502 ステータスコードを返します。どうすればよいですか?

問題の説明

WAF に追加された Web サービスにアクセスすると、WAF が HTTP 502 ステータスコードを返します。ログがクエリされ、結果は WAF が HTTP 502 ステータスコードを返すリクエストを含みます。

原因と解決策

シナリオ 1: CNAME モードで HTTP 502 ステータスコードが返される

CNAME モードでは、送信元サーバー (ECS インスタンスや CLB インスタンスなど) が WAF にアクセスできない場合、HTTP 502 ステータスコードが返されることがあります。最初に、セキュリティグループ、iptables、ファイアウォール、Security Dog、Cloud Lock など、WAF アクセスを制限する可能性のあるルールまたはソフトウェアがないか確認することをお勧めします。たとえば、ECS インスタンスのセキュリティグループで WAF 原点復帰 CIDR ブロックからのアクセスを許可する 必要があります。また、WAF コンソールで構成されたドメイン名と送信元サーバーの情報が実際のビジネスと一致していることを確認する必要があります。ドメイン名と送信元サーバーの情報が一致しないと、このエラーが発生する可能性もあります。

どうしても必要な場合を除き、インライン JavaScript は一般的に避けるのが最善です。ほとんどの状況では、エンキューイングが推奨される方法です。

シナリオ 2: Layer 7 CLB インスタンスの WAF 保護を有効にした後、HTTP 5XX ステータスコードが断続的に返される

現在のネットワークアーキテクチャ

原因分析

WAF から CLB へのアイドル接続のタイムアウト期間は 3,600 秒、つまり 1 時間です。

  • WAF から CLB への接続で 1 時間以内にデータが転送されない場合、WAF は自動的に接続を閉じます。

    image

CLB から WAF へのアイドル接続のタイムアウト期間は 15 秒です。

  • この場合、WAF は CLB のクライアントとして機能します。CLB から WAF への接続で 15 秒以内にデータが転送されない場合、CLB は自動的に接続を閉じます。

    image

極端な場合、接続がエージングされた時点で、WAF は持続的接続を介して原点復帰リクエストを CLB に返します。15 秒以内に接続を介してデータが転送されない場合、CLB は持続的接続をエージングします。この場合、CLB は持続的接続に関する情報を保存せず、 RST パケットを送信して接続を終了します。この場合、WAF は HTTP 502 ステータスを使用してリクエストをログに記録します。

解決策

ヒント: カスタム投稿タイプとカスタム分類を登録する際には、一意の名前を使用するようにしてください。

image

シナリオ 3: URI が長すぎる場合に HTTP 502 ステータスコードが返される

現在のネットワークアーキテクチャ

原因分析

Layer 7 CLB は、WAF がトラフィックを転送するときのネクストホップとして機能します。ただし、CLB は Uniform Resource Identifier (URI) の長さが最大 32 KB のリクエストのみをサポートします。リクエストの URI の長さが上限を超えると、CLB はリクエストを拒否します。この場合、CLB はログに HTTP 414 ステータスコードを記録し、WAF は HTTP 502 ステータスコードを返します。

解決策

URI の長さを短くします。大量のデータの場合は、POST メソッドを使用してデータを送信します。

シナリオ 4: WAF が原点復帰リクエストを転送する複数の Layer 4 CLB インスタンスによって HTTP 502 ステータスコードが断続的に返される

現在のネットワークアーキテクチャ

現在のネットワークアーキテクチャでは、Web サービスは リバースプロキシ モードで WAF に追加されます。WAF は、原点復帰リクエストを複数の Layer 4 CLB インスタンスに転送します。ECS インスタンスは CLB インスタンスのバックエンドサーバーとして機能し、同じポートをリッスンします。

原因分析

ECS インスタンスが複数の Layer 4 CLB インスタンスのバックエンドサーバーとして機能し、CLB インスタンスが同じバックエンドサーバーポートを使用する場合、次の問題が発生する可能性があります。複数のクライアントが CLB によって提供される Web サービスを同時にリクエストし、リクエストが同じ WAF ノードによって CLB に転送される場合、同じ原点復帰 IP アドレスが使用され、TCP レイヤーで競合が発生するため、Web サービスへの接続が失敗したりタイムアウトしたりすることがあります。

ケース 1: ファイブタプル競合と TCP ストリームの無秩序

WAF が複数の CLB インスタンスを保護する場合、インスタンスは WAF の同じ原点復帰 IP アドレスからリクエストを受信することがあります。

  1. WAF インスタンスノードが原点復帰リクエストを CLB1 に転送すると、接続 (WIP:CPORT->VIP1:VPORT1) はバックエンド ECS インスタンスに到達すると (WIP:CPORT->DIP:DPORT) に変換されます。

  2. WAF インスタンスノードが原点復帰リクエストを CLB2 に転送すると、接続 (WIP:CPORT->VIP2:VPORT2) はバックエンド ECS に到達すると (WIP:CPORT->DIP:DPORT) に変換されます。

  3. バックエンドサーバー上の 2 つの TCP 接続のシーケンス番号とステータスが競合するため、接続の確立に失敗します。具体的には、開始された 2 つの TCP 接続は、バックエンドサーバー上で同じファイブタプル (TCP:WIP:CPORT:DIP:DPORT) を持つと見なされます。このタイプのファイブタプル競合により、SYN パケットが破棄される可能性があります。

ケース 2: レスポンスの無秩序

完全なリクエストパスでは、リクエストを開始した CLB インスタンスは、レスポンスを返す CLB インスタンスとは異なります。

  1. WAF が CLB2 に SYN パケットを送信すると、ファイブタプルは WIP:CPORT->VIP1:VPORT1 になります。パケットがバックエンド ECS2 に到達すると、ファイブタプルは WIP:CPORT->DIP:DPORT になります。

  2. この時点で ECS2 にファイブタプル TCP:WIP:CPORT:DIP:DPORT で TIME-WAIT 状態の接続がある場合、最初の手順からの SYN パケットを受信し、SYN が有効であると判断し、SYN-ACK パケットで応答します。

  3. ECS2 は複数の SLB インスタンスにマウントされているため、CLB1 に SYN-ACK パケットで応答する可能性があります。CLB1 にこのファイブタプルを持つセッションがない場合、CLB1 は双方向のデータパケットをリセットし、WAF が 502 エラーを返す原因となります。

解決策

(推奨) 解決策 1

ネットワークアーキテクチャを調整します。たとえば、Layer 4 CLB インスタンスを Layer 7 CLB インスタンスに置き換えて、異なる Layer 4 CLB インスタンスから同じポート上の同じバックエンドサーバーへのリクエスト転送を防ぎます。

解決策 2

CLB インスタンスを NLB インスタンスに置き換えます。NLB インスタンスを構成するときは、クライアント IP の保持をオフにしてファイブタプル競合を解決します。次に、バックエンドサーバーのプロキシプロトコルを有効にして、クライアントの送信元 IP アドレスを取得します。詳細については、「プロキシプロトコルを有効にする」をご参照ください。

image

手順

  1. Network Load Balancer (NLB) コンソール にログインします。上部のナビゲーションバーで、NLB インスタンスが配置されているリージョンを選択します。

  2. 左側のナビゲーションウィンドウで、[Network Load Balancer (NLB)] > > [サーバーグループ] を選択します。

  3. サーバーグループを見つけ、「操作」列の [基本情報の編集] をクリックします。[基本情報の編集] ダイアログボックスで、「クライアント IP の保持」をオフにして変更を保存します。

(非推奨) 解決策 3

チケット を送信して FULLNAT モードを有効にすることができます。複数の CLB インスタンス が同じポート上の同じバックエンドサーバーにリクエストを転送する場合、FullNat は送信元アドレスを変更して各接続のファイブタプルを一意にし、競合を回避します。ファイブタプル競合を防ぐために、CLB リスナーの FULLNAT モードを有効にします。

Web サービスを WAF に追加した後、ファイルのアップロードに失敗します。どうすればよいですか?

この問題は、ファイルサイズが 2 GB の上限を超えているために発生する可能性があります。WAF は最大 2 GB のファイルアップロードをサポートしています。リクエスト本文が 2 GB を超えると、WAF は HTTP 413 ステータスコードを返します。返されたステータスコードに基づいて、ファイル転送サイズ制限に達したかどうかを判断できます。