インターネットに公開されている Web アプリケーションは、DDoS 攻撃、SQL インジェクション、クロスサイトスクリプティング、悪意のある HTTP リクエスト、SSH ブルートフォース攻撃などの脅威に直面しています。Application Load Balancer (ALB) インスタンスで Web アプリケーションファイアウォール (WAF) を有効にすると、複数の HTTP プロトコルとエンコーディング形式にまたがる詳細なプロトコル検査が追加されます。
WAF 対応 ALB インスタンスの利点の詳細については、「WAF 対応 ALB インスタンスの利点」をご参照ください。WAF の概要については、「WAF とは」をご参照ください。
WAF を有効にすると、ALB の課金が変更されます。料金の詳細については、「ALB 課金ルール」をご参照ください。
前提条件
開始する前に、以下の前提条件を満たしていることを確認してください:
-
クラスターに ALB Ingress controller がインストールされていること。詳細については、「ALB Ingress controller の管理」をご参照ください。
-
ACK 専用クラスターを使用している場合、ALB Ingress controller にクラスターの権限が付与されていること。詳細については、「ACK 専用クラスターが ALB Ingress controller にアクセスするための承認」をご参照ください。
-
kubectl クライアントが ACK クラスターに接続されていること。詳細については、「クラスターの kubeconfig ファイルを取得し、kubectl を使用してクラスターに接続する」をご参照ください。
WAF 保護の有効化または無効化
AlbConfig の edition フィールドを設定して、WAF 保護を制御します。この変更は、新しい ALB インスタンスを作成するとき、または既存のインスタンスを更新するときに適用できます。
edition の値 |
WAF 保護 |
|---|---|
StandardWithWaf |
有効 |
Standard |
無効 |
再利用された ALB インスタンスの edition フィールドは変更できません。
コンソール
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
-
リソースオブジェクト タブの検索ボックスで AlbConfig を検索し、検索結果の [AlbConfig] をクリックします。
-
[AlbConfig] パネルで、変更したい AlbConfig リソース (デフォルトでは
alb) を見つけ、 アクション 列の YAML の編集 をクリックします。 -
以下のように
editionフィールドを追加し、 [OK] をクリックします。spec: config: addressAllocatedMode: Fixed addressType: Internet edition: StandardWithWaf # Standard に設定すると、Standard エディションにダウングレードされます。 zoneMappings: - vSwitchId: <YOUR_VSWITCHID> - vSwitchId: <YOUR_VSWITCHID>
kubectl
-
AlbConfig を開いて編集します:
kubectl edit albconfig <Albconfig_Name> -
以下のように
editionフィールドを設定し、ファイルを保存します。apiVersion: alibabacloud.com/v1 kind: AlbConfig metadata: name: alb spec: config: addressType: Internet edition: StandardWithWaf # WAF 保護を有効にします。無効にするには Standard に設定します。 zoneMappings: #...
WAF の使用を完全に停止するには、edition フィールドを Standard に設定するのではなく、フィールドとその関連設定を削除します。
よくある質問
ALB インスタンスが WAF 対応エディションから Standard エディションにロールバックされたのはなぜですか?
原因: WAF コンソールから ALB インスタンスの WAF 保護を有効にした場合、後続のリコンサイル中に ALB Ingress controller が、インスタンスの実際のエディションが AlbConfig で宣言された edition フィールドと異なっていることを検出するためです。AlbConfig が明示的に edition: StandardWithWaf を指定していない場合、コントローラーはインスタンスをデフォルトの Standard エディションに復元し、WAF 保護がロールバックされてしまいます。
解決策: WAF コンソールではなく、AlbConfig で WAF 保護を宣言してください。ALB インスタンスを作成または変更する際に、edition フィールドを明示的に StandardWithWaf に設定してください。
次のステップ
-
ソース IP アドレスに基づいてアクセスを制御するには、「AlbConfig を使用した ACL ルールの追加と変更」をご参照ください。
-
相互 TLS を使用してクライアント ID を認証するには、「HTTPS 相互認証を使用したセキュリティの強化」をご参照ください。