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

Web Application Firewall:レイヤー 4 CLB インスタンスの WAF 保護を有効にする

最終更新日:Jun 10, 2025

Classic Load Balancer(CLB)インスタンスを作成し、そのインスタンスに TCP リスナーを追加した場合は、インスタンスのリスナーポートを Web Application Firewall(WAF) に追加して、インスタンスの Web トラフィックを WAF にリダイレクトして保護します。このトピックでは、レイヤー 4 CLB インスタンスの WAF 保護を有効にする方法について説明します。

背景情報

同じリージョンにデプロイされた Elastic Compute Service(ECS)インスタンスを CLB インスタンスに追加すると、CLB は仮想 IP アドレス(VIP)を使用して ECS インスタンスを高性能、高可用性のサーバープールに結合します。次に、CLB は転送ルールに基づいて受信リクエストを ECS インスタンスに転送します。詳細については、「CLB とは」をご参照ください。

WAF はレイヤー 4 CLB インスタンスを保護しますが、HTTP および HTTPS の Web トラフィックのみを対象とします。 WAF 保護を有効にするには、CLB インスタンスのトラフィックリダイレクトポートを WAF に追加します。追加されると、トラフィックリダイレクトが有効になっているポートからのトラフィックは、特定のゲートウェイを介して WAF にリダイレクトされます。 WAF は悪意のあるトラフィックをフィルタリングし、通常のトラフィックを CLB インスタンスに転送します。次の図は、ネットワークアーキテクチャを示しています。

制限

次の Alibaba Cloud サービスのいずれかを使用する Web サービスは、クラウドネイティブモードで WAF に追加できます。Application Load Balancer(ALB)、マイクロサービスエンジン(MSE)、Function Compute、Classic Load Balancer(CLB)、Elastic Compute Service(ECS)、および Network Load Balancer(NLB)。。上記の Alibaba Cloud サービスを使用していない Web サービスを WAF で保護する場合は、Web サービスのドメイン名を CNAME レコードモードで WAF に追加します。詳細については、「WAF にドメイン名を追加する」をご参照ください。

項目

説明

サポートされているインスタンス

次の要件を満たすインスタンスのみを WAF に追加します。

  • インスタンスはインターネットに接続されているインスタンスです。

  • インスタンスは IPv6 を使用していません。

  • インスタンスの相互認証は無効になっています。

サポートされているリージョン

  • 中国本土: 中国(成都)、中国(北京)、中国(張家口)、中国(杭州)、中国(上海)、中国(深圳)、および中国(青島)。

  • 中国本土以外: 中国(香港)、マレーシア(クアラルンプール)、インドネシア(ジャカルタ)、およびシンガポール。

トラフィックリダイレクトポートの数

トラフィックリダイレクトポートの最大数は、保護対象の最大数と同じです。

  • サブスクリプション WAF インスタンス: Basic エディションでは 300、Pro エディションでは 600、Enterprise エディションでは 2,500、Ultimate エディションでは 10,000 です。

  • 従量課金制 WAF インスタンス: 10,000

Anti-DDoS Proxy および WAF によって保護されているサービス

Anti-DDoS Proxy および WAF を使用して Web サービスを保護する場合は、ドメイン名を追加することで Anti-DDoS Proxy にサービスを追加する場合にのみ、透過プロキシモードで WAF にサービスを追加します。

前提条件

  • WAF 3.0 インスタンスが購入されています。詳細については、「サブスクリプション WAF 3.0 インスタンスを購入する」および「従量課金制 WAF 3.0 インスタンスを購入する」をご参照ください。

  • 要件を満たす CLB インスタンスが作成されています。 TCP リスナーが CLB インスタンスに追加されています。要件の詳細については、制限 を参照してください。 CLB インスタンスに TCP リスナーを追加する方法の詳細については、「TCP リスナーを追加する」をご参照ください。

  • サブスクリプション WAF インスタンスを使用する場合は、WAF に追加された保護対象の数が上限を超えていないことを確認してください。数が上限を超えている場合は、クラウドサービスインスタンスを WAF に追加しないでください。

    WAF に追加できる保護対象の数を表示するには、[保護対象] ページ にアクセスします。image.png

トラフィックリダイレクトポートを追加する

重要
  • WAF にインスタンスを追加すると、Web サービスが数秒間中断される場合があります。クライアントが自動的に再接続できる場合、Web サービスは自動的に再開します。ビジネス要件に基づいて、再接続メカニズムとオリジン復帰設定を構成します。

  • [レイヤー 4 CLB][ECS]、または [NLB] インスタンスを WAF に追加した後に次の操作を実行すると、トラフィックリダイレクトポートは WAF から自動的に削除されます。ポートを WAF に再度追加しないと、ポート上のトラフィックは WAF によってフィルタリングされません。

    • インスタンスに関連付けられているパブリック IP アドレスを変更します。

      説明

      NLB インスタンスのパブリック IP アドレスが変更された場合、トラフィックリダイレクトは無効になりません。

    • 相互認証を有効にします。

    • インスタンスからリスナーポートを削除します。

    • インスタンスを削除します。

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

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

  3. [クラウドネイティブ] タブで、左側のクラウドサービスリストの [CLB(TCP)] をクリックします。

  4. 認証ページで、今すぐ許可する をクリックして、WAF インスタンスに必要なクラウドサービスへのアクセスを承認します。

    Alibaba Cloud は、[AliyunServiceRoleForWAF] サービスロールを自動的に作成します。サービスロールを表示するには、Resource Access Management(RAM)コンソール にログインし、左側のナビゲーションウィンドウで [ID] > [ロール] を選択します。

    説明

    認証が完了すると、認証ページは表示されません。次の手順に進むことができます。

  5. [追加] をクリックします。

  6. [インスタンスの設定 - レイヤー 4 CLB インスタンス] パネルで、パラメータを設定します。次の表にパラメータを示します。

    image.png

    パラメータ

    操作

    追加するインスタンスとポートを選択します。

    1. (オプション) [インスタンスの同期]

      WAF に追加するインスタンスがインスタンスリストにない場合は、資産の同期 をクリックしてインスタンスリストを更新します。

    2. [ポートの追加]

      1. WAF に追加するインスタンスを見つけ、ポートの追加操作 列でクリックします。

      2. WAF に追加する [ポート] を選択します。

      3. WAF に追加するポートの [プロトコルタイプ] を選択します。有効な値: [HTTP] および [HTTPS]

        [HTTPS] を選択した場合は、証明書をアップロードする必要があります。

        説明

        アップロードするデフォルト証明書と追加証明書の合計数は 25 を超えることはできません。さらに証明書をアップロードする場合は、アカウントマネージャーまたはソリューションアーキテクトにお問い合わせください。

          • デフォルト証明書

            • 手動アップロード

              手動アップロード をクリックし、証明書名証明書ファイル、および キーファイル パラメータを設定します。「証明書ファイル」パラメータの値は、-----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- 形式である必要があります。「秘密鍵」パラメータの値は、-----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY----- 形式である必要があります。

              重要
              • 証明書ファイルが PEM、CER、または CRT 形式の場合は、テキストエディタを使用してファイルを開き、テキストの内容をコピーします。証明書ファイルが PFX や P7B などの別の形式の場合は、テキストエディタで開いて内容をコピーする前に、証明書ファイルを PEM 形式に変換します。Certificate Management Service コンソール にログインし、提供されているツールを使用して ファイル形式を変換できます。

              • ドメイン名が複数の SSL 証明書に関連付けられている場合、または証明書チェーンがある場合は、証明書ファイルのテキストの内容を結合し、結合されたテキストの内容をアップロードします。

            • 既存ファイルを選択

              証明書が次のいずれかの条件を満たしている場合は、既存ファイルを選択 をクリックし、証明書リストから証明書を選択します。

              • 証明書は Certificate Management Service を使用して発行されます。

              • 証明書は、Certificate Management Service にアップロードされたサードパーティ証明書です。

                重要

                Certificate Management Service にアップロードされたサードパーティ証明書を選択し、証明書チェーンの整合性の検証に失敗しました。この証明書を使用すると、サービスへのアクセスに影響が出る可能性があります というエラーメッセージが表示された場合は、[Alibaba Cloud Security - Certificate Management Service] をクリックし、Certificate Management Service コンソールで証明書を再アップロードしてください。詳細については、「SSL 証明書のアップロードと共有」をご参照ください。

          • 拡張証明書

            インスタンスが HTTPS 経由で複数のドメイン名からのトラフィックを許可するように設定されている場合は、拡張証明書 をクリックして、ドメイン名の証明書をインポートします。追加証明書とデフォルト証明書のアップロードに使用されるパラメータは同じです。詳細については、デフォルトの証明書 を参照してください。

          • [HTTPS] を選択した場合は、詳細設定 をクリックして、次の詳細パラメータを設定できます。

            • TLS バージョン

              HTTPS 通信でサポートされる Transport Layer Security(TLS)プロトコルのバージョンを指定します。クライアントがサポートされていない TLS バージョンを使用している場合、WAF はクライアントから送信されたリクエストをブロックします。 TLS プロトコルの新しいバージョンは、より高いセキュリティを提供しますが、互換性は低くなります。

              Web サイトの HTTPS 設定に基づいて TLS バージョンを指定することをお勧めします。 Web サイトの HTTPS 設定を取得できない場合は、デフォルト値を使用します。

              有効な値:

              • TLS 1.0 以上をサポートします。互換性が一番高いが、安全性が低いです。 (デフォルト)

              • TLS 1.1 以上をサポートします。互換性と安全性を兼ね備えております

                この値を選択すると、TLS 1.0 を使用するクライアントは Web サイトにアクセスできません。

              • TLS 1.2 以上をサポートします。互換性と安全性が優れています。

                この値を選択すると、TLS 1.0 または 1.1 を使用するクライアントは Web サイトにアクセスできません。

              Web サイトが TLS 1.3 をサポートしている場合は、TLS 1.3 以上対応 を選択します。デフォルトでは、WAF は TLS 1.3 を使用して送信されたリクエストをリッスンしません。

            • 暗号スイート

              HTTPS 通信でサポートされる暗号スイートを指定します。クライアントがサポートされていない暗号スイートを使用している場合、WAF はクライアントから送信されたリクエストをブロックします。

              デフォルト値は [すべての暗号スイート (高い互換性と低いセキュリティ)] です。 Web サイトが特定の暗号スイートをサポートしている場合にのみ、このパラメータを別の値に設定することをお勧めします。

              有効な値:

              • すべての暗号スイート (高い互換性、低い安全性)

              • カスタム暗号スイート (プロトコルバージョンに応じて慎重に選択してください): Webサイトが特定の暗号スイートのみをサポートしている場合は、この値を選択し、Webサイトでサポートされている暗号スイートを選択することをお勧めします。詳細については、「サポートされている暗号スイートを表示する」をご参照ください。

                他の暗号スイートを使用するクライアントは Web サイトにアクセスできません。

    WAF の前に Anti-DDoS Pro、Anti-DDoS Premium、または Alibaba Cloud CDN などのレイヤー 7 プロキシがデプロイされているかどうか

    Anti-DDoS Proxy や Alibaba Cloud CDN などのレイヤー 7 プロキシが WAF の前にデプロイされているかどうかを指定します。有効な値:はい と いいえ。

    • デフォルトでは、No が選択されています。この値は、WAF がクライアントから送信されたリクエストを受信することを指定します。リクエストはプロキシによって転送されません。

      説明

      クライアントから WAF にリクエストが送信されると、WAF は WAF への接続の確立に使用された IP アドレスをクライアントの IP アドレスとして使用します。IP アドレスは、リクエストの REMOTE_ADDR フィールドによって指定されます。

    • WAF の前にレイヤー 7 プロキシがデプロイされている場合は、Yes を選択します。この値は、WAF がレイヤー 7 プロキシによって WAF に転送されたリクエストを受信することを指定します。WAF がセキュリティ分析のためにクライアントの実際の IP アドレスを取得できるようにするには、クライアント IP の取得方法 パラメーターを設定する必要があります。

      • X-Forwarded-For の最初の IP アドレスをクライアント送信元 IP とする (デフォルト)

        デフォルトでは、WAF は X-Forwarded-For フィールドの最初の IP アドレスをクライアントの IP アドレスとして使用します。

      • 【推奨】偽装 XFF を回避するために、指定したヘッダの最初の IP アドレスをクライアント送信元 IP アドレスとする

        X-Client-IP や X-Real-IP などのカスタムヘッダーフィールドにクライアントの送信元 IP アドレスが含まれているプロキシを使用する場合は、この値を選択します。次に、ヘッダフィールド フィールドにカスタムヘッダーフィールドを入力します。

        説明

        クライアントの送信元 IP アドレスを格納するためにカスタムヘッダーフィールドを使用し、WAF でヘッダーフィールドを指定することをお勧めします。このようにして、攻撃者は WAF 検査をバイパスするために X-Forwarded-For フィールドを偽造することはできません。これはビジネスのセキュリティを向上させます。

        複数のヘッダーフィールドを入力できます。ヘッダーフィールドを入力するたびに Enter キーを押します。複数のヘッダーフィールドを入力すると、WAF はクライアントの IP アドレスを取得するまで、ヘッダーフィールドを順番に読み取ります。WAF がヘッダーフィールドからクライアントの IP アドレスを取得できない場合、WAF は X-Forwarded-For フィールドの最初の IP アドレスをクライアントの IP アドレスとして使用します。

    リソースグループ

    インスタンスを追加するリソースグループを選択します。リソースグループを選択しない場合、インスタンスは [デフォルト リソースグループ] に追加されます。

    説明

    リソース管理を使用して、部署またはプロジェクトごとに Alibaba Cloud アカウント内でリソースグループを作成し、リソースを管理できます。詳細については、「リソースグループを作成する」をご参照ください。

    詳細設定

    • X-Forwarded-Proto ヘッダーフィールドを使用して WAF のリスニングプロトコルを取得する

      X-Forwarded-Proto ヘッダーフィールドは、HTTP リクエストに自動的に追加されます。 X-Forwarded-Proto ヘッダーフィールドは、クライアントが使用した元のプロトコルを識別するために使用されます。 Webサイトで X-Forwarded-Proto ヘッダーフィールドを正しく処理できない場合、互換性の問題が発生し、ビジネスに影響を与える可能性があります。 このような問題を防ぐために、「X-Forwarded-Proto ヘッダーフィールドを使用して WAF のリスニングプロトコルを取得する」をオフにします。

    • トラフィックマークの有効化

      [トラフィックマークを有効にする] を選択すると、WAF を通過するリクエストがマークされます。 これにより、オリジンサーバーはクライアントの送信元 IP アドレスまたはポートを取得できます。

      ドメイン名を WAF に追加する前に、攻撃者がオリジンサーバーに関する情報を取得し、別の WAF インスタンスを使用してオリジンサーバーにリクエストを転送する場合、[トラフィックマークを有効にする] を選択して悪意のあるトラフィックを遮断します。 オリジンサーバーは、リクエストが WAF を通過したかどうかを確認します。 指定されたヘッダーフィールドがリクエストに存在する場合、リクエストは WAF を通過し、許可されます。 指定されたヘッダーフィールドがリクエストに存在しない場合、リクエストは WAF を通過しなかったため、ブロックされます。

      以下のタイプのヘッダーフィールドを設定できます。

      • カスタムヘッダ

        カスタムヘッダーフィールドを追加する場合、ヘッダ名 パラメーターと ヘッダ値 パラメーターを設定する必要があります。 WAF は、原点復帰リクエストにヘッダーフィールドを追加します。 これにより、オリジンサーバーはリクエストが WAF を通過したかどうかを確認し、統計を収集し、データを分析できます。

        たとえば、ALIWAF-TAG: Yes カスタムヘッダーフィールドを追加して、WAF を通過するリクエストをマークできます。 この例では、ヘッダーフィールドの名前は ALIWAF-TAG で、ヘッダーフィールドの値は Yes です。

      • リアル送信元 IP アドレス

        クライアントの送信元 IP アドレスを記録するヘッダーフィールドを指定できます。 これにより、オリジンサーバーはクライアントの送信元 IP アドレスを取得できます。 WAF がクライアントの送信元 IP アドレスを取得する方法の詳細については、「WAF の前に Anti-DDoS Pro、Anti-DDoS Premium、Alibaba Cloud CDN などのレイヤー 7 プロキシがデプロイされているかどうか」をご参照ください。

      • ソースポート

        クライアントの送信元ポートを記録するヘッダーフィールドを指定できます。 これにより、オリジンサーバーはクライアントのポートを取得できます。

      重要

      User-Agent などの標準 HTTP ヘッダーフィールドは設定しないことをお勧めします。 設定すると、標準ヘッダーフィールドの元の値がカスタムヘッダーフィールドの値で上書きされます。

      マークの追加 をクリックして、ヘッダーフィールドを追加します。 最大 5 つのヘッダーフィールドを指定できます。

    • 原点復帰 Keep-alive リクエスト

      WAF とオリジンサーバー間の持続的接続がタイムアウトした場合、持続的接続のタイムアウト期間、再利用される持続的接続の数、およびアイドル状態の持続的接続のタイムアウト期間を再設定できます。

      • 読み取り接続タイムアウト期間: WAF がオリジンサーバーからの応答を待機する時間。 タイムアウト期間が終了すると、WAF は接続を閉じます。 有効な値: 1 ~ 3600 。 デフォルト値: 120 。 単位: 秒。

      • 書き込み接続タイムアウト期間: WAF がリクエストがオリジンサーバーに転送されるのを待機する時間。 タイムアウト期間が終了すると、オリジンサーバーは接続を閉じます。 有効な値: 1 ~ 3600 。 デフォルト値: 120 。 単位: 秒。

      • Back-to-origin の持続的接続: 再利用される持続的接続の数またはアイドル状態の持続的接続のタイムアウト期間を設定する場合、[オリジンへのキープアライブリクエスト] をオンにして、次のパラメーターを設定します:

        • 持続的接続の復元リクエスト数: WAF がオリジンサーバーに転送できるリクエストの数、または WAF がオリジンサーバーから同時に受信できる応答の数。 有効な値: 60 ~ 1000 。 デフォルト値: 1000 。

        • アイドル時の長時間の接続タイムアウト: アイドル状態の持続的接続のタイムアウト期間。 有効な値: 10 ~ 3600 。 デフォルト値: 3600 。 単位: 秒。

  7. WAF に追加する CLB インスタンスを選択し、[OK] をクリックします。

    CLB インスタンスを WAF に追加すると、インスタンスは自動的に WAF の保護対象になります。保護対象の名前は、インスタンス ID-ポート-アセット タイプの形式です。デフォルトでは、コア保護ルールモジュールの保護ルールが保護対象に対して有効になっています。[保護対象] ページで、保護対象を表示し、対象の保護ルールを構成します。[保護対象] ページに移動するには、[Web サイト構成] ページの [Cloud Native] タブで、WAF に追加した CLB インスタンスの ID をクリックします。詳細については、「保護構成の概要」をご参照ください。防护对象

その他の操作

オリジンサーバーを表示し、トラフィック リダイレクト ポートを管理します

WAF に CLB インスタンスを追加した後、オリジンサーバーの保護の詳細を表示し、緊急ディザスタリカバリシナリオでトラフィックリダイレクトを強制的に無効にするか、トラフィックリダイレクトポートを削除します。

  1. アクセス管理 ページで、クラウドプロダクトアクセス タブをクリックします。

  2. 左側のクラウドサービスリストで、[CLB(TCP)] をクリックします。トラフィックリダイレクトポートを表示する CLB インスタンスを見つけ、インスタンス名の左側にある image.png アイコンをクリックして、WAF に追加されているポートを表示します。image.png

    • ポートの詳細を表示ポート詳細 を [アクション] 列でクリックし、ポート、プロトコル、および証明書に関する情報を表示します。次に、次のパラメーターを設定します。WAF の前に Anti-DDoS Pro、Anti-DDoS Premium、または Alibaba Cloud CDN などのレイヤー 7 プロキシがデプロイされているかどうかトラフィックマークを有効にする(詳細設定)、および オリジンへのキープアライブリクエスト(詳細設定)。

    • ポートを削除する接続解除 をクリックし、OK接続解除 メッセージでクリックします。

      重要

      WAF からトラフィックリダイレクトポートを削除すると、Web サービスが数秒間中断される場合があります。クライアントが自動的に再接続できる場合、Web サービスは自動的に再開されます。ビジネス要件に基づいて、再接続メカニズムとオリジンへの復帰設定を構成します。

      トラフィックリダイレクトポートを削除すると、そのポートのトラフィックは WAF によって保護されなくなります。ポートを WAF に再度追加するには、[追加] をクリックします。詳細については、「トラフィックリダイレクトポートを追加する」をご参照ください。

トラフィック リダイレクト ポートに関連付けられた証明書を更新する

トラフィック リダイレクト ポートに関連付けられている証明書の有効期限が切れそうになった場合、または証明書が取り消された場合など、証明書が変更された場合は、証明書を更新する必要があります。

説明
  • 証明書の残りの有効期間が 30 日未満の場合、ドメイン名リストに image.png アイコンが表示されます。これは、証明書の有効期限が切れようとしていることを示します。この場合、できるだけ早く証明書を更新する必要があります。

  • 証明書の有効期限が切れそうなときに、メールやショートメッセージなどの方法で通知を受け取る場合は、「証明書の通知を設定する」をご参照ください。

  • 証明書の有効期限切れによるサービス中断を防ぐために、Certificate Management Service の 証明書のホスティング機能 を有効にします。証明書に対してこの機能を有効にすると、ホストされている証明書の有効期限が切れそうなときに、システムによって 新しい証明書が自動的に申請されます。

WordPress 5.x 以降では、REST API はデフォルトで有効になっています。詳細については、「WordPress REST API ハンドブック」をご参照ください。

  1. 証明書を更新するか、サードパーティの証明書を Certificate Management Service にアップロードします。詳細については、「公式 SSL 証明書を更新する」または「SSL 証明書をアップロードして共有する」をご参照ください。

  2. 証明書を WAF に同期します。

    1. クラウドプロダクトアクセス タブで、左側のクラウドサービスリストにある [CLB(TCP)] をクリックします。証明書を更新するインスタンスを見つけ、image.png証明書の編集操作 アイコンをクリックし、 列の をクリックします。

    2. デフォルト証明書 ダイアログボックスで、既存ファイルを選択 を選択し、ドロップダウンリストから新しい証明書を選択します。

複数のドメインの保護ルールを設定する の解決先 単一の CLB インスタンス

複数のドメイン名が同じ CLB インスタンスに解決され、追加後にこれらのドメインの保護ルールを個別に設定する場合、保護対象オブジェクトとしてドメインを手動で追加する

よくある質問

Webサイト設定ページで WAF に追加したい CLB または ECS インスタンスが見つからないのはなぜですか?