オリジンサーバーの IP アドレスが公開されている場合、攻撃者は WAF をバイパスしてオリジンサーバーに直接アクセスできます。オリジンサーバーでアクセス制御を設定し、WAF の back-to-origin CIDR ブロックからのアクセスのみを許可します。
このトピックでは、Server Load Balancer (SLB) インスタンスの背後にある Elastic Compute Service (ECS) インスタンスを例に説明します。
オリジンサーバー保護の設定に関係なく、Web サイトが WAF に追加されるとトラフィックの転送が開始されます。
ECS インスタンスと SLB インスタンスが [透過型プロキシモード] で WAF に追加された場合、すべてのリダイレクトポートのトラフィックは自動的に WAF を経由するため、オリジンサーバー保護は不要です。
オリジンサーバーのアクセス制御におけるリスク
アクセス制御ポリシーが正しくないと、サービスが中断する可能性があります:
ホストされているすべてのドメインを WAF に追加する必要があります。 ECS または SLB インスタンス上の保護されていないドメインが悪用されると、WAF がバイパスされ、同じサーバー上の他のドメインが侵害される可能性があります。
WAF クラスターのフェールオーバーはアクセス制御をバイパスします。 フェールオーバー中、トラフィックはオリジンに直接送信されます。セキュリティグループルールまたは SLB ホワイトリストが WAF トラフィックのみを許可している場合、オリジンに到達できなくなります。
back-to-origin CIDR ブロックは時間の経過とともに変更されます。 WAF は定期的にその back-to-origin CIDR ブロックを更新します。新しいブロックがセキュリティグループルールまたは SLB ホワイトリストに追加されない場合、HTTP 5XX エラーが発生する可能性があります。WAF コンソールを定期的に確認し、適宜ポリシーを更新してください。
WAF の利用を停止する前にアクセス制御ポリシーを削除してください。 トラフィックをオリジンに切り戻す前に、すべてのオリジンサーバーのアクセス制御ポリシーを削除してください。そうしないと、トラフィックがオリジンに到達できなくなります。
前提条件
以下を確認してください:
オリジンサーバーとして、SLB インスタンスの背後にある ECS インスタンスが使用されています。ECS とは | SLB 製品ファミリー
ECS または SLB インスタンス上のすべてのドメイン名が [CNAME レコードモード] で WAF に追加されています。ドメイン名の追加
オリジンサーバーの IP が公開されているかの確認
Alibaba Cloud 以外のホストから、Telnet を使用してオリジンサーバーのパブリック IP のサービスポートに接続します。
接続成功 :IP アドレスが公開されています。攻撃者は WAF をバイパスしてオリジンに直接アクセスできます。
接続失敗 :IP アドレスは公開されていません。
例 :ポート 80 と 8080 での接続性をテストします。両方の接続が成功した場合、IP は公開されています。

WAF の back-to-origin CIDR ブロックの取得
WAF の back-to-origin CIDR ブロックは定期的に変更されます。サービスの中断を防ぐため、新しいブロックを速やかにセキュリティグループルールとホワイトリストに追加してください。
WAF コンソールにログインします。上部メニューで、WAF インスタンスのリソースグループとリージョン ([中国本土] または [中国本土以外]) を選択します。
左側のナビゲーションペインで、アクセス管理 をクリックします。
CNAME アクセス タブで、Back-to-origin CIDR ブロック をクリックします。
Back-to-origin CIDR ブロック ダイアログボックスで、複製 をクリックします。
ECS セキュリティグループルールの設定
2 つのセキュリティグループルールを作成します。1 つは WAF の back-to-origin トラフィックを許可するルール、もう 1 つは他のすべてのインバウンドトラフィックを拒否するルールです。
セキュリティグループ設定へのアクセス
ECS コンソールにログインします。
左側のナビゲーションペインで、ネットワーク & セキュリティ > Security groups を選択します。
上部メニューの左上隅で、ECS インスタンスのリージョンを選択します。
対象のセキュリティグループを見つけ、操作 列の [Manage Rules] をクリックします。
ルールの方向を選択します:
Virtual Private Cloud (VPC) :受信 または 送信 タブをクリックします。
クラシックネットワーク :受信、送信、インターネット入力、または インターネット出力 タブをクリックします。
WAF トラフィックを許可するルールの追加
受信 タブで、ルールの追加 をクリックします。
次のパラメーターを設定し、保存 をクリックします。
パラメーター
説明
[許可ポリシー]
許可 を選択します。
[優先度]
[1] (最高優先度) を入力します。
[プロトコルタイプ]
カスタム TCP を選択します。
[ポート番号の範囲]
[HTTP (80)] と [HTTPS (443)] を選択します。
[権限付与オブジェクト]
WAF の back-to-origin CIDR ブロックを貼り付けます。
[説明]
例:WAF の back-to-origin CIDR ブロックからのインバウンドトラフィックを許可します。
オリジンサーバーが、WAF の back-to-origin CIDR ブロックおよび標準の HTTP/HTTPS ポート以外の IP アドレスとポートで他のアプリケーションと通信する場合は、それらのアドレスとポートもセキュリティグループルールに追加してください。
許可ルールは最高の優先度を持つため、WAF の back-to-origin CIDR ブロックからのすべてのインバウンドトラフィックが許可されます。
すべての WAF の back-to-origin CIDR ブロックが含まれていることを確認してください。CIDR ブロックが欠落していると、アクセスに失敗します。
他のすべてのトラフィックを拒否するルールの追加
受信 タブで、ルールの追加 をクリックします。
次のパラメーターを設定し、保存 をクリックします。
パラメーター
説明
[許可ポリシー]
拒否 を選択します。
[優先度]
[100] (最低優先度) を入力します。
[プロトコルタイプ]
カスタム TCP を選択します。
[ポート番号の範囲]
[HTTP (80)] と [HTTPS (443)] を選択します。
[権限付与オブジェクト]
0.0.0.0/0を入力します。これはすべての CIDR ブロックに一致します。[Description]
例:すべてのインバウンドトラフィックをブロックします。
両方のルールが設定されると、ECS インスタンスは WAF の back-to-origin CIDR ブロックからのインバウンドトラフィックのみを受け入れます。すべてのサービストラフィックは WAF を経由する必要があります。
SLB アクセス制御ポリシーの設定
オリジンが SLB インスタンスの背後にある場合は、リスナーのホワイトリストを設定して WAF トラフィックのみを許可します。
この例では、Classic Load Balancer (CLB) インスタンスを使用します。Application Load Balancer (ALB) の場合は、代わりに「アクセス制御」の指示に従ってください。
アクセスコントロールリストの作成
CLB コンソールにログインします。
上部メニューで、CLB インスタンスのリージョンを選択します。
左側のナビゲーションペインで、Classic Load Balancer (CLB) > アクセス制御 を選択します。
アクセス制御 ページで、ACL の作成 をクリックします。
ACL の作成 パネルで、次のパラメーターを設定し、作成 をクリックします。
パラメーター
説明
[ポリシーグループ名]
名前を入力します。例:WAF back-to-origin CIDR ブロック。
[Add Multiple Addresses/CIDR Blocks and Descriptions]
すべての WAF の back-to-origin CIDR ブロックを 1 行に 1 つずつ貼り付けます。貼り付ける前に、コピーしたリストのカンマを改行に置き換えます。
リスナーのホワイトリスト設定
左側のナビゲーションペインで、Classic Load Balancer clb > インスタンス を選択します。
インスタンス ページで、対象のインスタンスを見つけてその ID をクリックします。
リスナー タブで、設定するリスナーを見つけます。操作 列の
アイコンをクリックし、次に 設定 をクリックします。WAF によって保護されているサービスに基づいてリスナーを選択します:HTTP サービス :HTTP リスナーを選択します。
HTTPS サービス :HTTPS リスナーを選択します。
HTTP と HTTPS の両方のサービス :両方のリスナーを選択します。
アクセス制御設定 パネルで、アクセス制御の有効化 をオンにし、次のパラメーターを設定します。
パラメーター
説明
[アクセス制御モード]
[Whitelist: allows only trusted IP addresses to access SLB.] を選択します。
ACL の選択
WAF の back-to-origin CIDR ブロック用に作成した ACL を選択します。
ホワイトリストが適用されると、CLB インスタンスは WAF の back-to-origin CIDR ブロックからのインバウンドトラフィックのみを受け入れます。
設定の確認
設定を確認します:
Alibaba Cloud 以外のホストから、Telnet を使用してオリジンのポート 80 と 8080 に接続します。
結果を確認します:
ポート 80 または 8080 に接続できないが、サービスは正常に実行されている :設定は有効です。オリジンへの直接アクセスはブロックされ、すべてのトラフィックは WAF を経由します。
まだ接続できる :セキュリティグループルールと SLB ホワイトリストのエントリに漏れがないか確認してください。