API Gateway によってホストされている Cloud-native API Gateway インスタンスを Web 攻撃から保護するために、Web Application Firewall (WAF) 保護を有効にできます。このソリューションは、既存のネットワークアーキテクチャや DNS 設定を変更することなく、低遅延で高可用性の Web セキュリティ保護をアプリケーションに提供します。
仕組み
クラウドプロダクトを Cloud-native API Gateway インスタンスと連携する場合、SDK 連携を使用します。SDK はクラウドプロダクトに組み込まれており、トラフィックを抽出、検出、保護します。WAF はトラフィックを転送しないため、追加の転送レイヤーによって引き起こされる互換性や安定性の問題を回避できます。
適用範囲
Cloud-native API Gateway インスタンスが以下の要件を満たさない場合、CNAME 連携を使用します。
アカウント要件: APIG インスタンスと WAF インスタンスは、マルチアカウント管理機能が設定されているアカウントを除き、同じ Alibaba Cloud アカウントに属している必要があります。
リージョン要件: WAF 保護は、以下のリージョンにある APIG インスタンスでのみ有効にできます: 中国 (杭州)、中国 (上海)、中国 (北京)、中国 (深セン)、中国 (ウランチャブ)、中国 (張家口)、中国 (青島)、中国 (成都)、中国 (香港)、シンガポール、インドネシア (ジャカルタ)、日本 (東京)、ドイツ (フランクフルト)、米国 (シリコンバレー)、米国 (バージニア)。
操作手順
APIG インスタンスの WAF 保護を初めて有効にする際、ゲートウェイサービスが自動的に再起動する場合があります。これにより、持続的接続が中断され、サービス中断やパフォーマンス低下を引き起こす可能性があります。この操作はオフピーク時間帯に実行してください。WAF 保護ルールは、有効化後約 5 分で適用されます。
コンソールへのアクセス:
Web Application Firewall 3.0 コンソールにログインします。Web Application Firewall 3.0 コンソール の上部のメニューバーで、WAF インスタンスのリソースグループとリージョンを選択します(中国本土)。左側のナビゲーションウィンドウで、アクセス管理 をクリックします。クラウドプロダクトアクセス タブを選択し、左側のクラウドプロダクトタイプのリストから Cloud Native API Gateway (APIG) を選択します。
クラウドプロダクトの権限付与 (未承認ユーザーのみ):
画面の指示に従い、今すぐ許可する をクリックして、クラウドサービスの権限付与を完了します。作成されたサービスリンクロール AliyunServiceRoleForWAF は、Resource Access Management (RAM) コンソール の ページで表示できます。
接続する Cloud Native API Gateway (APIG) インスタンス:
アクセス をクリックします。ページが Cloud-Native API Gateway コンソール にリダイレクトされます。
左側のナビゲーションウィンドウで、Instance をクリックします。次に、WAF 保護を有効にします。
インスタンスレベル保護の有効化
Instance ページで、Instance ID/Name 列の目的のゲートウェイをクリックします。
Basic Information タブの Network Information エリアで、WAF 保護の Enable をクリックします。表示されるパネルで、Continue to enable instance-level WAF protection (recommended) を選択します。
ルートレベル保護の有効化
Instance ページで、対象のゲートウェイの 操作 列にある API Management をクリックします。
API ページで、API Name 列で目的の API をクリックします。ポリシーの設定 タブを選択します。
Inbound Processing エリアで、Enable Policy/Plug-in をクリックします。[WAF ポリシー] カードを選択します。
「Enable Route-level WAF Protection (Recommended)」をクリックします。表示されたダイアログボックスで、「OK」をクリックします。
保護効果の確認:
宛先インスタンスのBasic Informationページで WAF 保護ステータスがEnabledと表示される場合、または宛先ルートのポリシーの設定ページで WAF ステータスがEnabledと表示される場合、統合は成功しています。このことを確認するには、ブラウザにドメイン名と Web 攻撃コードを入力します(例:
<your-domain-name>/alert(xss)。ここで、alert(xss)はテスト用のクロスサイトスクリプティング攻撃コードです)。ブラウザが 405 ブロッキングページを返した場合、攻撃は正常にブロックされており、WAF 保護が有効になっています。
次のステップ
保護ルールの表示と設定
統合が完了すると、WAF は自動的にサフィックスが -apig の保護対象オブジェクトを作成し、この保護対象オブジェクトに対してデフォルトで Web コア保護ルールおよび他のモジュールルールを有効にします。これらの設定は、WAF コンソールの ページで確認できます。デフォルトの軽減ルールがビジネス要件を満たさない場合は、新しいルールを作成するか、既存のルールを編集できます。詳細については、「軽減設定の概要」をご参照ください。

オンボーディングのロールバック (保護の無効化)
WAF 保護の一時的な無効化: 統合後に多数の誤検知などの問題が発生した場合は、WAF 保護を一時的に無効化します。WAF コンソールの 保護対象 ページで、WAF 保護ステータス スイッチをオフにします。詳細については、「ワンクリック WAF 保護無効化機能」をご参照ください。
オンボーディングのキャンセル: WAF が APIG インスタンスを保護することをやめたい場合は、Cloud-Native API Gateway コンソール に移動します。左側のナビゲーションウィンドウで、WAF 保護を無効化するには Instance をクリックします。
インスタンスレベル保護の無効化
[Instance]ページで、[Instance ID/Name]列の対象のゲートウェイをクリックします。
Basic Information タブの Network Information エリアで、WAF 保護の Disable をクリックします。 表示されるパネルで、Continue to disable instance-level WAF protection (not recommended) を選択します。
ルートレベル保護の無効化
[Instance] ページで、対象 ゲートウェイの [API Management] を [操作] 列からクリックします。
[API] ページで、API Name 列の対象となる API をクリックします。ポリシーの設定 タブを選択します。
「Inbound Processing」エリアで、WAF の後に表示される
アイコンをクリックし、表示されるポップアップダイアログボックスで、「Delete」をクリックします。
重要連携を解除すると、WAF はサービストラフィックを保護しなくなります。セキュリティレポートにも、関連するサービストラフィックの保護データは含まれなくなります。
WAF インスタンスが従量課金の場合、連携解除後にリクエスト処理料金は発生しません。ただし、WAF インスタンス自体およびその他の既存の保護ルールにより、機能料金は引き続き発生します。WAF の使用を停止し、WAF の課金を停止したい場合は、「WAF の無効化」をご参照ください。
クォータと制限
接続インスタンス数: 接続インスタンス数は、WAF インスタンスタイプの制限を超えてはなりません。
サブスクリプション WAF インスタンス: Basic Edition: 最大 300; Pro Edition: 最大 600; Enterprise Edition: 最大 2,500; Ultimate Edition: 最大 10,000。
従量課金 WAF インスタンス: 最大 10,000。
サポートされていない機能:
Web ページ改ざん防止。
データ漏洩防止。
ボット管理の Web クローラー保護シナリオにおける Web SDK の自動連携。
よくある質問
WAF のクラウドネイティブ連携と CNAME 連携の違いは何ですか?これらは併用できますか?
WAF は、クラウドプロダクト連携と CNAME 連携の 2 種類の連携タイプをサポートしています。
クラウドネイティブ連携 (このトピックで説明されている方法): 現在のアカウント下の Alibaba Cloud プロダクトインスタンスを迅速に連携します。
CNAME 連携: ドメイン名を連携します。この方法は幅広いシナリオに適用され、クロスアカウントおよびクロスクラウドシナリオをサポートします。
これら 2 つの方法は同時に使用できません。各ドメイン名は、1 つの連携方法のみを使用できます。重複した設定はトラフィック転送の競合を引き起こし、保護機能を無効にします。詳細な違いについては、「連携の概要」をご参照ください。