Classic Load Balancer (CLB) インスタンスを作成し、インスタンスにHTTPまたはHTTPSリスナーを追加した場合、リスナーポートをWeb Application Firewall (WAF) に追加して、インスタンスのwebトラフィックをWAFにリダイレクトして保護できます。 このトピックでは、レイヤー7 CLBインスタンスのWAF保護を有効にする方法について説明します。
背景情報
同じリージョンにデプロイされているElastic Compute Service (ECS) インスタンスをCLBインスタンスに追加すると、CLBは仮想IPアドレス (VIP) を使用して、ECSインスタンスを高性能で高可用性のサーバープールに結合します。 次に、CLBは転送ルールに基づいてインバウンドリクエストをECSインスタンスに転送します。 詳細については、「CLB の概要」をご参照ください。
レイヤ7 CLBインスタンスをWAFに追加できます。 レイヤ7 CLBインスタンスをWAFに追加すると、指定されたゲートウェイを使用してCLBインスタンスのすべてのトラフィックがWAFにリダイレクトされます。 WAFは悪意のあるトラフィックを除外し、通常のトラフィックをCLBインスタンスに転送します。 次の図は、ネットワークアーキテクチャを示しています。
制限事項
次の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に追加できます。
|
サポートされるリージョン |
|
トラフィック転送ポート数 | トラフィック転送ポートの最大数は、保護されているオブジェクトの最大数と同じです。
|
TLSセキュリティポリシー | HTTPSリスナーポートが設定されている場合、組み込みのTransport Layer Security (TLS) セキュリティポリシーのみがサポートされます。 ポートにカスタムTLSセキュリティポリシーが設定されている場合、ポートをWAFに追加することはできません。 詳細については、「サポートされているTLSセキュリティポリシー」をご参照ください。 |
Anti-DDoS ProxyおよびWAFによって保護されるサービス | Anti-DDoS ProxyとWAFを使用してwebサービスを保護する場合は、ドメイン名を追加してAnti-DDoS proxyにサービスを追加する場合にのみ、透過プロキシモードでサービスをWAFに追加できます。 |
前提条件
WAF 3.0インスタンスを購入しました。 詳細については、「サブスクリプションWAF 3.0インスタンスの購入」および「従量課金WAF 3.0インスタンスの購入」をご参照ください。
CLBインスタンスが作成され、HTTPまたはHTTPSリスナーがCLBインスタンスに追加されます。 インスタンスは前述の要件も満たしています。 要件の詳細については、このトピックの「制限」セクションを参照してください。 HTTPまたはHTTPSリスナーを追加する方法の詳細については、「HTTPリスナーの追加」または「HTTPSリスナーの追加」をご参照ください。
サブスクリプションWAFインスタンスを使用する場合は、WAFに追加した保護対象オブジェクトの数が上限を超えないようにしてください。 上限を超えると、クラウドサービスインスタンスをWAFに追加できなくなります。
WAFに追加できる保護されたオブジェクトの数を表示するには、
トラフィック転送ポートの追加
WAFにインスタンスを追加すると、webサービスが数秒間中断されることがあります。 クライアントが自動的に再接続できる場合、webサービスは自動的に再開されます。 ビジネス要件に基づいて、再接続メカニズムとback-to-origin設定を構成します。
レイヤー7 CLBインスタンスをWAFに追加した後に次の操作を実行すると、トラフィックリダイレクションポートはWAFから自動的に削除されます。 ポートをWAFに再追加しない場合、ポート上のトラフィックはWAFによってフィルタリングされません。
インスタンスに関連付けられているパブリックIPアドレスを変更します。
トラフィックリダイレクトポートに関連付けられている証明書を、Certificate Management Service (Original SSL Certificate) を使用しないで発行された証明書に置き換えます。
相互認証を有効にします。
インスタンスからリスナーポートを削除します。
インスタンスを削除します。
WAF 3.0コンソールにログインします。 上部のナビゲーションバーで、WAFインスタンスのリソースグループとリージョンを選択します。 中国本土 または 中国本土以外 を選択できます。
左側のナビゲーションウィンドウで、アクセス管理 をクリックします。
クラウドネイティブタブで、左側のクラウドサービスリストに表示されるCLB(HTTP/HTTPS)をクリックします。
権限付与ページで、今すぐ許可するWAFインスタンスに必要なクラウドサービスへのアクセスを許可します。
Alibaba Cloudは、AliyunServiceRoleForWAFサービスにリンクされたロールを自動的に作成します。 サービスにリンクされたロールを表示するには、Resource Access Management (RAM) コンソールにログインし、左側のナビゲーションウィンドウで を選択します。
説明承認が完了した場合、承認ページは表示されません。 次のステップに進むことができます。
[追加] をクリックします。
[インスタンス-レイヤー7 CLBインスタンスの設定] パネルで、パラメーターを設定します。 下表に、各パラメーターを説明します。
パラメーター
API 操作
インスタンスとポートの選択
インスタンスの同期
WAFに追加するインスタンスがインスタンスリストにない場合は、インスタンスの同期 をクリックしてインスタンスリストを更新します。
ポートの追加
WAFに追加するインスタンスを見つけて、操作 列の ポートの追加 をクリックします。
追加するHTTPまたはHTTPSポートを選択し、OK をクリックします。
重要HTTPSポートを追加する場合は、ポートに設定されている証明書がAlibaba Cloud certificate Management Serviceを使用して購入されているか、Certificate Management Serviceにアップロードされていることを確認してください。 そうしないと、インスタンスがWAFに追加されない可能性があります。 詳細については、「」をご参照ください。トラフィックのリダイレクトにHTTPSポートを追加したときに、証明書が不完全であることを示すエラーメッセージが表示された場合はどうすればよいですか。
インスタンスのポート用に設定された証明書の有効期限が切れているか、CLBコンソールに手動でアップロードされた場合、証明書をWAFに同期できません。 証明書を、証明書管理サービスを使用して購入した、または証明書管理サービスにアップロードした新しい証明書に置き換える必要があります。
Anti-DDoS Pro、Anti-DDoS Premium、Alibaba Cloud CDNなどのレイヤー7プロキシをWAFの前にデプロイするかどうか
Anti-DDoSプロキシやAlibaba Cloud CDNなどのレイヤー7プロキシをWAFの前にデプロイするかどうかを指定します。
デフォルトでは、No が選択されています。 この値は、WAFがクライアントから送信されたリクエストを受信することを示します。 リクエストはプロキシによって転送されません。
説明クライアントからWAFにリクエストが送信されると、WAFはWAFへの接続を確立するために使用されるIPアドレスをクライアントのIPアドレスとして使用します。 IPアドレスは、リクエストの
REMOTE_ADDR
フィールドで指定されます。レイヤ7プロキシがWAFの前にデプロイされている場合は、Yes を選択します。 この値は、レイヤ7プロキシによってWAFに転送されたリクエストをWAFが受信することを示します。 WAFがセキュリティ分析のためにクライアントの実際のIPアドレスを取得できるようにするには、クライアント IP の取得方法 パラメーターを設定する必要があります。
リソースグループ
CLBインスタンスを追加するリソースグループを選択します。 リソースグループを選択しない場合、インスタンスはデフォルトリソースグループに追加されます。
説明リソース管理を使用して、リソースグループを作成し、Alibaba Cloudアカウント内のリソースを部門またはプロジェクトごとに管理できます。 詳細については、「リソースグループの作成」をご参照ください。
詳細設定
WAFに追加するインスタンスを選択し、OKをクリックします。
CLBインスタンスをWAFに追加すると、CLBインスタンスは自動的にWAFの保護対象オブジェクトになります。 保護されたオブジェクトの名前は、インスタンスID-ポート-アセット型の形式です。 保護対象オブジェクトに対して基本保護ルールが自動的に有効になります。 保護されたオブジェクトの保護ルールは、保護対象 ページで設定できます。 [保護オブジェクト] ページに移動するには、[Webサイト設定] ページの [クラウドネイティブ] タブで、WAFに追加したCLBインスタンスのIDをクリックします。 詳細については、「保護設定の概要」をご参照ください。
WAF保護の管理
WAFコンソールでのWAF保護の管理
WAF 3.0コンソールにログインします。 上部のナビゲーションバーで、WAFインスタンスのリソースグループとリージョンを選択します。 中国本土 または 中国本土以外 を選択できます。
左側のナビゲーションウィンドウで、アクセス管理 をクリックします。
WAF保護を管理します。
[クラウドネイティブ] タブで、左側のクラウドサービスリストで [CLB(HTTP/HTTPS)] をクリックします。 その後、WAFに追加されたCLBインスタンスを表示できます。
保護されたオブジェクトを表示し、保護ルールを設定します。
CLBインスタンスをWAFに追加すると、インスタンスは自動的にWAFの保護対象オブジェクトになります。 保護されたオブジェクトの名前に -clb7サフィックスが含まれ、保護されたオブジェクトに対して基本的な保護ルールが自動的に有効になります。 [保護オブジェクト] ページで、保護オブジェクトの保護ルールを表示および設定できます。 [保護オブジェクト] ページに移動するには、[Webサイト設定] ページの [クラウドネイティブ] タブでインスタンスIDをクリックします。 詳細については、「保護設定の概要」をご参照ください。
オリジンサーバーを表示し、WAFからCLBインスタンスを削除します。
WAFにCLBインスタンスを追加した後、緊急ディザスタリカバリシナリオでは、オリジンサーバーの保護の詳細を表示し、トラフィックのリダイレクトを無効にしたり、トラフィックのリダイレクションポートを削除したりできます。
インスタンス名の左側にあるアイコンをクリックし、WAFに追加されたポートを表示します。
ポートの詳細の表示: ポート詳細をクリックしてポート、プロトコル、証明書に関する情報を表示し、レイヤー7プロキシ (Anti-DDoS Pro、Anti-DDoS Premium、Alibaba Cloud CDNなど) をWAFの前面にデプロイするかどうか、トラフィックマークの有効化 (詳細設定) 、Back-to-originキープアライブリクエスト (詳細設定) パラメーター。
トラフィックのリダイレクトポートの削除: WAFから削除するポートを見つけて、[操作] 列の [削除] をクリックします。 [削除] メッセージで、[OK] をクリックします。
重要WAFからトラフィックリダイレクトポートを削除すると、そのポートのトラフィックはWAFによって保護されなくなります。 トラフィックリダイレクトポートをWAFに再追加するには、[追加] をクリックします。 詳細については、「トラフィック転送ポートの追加」をご参照ください。
WAFからトラフィックのリダイレクトポートを削除すると、webサービスが数秒間中断されることがあります。 クライアントが自動的に再接続できる場合、webサービスは自動的に再開されます。 ビジネス要件に基づいて、再接続メカニズムとback-to-origin設定を構成します。
トラフィックリダイレクションポートに関連付けられた証明書の更新
トラフィックリダイレクトポートに関連付けられている証明書の有効期限が近づいている場合、または証明書が取り消された場合など、証明書が変更された場合は、証明書を更新する必要があります。
証明書の残りの有効期間が30日未満の場合、アイコンがドメイン名リストに表示されます。 これは、証明書の有効期限が近づいていることを示します。 この場合、できるだけ早い機会に証明書を更新する必要があります。
証明書の有効期限が近づいたときに電子メールやテキストメッセージなどの方法で通知を受信する場合は、証明書の通知を設定できます。 詳細については、「SSL証明書の通知の設定」をご参照ください。
証明書の有効期限によるサービスの中断を防ぐには、証明書管理サービスの証明書ホスティング機能を有効にします。 証明書に対してこの機能を有効にすると、システムは自動的に
ホストされた証明書の有効期限が近づいたときの新しい証明書。 詳細については、「証明書ホスティング機能の概要」をご参照ください。
以下の手順を実行します。
証明書を更新するか、証明書管理サービスに証明書をアップロードします。 詳細については、「証明書の更新」または「SSL証明書のアップロード」をご参照ください。
証明書をレイヤー7 CLBインスタンスに同期します。 次のいずれかの方法を使用できます。
Server Load Balancerコンソールで、証明書を更新します。 詳細については、「証明書の置き換え」をご参照ください。
CLBコンソールで証明書を更新すると、証明書は自動的にWAFに同期されます。
Certificate Management Serviceコンソールで、レイヤー7 CLBインスタンスに証明書をデプロイします。 詳細については、「Alibaba Cloudサービスへの証明書のデプロイ」をご参照ください。
certificate Management Serviceコンソールで証明書を更新する場合は、WAFコンソールで次の手順も実行する必要があります。
アクセス管理 ページの クラウドプロダクトアクセス タブで、左側のクラウドサービスリストで [CLB(HTTP/HTTPS)] をクリックします。 次に、追加 をクリックします。
[インスタンスの設定-レイヤー7 CLBインスタンス] パネルで、インスタンスの同期 をクリックして、更新された証明書を同期します。
Certificate Management Service (Original SSL Certificate) を使用して新しい証明書を購入しない場合、トラフィックのリダイレクションポートはWAFから自動的に削除されます。 証明書を更新したら、ポートをWAFに再追加します。 詳細については、「トラフィック転送ポートの追加」をご参照ください。
レイヤー7 CLBインスタンスが期限切れの証明書に関連付けられている場合、WAFは新しい証明書を同期できません。 WAFが新しい証明書を同期する前に、期限切れの証明書を削除する必要があります。
CLBコンソールでのWAF保護の管理
よくある質問
レイヤー7 CLBインスタンスのWAF保護が有効になっているかどうかを確認するにはどうすればよいですか。
ブラウザのアドレスバーにWAFに追加したドメイン名を入力します。 ドメイン名にアクセスできる場合、ドメイン名はWAFによって保護されます。
xxx.xxxx.com?id=1や1=1
などの悪意のあるSQLコードをリクエストに挿入し、リクエストがブロックされているかどうかを確認します。 405メソッドが許可されていないエラーが返されると、リクエストはブロックされます。
CLBはレイヤー4およびレイヤー7リスナーをサポートしています。 レイヤー4リスナーはTCPまたはUDPプロトコルを使用し、レイヤー7リスナーはHTTPまたはHTTPSプロトコルを使用します。
レイヤー4リスナーは、リクエストをバックエンドサーバーに直接転送します。 CLBインスタンスがリクエストを受信すると、CLBインスタンスはリスナーポートに基づいてデータパケットの宛先IPアドレスと宛先ポートを変更します。 次に、CLBインスタンスはリクエストをバックエンドサーバーに転送します。 クライアントとバックエンドサーバーの間にTCP接続が確立されます。
レイヤー7リスナーはリバースプロキシとして機能します。 クライアント要求がCLBのレイヤー7リスナーに到達すると、CLBは、要求をバックエンドサーバーに直接転送するのではなく、HTTP経由でバックエンドサーバーへの新しいTCP接続を確立します。 レイヤー4リスナーと比較して、レイヤー7リスナーはTengine処理の追加ステップを必要とします。 クライアントポートの枯渇やバックエンドサーバーの過度のワークロードなどの要因が、レイヤー7リスナーのスループット容量に影響を与える可能性があります。 ビジネスでより高いパフォーマンスが必要な場合は、レイヤー4リスナーを使用することを推奨します。
詳細については、「CLBリスナーの概要」をご参照ください。
レイヤー7 CLBインスタンスのWAF保護を有効にするときに、HTTPポートとHTTPSポートをWAFに追加できますか。
はい、HTTPポートとHTTPSポートを追加できます。
ポート番号が443されているCLB証明書が不完全な場合はどうすればよいですか。 SLBコンソールに移動し、証明書管理サービスからの証明書を選択します。レイヤー7 CLBインスタンスのWAF保護を有効にすると、エラーメッセージが表示されますか?
Certificate Management Serviceコンソールにログインして証明書を更新またはアップロードし、CLBコンソールで証明書を選択する必要があります。 詳細については、「証明書の更新」または「SSL証明書のアップロード」をご参照ください。
関連ドキュメント
クライアントの送信元IPアドレスを取得する方法については、「レイヤー7リスナーを有効にしてクライアントIPアドレスを保持する」をご参照ください。
CLBまたはECSインスタンスがWebサイト設定ページに表示されない問題のトラブルシューティング方法については、[Webサイト設定] ページでWAFに追加するCLBまたはECSインスタンスが見つからないのはなぜですか。