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

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

最終更新日:Dec 06, 2024

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 の概要」をご参照ください。

保護のためにレイヤ4 CLBインスタンスをWAFに追加できます。 レイヤ4 CLBインスタンスをWAFに追加すると、CLBインスタンスのすべてのトラフィックが特定のゲートウェイによってWAFにリダイレクトされます。 WAFは悪意のあるトラフィックを除外し、通常のトラフィックをCLBインスタンスに転送します。 次の図は、ネットワークアーキテクチャを示しています。

image

制限事項

次のAlibaba Cloudサービスのいずれかを使用するWebサービスをクラウドネイティブモードでWAFに追加できます。Application Load Balancer (ALB) 、Microservices Engine (MSE) 、Function Compute、Classic Load Balancer (CLB) 、Elastic Compute Service (ECS) 、およびNetwork Load Balancer (NLB) 。

. 前述のAlibaba Cloudサービスを使用しないwebサービスを保護するためにWAFを使用する場合は、CNAMEレコードモードでwebサービスのドメイン名を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インスタンスに追加されます。 要件の詳細については、「制限」をご参照ください。 TCPリスナーをCLBインスタンスに追加する方法の詳細については、「TCPリスナーの追加」をご参照ください。

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

    WAFに追加できる保護されたオブジェクトの数を表示するには、

    保護されたオブジェクトページ image.png

トラフィック転送ポートの追加

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

  • レイヤー4 CLBECS、または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

    パラメーター

    API 操作

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

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

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

    2. ポートの追加

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

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

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

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

        説明

        アップロードするデフォルト証明書と追加証明書の総数は10を超えることはできません。

          • デフォルト証明書

            • 手動アップロード

              手動アップロード をクリックし、証明書名証明書ファイルキーファイル パラメーターを設定します。 Certificate Fileパラメーターの値は、---- BEGIN形式CERTIFICATE-----...-----END CERTIFICATE ---- 形式である必要があります。 秘密鍵パラメータの値は、---- BEGIN RSA Private KEY-----...-----END RSA PRIVATE Key ---- 形式でなければならない。

              重要
              • 証明書ファイルがPEM、CER、またはCRT形式の場合は、テキストエディターを使用してファイルを開き、テキストコンテンツをコピーできます。 証明書ファイルがPFXやP7Bなどの別の形式の場合、テキストエディターを使用して証明書ファイルを開いてテキストコンテンツをコピーする前に、証明書ファイルをPEM形式に変換する必要があります。 証明書管理サービスコンソールにログインし、提供されたツールを使用してファイル形式を変換できます。 詳細については、「証明書の形式の変換」をご参照ください。

              • ドメイン名が複数の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プロトコルの新しいバージョンは、より高いセキュリティを提供しますが、互換性は低くなります。

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

              有効な値:

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

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

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

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

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

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

            • 暗号スイート

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

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

              有効な値:

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

              • カスタム暗号スイート (プロトコルバージョンに応じて慎重に選択してください) 詳細については、「サポートされている暗号スイートの表示」をご参照ください。

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

    Anti-DDoS Pro、Anti-DDoS Premium、Alibaba Cloud CDNなどのレイヤー7プロキシをWAFの前にデプロイするかどうか

    Anti-DDoSプロキシやAlibaba Cloud CDNなどのレイヤー7プロキシをWAFの前にデプロイするかどうかを指定します。 設定可能な値は、Yes または No です。

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

      説明

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

    • レイヤ7プロキシがWAFの前にデプロイされている場合は、Yes を選択します。 この値は、レイヤ7プロキシによってWAFに転送されたリクエストを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でヘッダーフィールドを指定することを推奨します。 このように、攻撃者はX-Forwarded-Forフィールドを偽造してWAF検査をバイパスすることはできません。 これにより、ビジネスのセキュリティが向上します。

        複数のヘッダーフィールドを入力できます。 ヘッダーフィールドを入力するたびに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は、back-to-originリクエストにヘッダーフィールドを追加します。 これにより、オリジンサーバーは、リクエストがWAFを通過したかどうかを確認し、統計を収集し、データを分析できます。

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

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

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

      • ソースポート

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

      重要

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

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

    • Back-to-originキープアライブ要求

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

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

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

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

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

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

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

    CLBインスタンスをWAFに追加すると、インスタンスは自動的にWAFの保護対象オブジェクトになります。 保護されたオブジェクトの名前は、インスタンスID-ポート-アセット型の形式です。 基本的な保護ルールは、CLBインスタンスに対して自動的に有効になります。 保護されたオブジェクトの保護ルールは、[保護されたオブジェクト] ページで設定できます。 [保護オブジェクト] ページに移動するには、[Webサイト設定] ページの [クラウドネイティブ] タブで、WAFに追加したCLBインスタンスのIDをクリックします。 詳細については、「保護設定の概要」をご参照ください。防护对象

その他の操作

配信元サーバーの表示とトラフィックのリダイレクションポートの管理

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

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

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

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

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

      重要

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

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

トラフィックリダイレクションポートに関連付けられた証明書の更新

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

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

  • 証明書の有効期限が近づいたときに電子メールやテキストメッセージなどの方法で通知を受信する場合は、証明書の通知を設定できます。 詳細については、「SSL証明書の通知の設定」をご参照ください。

  • 証明書の有効期限によるサービスの中断を防ぐには、証明書管理サービスの証明書ホスティング機能を有効にします。 証明書に対してこの機能を有効にすると、システムは自動的に

    ホストされた証明書の有効期限が近づいたときの新しい証明書。 詳細については、「証明書ホスティング機能の概要」をご参照ください。

以下の手順を実行します。

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

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

    • 証明書管理サービスコンソールで、証明書をWAFにデプロイします。 詳細については、「Alibaba Cloudサービスへの証明書のデプロイ」をご参照ください。

    • WAFコンソールで証明書を更新します。

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

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

よくある質問

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