webサービスにApplication Load Balancer (ALB) インスタンスを設定した場合、ALBインスタンスのWeb Application Firewall (WAF) 保護を有効にして、インスタンスのwebトラフィックをWAFにリダイレクトできます。 このトピックでは、ALBインスタンスのWAF保護を有効にする方法について説明します。
背景情報
ALBは、アプリケーション層で動作し、HTTP、HTTPS、クイックUDPインターネット接続 (QUIC) などのプロトコルをサポートする負荷分散サービスです。 ALBは高い弾力性を提供し、アプリケーション層で大量のトラフィックを処理するためにオンデマンドでスケーリングできます。 詳細については、「ALB の概要」をご参照ください。
WAFは、SDKモジュールとしてALBのゲートウェイに統合されています。 このシナリオでは、WAFはサービストラフィックをリッスンしますが転送しません。 これにより、セキュリティが向上し、webサービスのO&Mが容易になり、ユーザーエクスペリエンスが向上します。
次の図は、ネットワークアーキテクチャを示しています。
制限事項
次のAlibaba Cloudサービスのいずれかを使用するWebサービスをクラウドネイティブモードでWAFに追加できます。Application Load Balancer (ALB) 、Microservices Engine (MSE) 、Function Compute、Serverless App Engine (SAE) 2.0、Classic Load Balancer (CLB) 、Elastic Compute Service (ECS) です。 前述のAlibaba Cloudサービスを使用しないwebサービスを保護するためにWAFを使用する場合は、CNAMEレコードモードでwebサービスのドメイン名をWAFに追加します。 詳細については、「WAFへのドメイン名の追加」をご参照ください。
WAF対応のALBインスタンスを購入する前に、実名検証を完了する必要があります。
次の表に、WAF対応のALBインスタンスがサポートされているリージョンを示します。
地域
リージョン
中国
中国 (成都) 、中国 (青島) 、中国 (北京) 、中国 (広州) 、中国 (杭州) 、中国 (ウランカブ) 、中国 (上海) 、中国 (深セン) 、中国 (張家口) 、中国 (香港)
アジア太平洋
フィリピン (マニラ) 、インドネシア (ジャカルタ) 、日本 (東京) 、マレーシア (クアラルンプール) 、シンガポール、タイ (バンコク)
ヨーロッパおよびアメリカ
ドイツ (フランクフルト) 、米国 (シリコンバレー) 、米国 (バージニア)
中東
サウジアラビア (リヤド - パートナーリージョン)
[実行中] 状態の基本ALBインスタンスと標準ALBインスタンスのみをWAF対応ALBインスタンスにアップグレードできます。
WAFに追加されたALBインスタンスでは、次の機能はサポートされていません。
データ漏洩防止
Webサイト保護のためのボット管理でのWeb SDKの自動統合
前提条件
Alibaba CloudアカウントにWAFインスタンスがないか、WAF 3.0インスタンスがあります。
説明Alibaba CloudアカウントにWAFインスタンスがない場合、WAF対応のALBインスタンスを購入すると、従量課金のWAF 3.0インスタンスが自動的に購入されます。
Alibaba CloudアカウントにWAF 2.0インスタンスがある場合は、WAF 2.0インスタンスをWAF 3.0に移行します。 詳細については、「WAF 2.0インスタンスのWAF 3.0へのアップグレード」をご参照ください。
サブスクリプションWAFインスタンスを使用する場合は、WAFに追加した保護対象オブジェクトの数が上限を超えないようにしてください。 上限を超えると、クラウドサービスインスタンスをWAFに追加できなくなります。
WAFに追加できる保護されたオブジェクトの数を表示するには、
WAF保護の有効化
WAF 3.0コンソールにログインします。 上部のナビゲーションバーで、WAFインスタンスのリソースグループとリージョンを選択します。 中国本土 または 中国本土以外 を選択できます。
左側のナビゲーションウィンドウで、アクセス管理 をクリックします。
On theクラウドネイティブタブをクリックします。ALB左側のクラウドサービスリストに表示されます。
権限付与ページで、今すぐ許可するWAFインスタンスに必要なクラウドサービスへのアクセスを許可します。
Alibaba Cloudは、AliyunServiceRoleForWAFサービスにリンクされたロールを自動的に作成します。 サービスにリンクされたロールを表示するには、Resource Access Management (RAM) コンソールにログインし、左側のナビゲーションウィンドウで を選択します。
説明承認が完了した場合、承認ページは表示されません。 次のステップに進むことができます。
[追加] をクリックします。 ALBコンソールに移動します。
ALBコンソールで、ALBインスタンスのWAF保護を有効にします。
WAF対応のALBインスタンスを購入する
ALBコンソールにログインします。
上部のナビゲーションバーで、ALBインスタンスがデプロイされているリージョンを選択します。
On theインスタンスページをクリックします。ALBの作成.
On theApplication Load Balancerページ、パラメーターを設定し、今すぐ購入、そして支払いを完了します。
この例では、一部のパラメーターについてのみ説明します。 詳細については、「ALBインスタンスの作成」をご参照ください。
エディション: [WAF有効] を選択します。
既存のALBインスタンスのWAF保護を有効にする
ALBコンソールにログインします。
上部のナビゲーションバーで、ALBインスタンスがデプロイされているリージョンを選択します。
[インスタンス] ページで、管理するALBインスタンスを見つけ、次のいずれかの方法を使用してWAF保護を有効にします。
方法1:
ALBインスタンスのIDをクリックし、[統合サービス] タブをクリックします。 [Webアプリケーションファイアウォール] セクションで、[保護の有効化] をクリックします。
[保護の有効化] ダイアログボックスで、[OK] をクリックして支払いを完了します。
方法2:
インスタンス名の横にあるアイコンの上にポインターを移動し、[WAF保護] セクションの [保護の有効化] をクリックします。
[保護の有効化] ダイアログボックスで、[OK] をクリックして支払いを完了します。
方法3:
ALBインスタンスのIDをクリックします。 インスタンスの詳細 タブで、[基本情報] セクションの [WAF保護] を見つけ、[保護の有効化] をクリックします。
[保護の有効化] ダイアログボックスで、[OK] をクリックして支払いを完了します。
方法4:
[アクション] 列で
を選択します。On theApplication Load Balancer | アップグレード /ダウングレードページ, setエディションへWAF有効[利用規約] をクリックし、今すぐ購入、そして支払いを完了します。
WAF保護の管理
WAFコンソールでのWAF保護の管理
WAF 3.0コンソールにログインします。 上部のナビゲーションバーで、WAFインスタンスのリソースグループとリージョンを選択します。 中国本土 または 中国本土以外 を選択できます。
左側のナビゲーションウィンドウで、アクセス管理 をクリックします。
WAF保護を管理します。
[クラウドネイティブ] タブで、左側の製品リストで [ALB] をクリックします。
保護されたオブジェクトと保護ルールの表示
ALBインスタンスをWAFに追加すると、インスタンスはWAFの保護対象オブジェクトになります。 保護オブジェクト名には、
-alb
サフィックスが含まれます。 デフォルトでは、保護対象オブジェクトに対して基本保護ルールが有効になっています。 [保護されたオブジェクト] ページで、保護されたオブジェクトを表示し、オブジェクトの保護ルールを設定できます。 [保護されたオブジェクト] ページに移動するには、[Webサイト設定] ページの [クラウドネイティブ] タブでALBインスタンスのIDをクリックします。 詳細については、「保護設定の概要」をご参照ください。WAFからのALBインスタンスの削除
WAFからALBインスタンスを削除すると、インスタンスで生成されたサービストラフィックはWAFによって保護されなくなります。 さらに、サービストラフィックの保護の詳細は、WAFセキュリティレポートに含まれなくなりました。
WAFから削除するALBインスタンスを見つけ、[操作] 列の [削除] をクリックします。 ヒントメッセージで、[削除] をクリックします。
[削除] パネルで、[エディション (インスタンス料金)] パラメーターを [標準] に設定し、[今すぐ購入] をクリックして支払いを完了します。
ALBコンソールでのWAF保護の管理
ALBコンソールにログインします。
上部のナビゲーションバーで、ALBインスタンスがデプロイされているリージョンを選択します。
WAF保護を管理します。
API 操作
手順
ALBインスタンスのWAF保護が有効になっているかどうかの確認
ALBインスタンスのWAF保護が有効になっているかどうかを確認するには、次のいずれかの方法を使用します。保護有効は、ALBインスタンスのWAF保護が有効になっていることを示します。
方法1:
インスタンス ページで、管理するALBインスタンスを見つけ、インスタンスIDをクリックします。
インスタンスの詳細 タブで、[基本情報] セクションでWAF保護が有効になっているかどうかを確認します。
方法2:
[インスタンス] ページで、管理するALBインスタンスを見つけ、アイコンの上にポインタを移動します。
表示されるホバーボックスで、保護ステータスを表示します。
方法3:
インスタンス ページで、管理するALBインスタンスを見つけ、インスタンスIDをクリックします。
インスタンスの詳細 タブで、[統合サービス] タブをクリックし、[Webアプリケーションファイアウォール] セクションで保護ステータスを表示します。
WAFセキュリティレポートの表示
WAFセキュリティレポートを表示するには、ALBインスタンスでWAF保護が有効になっていることを確認します。
方法1:
インスタンス ページで、管理するALBインスタンスを見つけ、インスタンスIDをクリックします。
[統合サービス] タブをクリックします。 [Webアプリケーションファイアウォール] セクションで、[WAFセキュリティレポートの表示] をクリックし、WAF 3.0コンソールに移動してセキュリティレポートを表示します。
方法2:
インスタンス ページで、管理するALBインスタンスを見つけ、アイコンの上にポインタを移動します。
表示されるホバーボックスで、[WAFセキュリティレポートの表示] をクリックし、[WAF 3.0コンソール] に移動してセキュリティレポートを表示します。
方法3:
インスタンス ページで、管理するALBインスタンスを見つけ、インスタンスIDをクリックします。
インスタンスの詳細 タブで、[基本情報] セクションを見つけ、[WAF保護] の右側にある WAF セキュリティレポートを表示 をクリックし、[WAF 3.0コンソール] に移動してセキュリティレポートを表示します。
詳細については、「セキュリティレポート」をご参照ください。
WAF保護の無効化
ALBインスタンスのWAF保護を無効にすると、ALBインスタンスはWAFによって保護されなくなり、WAFセキュリティレポートにはALBインスタンスの保護の詳細が含まれなくなります。
方法1:
インスタンス ページで、管理するALBインスタンスを見つけ、インスタンスIDをクリックします。
[統合サービス] タブをクリックします。 [Webアプリケーションファイアウォール] セクションで、[WAFの無効化] をクリックします。
[保護の無効化] ダイアログボックスで、[OK] をクリックしてWAF保護を無効にします。
方法2:
インスタンス ページで、管理するALBインスタンスを見つけ、インスタンスIDの右側にあるアイコンの上にポインターを移動します。 表示されるホバーボックスで、[WAF保護] セクションの [WAFの無効化] をクリックします。
[保護の無効化] ダイアログボックスで、[OK] をクリックしてWAF保護を無効にします。
方法3:
インスタンス ページで、管理するALBインスタンスを見つけ、インスタンスIDをクリックします。
インスタンスの詳細 タブで、[基本情報] セクションの [WAF保護] の右側にある [WAFの無効化] をクリックします。
[保護の無効化] ダイアログボックスで、[OK] をクリックしてWAF保護を無効にします。
方法4:
インスタンス ページで、管理するALBインスタンスを見つけ、[操作] 列の
を選択します。[Application Load Balancer | アップグレード /ダウングレード] ページで、[Edition] パラメーターを [標準] に設定し、[利用規約] を選択し、[今すぐ購入] をクリックして支払いを完了します。
よくある質問
ドメイン名がWAFによって保護されているかどうかを確認するにはどうすればよいですか。
ブラウザのアドレスバーにWAFに追加したドメイン名を入力します。 ドメイン名にアクセスできる場合、ドメイン名はWAFによって保護されます。
xxx.xxxx.com?id=1や1=1
などの悪意のあるSQLコードをリクエストに挿入し、リクエストがブロックされているかどうかを確認します。 405メソッドが許可されていないエラーが返されると、リクエストはブロックされます。
WAF 2.0透過プロキシモードとWAF 3.0クラウドネイティブモードの違いは何ですか?
違い:
WAF 2.0透過プロキシモード: ポートがWAFに追加され、クラウドサービスのゲートウェイが自動的にルートを変更して、ポートのトラフィックをWAFにリダイレクトします。 WAFは悪意のあるリクエストをブロックし、通常のリクエストを配信元サーバーに転送します。 WAFは、リクエストをリバースプロキシクラスターとして検出および転送します。 透過プロキシモードでは、リクエストは2つのゲートウェイを通過します。 WAFとALBまたはCLBのタイムアウト期間と証明書を設定する必要があります。
WAF 3.0は、SDKモジュールとしてクラウドサービスのゲートウェイに統合され、トラフィックを検出して保護します。 互換性と安定性の問題を防ぐため、WAFはトラフィックを転送しません。 サービス統合モードでは、リクエストは1つのゲートウェイを通過します。 これにより、ゲートウェイ間で証明書と設定を同期する必要がなくなり、同期の問題を防ぎます。
詳細については、「WAF 3.0とWAF 2.0の比較」をご参照ください。
関連ドキュメント
ALBドキュメント
WAF対応のALBインスタンスの購入方法については、「ALBインスタンスの作成」をご参照ください。
基本ALBインスタンス、標準ALBインスタンス、およびWAF対応ALBインスタンスの機能については、「機能と機能」をご参照ください。
WAF対応ALBインスタンスのクォータの増加をリクエストする方法については、「制限」をご参照ください。
ALBインスタンスの設定を変更する方法については、「ALBインスタンスの設定の変更」をご参照ください。
APIを呼び出してALBインスタンスのエディションを変更する方法については、「UpdateLoadBalancerEdition」をご参照ください。
WAF対応ALBインスタンスの課金ルールについては、「インスタンス料金」をご参照ください。
WAFドキュメント
サブスクリプションWAF 3.0インスタンスの購入方法については、「サブスクリプションWAF 3.0インスタンスの購入」をご参照ください。
従量課金WAF 3.0インスタンスの購入方法については、「従量課金WAF 3.0インスタンスの購入」をご参照ください。
WAF 3.0とWAF 2.0の違い、およびWAF 3.0で導入された改善については、「WAF 3.0とWAF 2.0の比較」をご参照ください。