Web Application Firewall (WAF) 3.0 は、既存のネットワークアーキテクチャや DNS 設定を変更することなく、Application Load Balancer (ALB) インスタンスを Web 攻撃から保護します。保護は、ALB データプレーンに直接埋め込まれた SDK を通じて有効になります。追加のゲートウェイホップは不要で、WAF と ALB 間で証明書や設定の不一致が発生することもありません。
仕組み
トラフィックが ALB インスタンスに到達すると、埋め込まれた SDK が転送パス内でリアルタイムに脅威を検出します。SDK は悪意のあるリクエストをブロックし、正常なリクエストをバックエンドサーバーに転送します。検出プロセスは、クラウド製品リソースが存在するリージョン内でローカルに完了し、トラフィックがリージョン外に転送されることはありません。プロセス全体を通じて、データがリージョン外に出ることはありません。WAF は独立したゲートウェイとしてトラフィック転送に関与しないため、リクエストは 1 つのゲートウェイのみを通過します。これにより、追加のホップによるレイテンシーが排除され、WAF と ALB 間で証明書や暗号スイートを同期する必要がなくなります。
前提条件
開始する前に、以下を確認してください。
同一アカウント: ALB インスタンスと WAF インスタンスが同じ Alibaba Cloud アカウントに属していること。ただし、マルチアカウント管理を設定している場合を除きます。
サポートされているリージョン: ALB インスタンスが以下のいずれかのリージョンにあること。該当しない場合は、CNAME レコードモードを使用してください。
サポートされているインスタンスタイプ: 状態が 実行中 の Basic および Standard ALB インスタンスのみが WAF 有効化エディションにアップグレードできます。
本人確認: WAF 有効化エディションの ALB インスタンスを購入する前に、本人確認を完了してください。
サポートされているリージョン:
地域 | リージョン |
中国 | 中国 (成都)、中国 (青島)、中国 (北京)、中国 (広州)、中国 (杭州)、中国 (ウランチャブ)、中国 (上海)、中国 (深セン)、中国 (張家口)、中国 (香港) |
アジア太平洋 | フィリピン (マニラ)、インドネシア (ジャカルタ)、日本 (東京)、マレーシア (クアラルンプール)、シンガポール、タイ (バンコク)、韓国 (ソウル) |
ヨーロッパおよびアメリカ | ドイツ (フランクフルト)、米国 (シリコンバレー)、米国 (バージニア)、メキシコ |
中東 | サウジアラビア (リヤド - パートナーリージョン) |
ステップ 1: ALB オンボーディングページを開く
Web Application Firewall 3.0 コンソールにログインします。上部のナビゲーションバーで、WAF インスタンスのリソースグループとリージョン (中国本土 または 中国本土以外) を選択します。左側のナビゲーションペインで、アクセス管理 をクリックします。クラウドプロダクトアクセス タブをクリックし、クラウドサービスリストから Application Load Balancer (ALB) をクリックします。
ステップ 2: クラウドサービスを承認する (初回のみ)
クラウドネイティブ統合を初めて使用する場合は、画面の指示に従い、今すぐ許可する をクリックします。これにより、[AliyunServiceRoleForWAF] サービスリンクロールが作成されます。このロールは、RAM コンソールの [ID] > [ロール] ページで表示できます。
ステップ 3: ALB インスタンスを追加する
右側のリストで、保護する ALB インスタンスを見つけ、今すぐアクセスする 列の 操作 をクリックします。インスタンスが表示されない場合は、右上隅の 資産の同期 をクリックしてください。
ステータスに 全部保護 と表示されたら、インスタンスは正常に追加されています。
ALB インスタンスを WAF に追加すると、自動的に WAF 有効化エディションにアップグレードされます。これにより、ALB 側で追加料金が発生します。
複数の ALB インスタンスを一括で追加することも、一括接続 をクリックしてすべてのインスタンスを一度に追加することもできます。
ステップ 4: 保護が有効であることを確認する
ブラウザで、Web サイトドメインの後にクロスサイトスクリプティング (XSS) テスト文字列を入力します。
<your-website-domain>/alert(xss)WAF が 403 エラーページを返す場合、リクエストが正常に遮断されており、保護が有効になっています。
次のステップ
保護ルールの設定と管理
WAF は、-alb サフィックスを持つ保護対象オブジェクトを自動的に作成し、コア保護モジュールを含むデフォルトの保護ルールを有効にします。これらは 保護設定 > 保護対象 ページで確認できます。
デフォルトのルールが要件を満たさない場合は、保護ルールを作成または編集してください。詳細については、「概要」をご参照ください。
複数のドメインが同じ ALB インスタンスに解決され、各ドメインに異なる保護ルールを適用したい場合は、ドメインを保護対象として手動で追加してください。
関連操作
ロールバック (WAF 保護の削除)
WAF 保護を一時的に無効にする: 誤検知が多いなどの問題が発生した場合は、WAF コンソールの 保護対象 ページに移動し、WAF 保護ステータス スイッチをオフにします。詳細については、「ワンクリックで WAF 保護を無効化」をご参照ください。
WAF 保護を削除する: クラウドプロダクトアクセス タブに移動し、クラウドサービスリストから Application Load Balancer (ALB) をクリックし、対象のインスタンスを見つけ、接続解除 列の 操作 をクリックします。表示されるダイアログボックスで、OK をクリックします。
重要削除後、ALB インスタンスへのトラフィックは WAF で保護されなくなり、セキュリティレポートにそのトラフィックのデータが含まれなくなります。
従量課金インスタンスの場合: 削除後、リクエスト処理料金は停止しますが、WAF インスタンスとその保護ルールが残っているため、機能使用料金は継続します。すべての WAF 課金を停止するには、「WAF サービスの終了」をご参照ください。
ALB コンソールでの WAF 保護の有効化と管理
ALB コンソールから WAF 保護を有効化および管理することもできます。
本番環境に適用
ALB インスタンスに対する WAF 保護の有効化と削除は、サービスを中断しません。ただし、ALB インスタンスを追加する際は、サービスの可用性を確保するために、ログとサービスの健全性を監視する必要があります。
ロールアウト戦略: オフピーク時に、まず非本番環境の ALB インスタンスを WAF に追加します。一定期間実行して正常な動作を確認してから、本番環境の ALB インスタンスを追加してください。
サービスの検証: インスタンスを追加した後、サービスが正常に実行されていることを確認してください。
継続的なメンテナンス: 本番環境のインスタンスを追加した後は、継続的なメンテナンスを実施し、攻撃イベントや誤検知イベントに注意してください。
イベントのレビュー: セキュリティレポートを監視し、Cloud Monitor 通知を設定して、攻撃イベントやセキュリティイベントの情報を常に把握してください。
ルールの調整: 攻撃ログをレビューして誤検知を特定し、それに応じて保護ルールを調整してください。
制限事項
制限事項 | 詳細 |
本人確認 | WAF 有効化エディションの ALB インスタンスを購入する前に必要です |
対象インスタンスタイプ | 状態が 実行中 の Basic および Standard ALB インスタンスのみ |
Container Service for Kubernetes (ACK) | ACK 内の ALB インスタンスに対して WAF を有効にするには、「WAF 有効化 ALB インスタンスを使用したアプリケーションの保護」をご参照ください |
サブスクリプション — 統合可能な最大インスタンス数 | Basic Edition: 300 / Pro Edition: 600 / Enterprise Edition: 2,500 / Ultimate Edition: 10,000 |
従量課金 — 統合可能な最大インスタンス数 | 10,000 |
サポートされていない機能 | データ漏洩防止、ボット管理のアンチクローラーシナリオでの Web SDK の自動統合 |
よくある質問
追加したい ALB インスタンスが見つからないのはなぜですか?
まず、資産の同期 ページの右上隅にある アクセス管理 をクリックしてください。
それでもインスタンスが表示されない場合は、前提条件を満たしていません。たとえば、中国本土以外の ALB インスタンスでクラウドネイティブ統合を利用するには、同じリージョングループ内の WAF インスタンスが必要です。お使いのリージョンがサポートされていない場合は、CNAME レコードモードを使用してください。
1 つのドメインが複数の ALB インスタンスに解決される場合、WAF 保護をどのように追加しますか?
クラウドネイティブモードでは、それらすべての ALB インスタンスを WAF に追加します。CNAME レコードモードでは、ドメインを追加し、複数の ALB インスタンスの CNAME をオリジンアドレスとして設定します。
複数のドメインが同じ ALB インスタンスに解決される場合、各ドメインに異なるルールを適用するにはどうすればよいですか?
クラウドネイティブモードで ALB インスタンスを追加すると、そのインスタンス上のすべてのドメインがデフォルトポリシーによって保護されます。ドメインごとに異なる保護ルールを適用するには、各ドメインを保護対象として手動で追加してください。CNAME レコードモードでは、各ドメインを個別に追加します。
ALB インスタンス上の同じドメインに対して、クラウドネイティブモードと CNAME レコードモードの両方を使用できますか?
いいえ。両方のモードを同時に使用すると、転送の競合が発生し、保護が失敗します。ドメインを CNAME レコードモードからクラウドネイティブモードに切り替えるには、DNS レコードをオリジンに戻し、DNS 変更が反映されるまで待ち、CNAME レコードモードの設定を削除してから、クラウドネイティブモードで ALB インスタンスを追加してください。
WAF 2.0 と WAF 3.0 の ALB との統合の違いは何ですか?
WAF 3.0 は、ALB インスタンスに埋め込まれた SDK を使用します。SDK は、転送パスを介さずに、トラフィックの抽出、検出、保護を処理するため、リクエストは 1 つのゲートウェイのみを通過します。これにより、追加のホップによるレイテンシーが排除され、WAF と ALB 間で証明書や暗号スイートを同期する必要がなくなります。
WAF 2.0 は、透過プロキシを使用します。トラフィックは WAF を経由してリダイレクトされ、WAF が攻撃をブロックし、正常なリクエストをオリジンに転送します。リクエストは 2 つのゲートウェイを通過するため、タイムアウトや証明書などの設定を両方で同期する必要があります。
詳細な比較については、「WAF 3.0 と WAF 2.0 の比較」をご参照ください。