Web Application Firewall (WAF) を使用してウェブサービスを保護する前に、ウェブサイトを WAF に追加する必要があります。
連携方式
WAF は、CNAME レコードと透過型プロキシモードという 2 つの連携方式をサポートしています。 デフォルトでは、WAF は HTTP/1.0、HTTP/1.1、HTTP/2.0 をサポートしています。 ビジネスニーズに基づいて連携方式を選択できます。
お使いのウェブサイトが HTTP/2.0 プロトコルをサポートしている場合、[HTTP2] スイッチをオンにすることで、HTTP/2.0 サービスの保護を有効にできます。
相違点 | CNAME レコード | 透過型プロキシモード |
概念 | ウェブサイト情報を追加し、ドメインの DNS レコードを変更することで、ウェブトラフィックを WAF にリダイレクトします。 | ドメインの DNS レコードを変更することなく、ウェブサイト情報を追加するだけで、ウェブトラフィックを WAF にリダイレクトします。 |
サポートされるオリジンサーバー | Alibaba Cloud にデプロイされているかどうかに関わらず、すべてのオリジンサーバー。 | ECS インスタンスまたはインターネット向け SLB インスタンスにデプロイされているオリジンサーバー。 |
連携の範囲 | 一度に追加できるドメインは 1 つだけです。 | インスタンスに属するすべてのドメインを一度に追加できます。 |
back-to-origin 設定の要否 | はい | いいえ |
DNS レコード変更の要否 | はい。 DNS レコードを変更する必要があります。 | いいえ。 DNS レコードを変更する必要はありません。 |
オリジンサーバー保護の要否 | はい。 オリジンサーバーは直接攻撃のリスクにさらされるため、オリジンサーバーの保護を設定する必要があります。 | いいえ。 オリジンサーバーの保護を設定する必要はありません。 |
制限事項 | なし。 |
制限事項の詳細については、「透過型プロキシモード」をご参照ください。 |
CNAME レコードによる連携
ドメイン名の追加 ページに移動します。
ドメイン名を追加します。 ドメイン名や back-to-origin 設定などのウェブサイト情報を WAF に提供します。
パラメーター
説明
[ドメイン名]
保護するウェブサイトのドメイン名を入力します。
[保護リソース]
要件に基づいて保護リソースの種類を選択します。
[プロトコルタイプ]
ウェブサイトがサポートするプロトコルの種類を選択します。 HTTPS ルーティングの有効化、HTTP back-to-origin の有効化、Origin SNI の有効化 を選択できます。
オリジンサーバーアドレス
WAF がリクエストを転送するオリジンサーバーのアドレスを指定します。 次のアドレスタイプがサポートされています:
IP アドレス:SLB インスタンス、ECS インスタンス、または外部データセンターのサーバーのパブリック IP アドレス。
ドメイン名 (CNAME など):保護対象ドメインとは異なる back-to-origin ドメイン。 back-to-origin トラフィックでは IPv4 アドレスのみがサポートされます。
オリジンサーバーポート
プロトコルタイプ に基づいて、オリジンサーバーがサービスの提供に使用するポートを設定します。
重要オリジンサーバーが HTTP ポート 80 または HTTPS ポート 443 以外のポートを使用する場合、WAF がサポートするポート範囲からカスタムサーバーポートを指定できます。 詳細については、「WAF がサポートするポート」をご参照ください。
[ロードバランシングアルゴリズム]
複数のオリジンサーバーアドレスを指定する場合は、サーバーの負荷分散アルゴリズムを選択します。
[WAF の前にレイヤー 7 プロキシがあるかどうか (Anti-DDoS Proxy や CDN など)]
WAF の前に Anti-DDoS Proxy や CDN などの別のレイヤー 7 プロキシサービスがデプロイされているかどうかを指定します。
[トラフィックマークの有効化]
トラフィックマーク機能を有効にするかどうかを指定します。
[Back-to-origin タイムアウト設定]
オリジンサーバーの処理時間が長く、タイムアウトが発生する可能性がある場合は、WAF の接続および読み書きのタイムアウト期間を設定できます。
[back-to-origin の再試行]
back-to-origin リクエストが失敗した場合、デフォルトでは、WAF はオリジンサーバーごとに最大 3 回リクエストを再試行します。 この機能を無効にすると、WAF は失敗したリクエストを再試行しません。
[back-to-origin 持続的接続]
WAF とオリジンサーバー間の永続的な接続を設定します。
詳細については、「ドメイン名の追加」をご参照ください。
WAF でドメイン名設定をローカル検証します。 この手順は、ドメインの DNS レコードを変更する前に転送設定が正しいことを確認することで、サービスの中断を防ぐのに役立ちます。 詳細については、「ローカル検証」をご参照ください。
ドメインの DNS レコードを変更して、ウェブサイトのトラフィックを WAF に転送します。
以下の手順では、Alibaba Cloud DNS を例として、DNS レコードを変更する方法を説明します。
WAF から CNAME または IP アドレスを取得します。 詳細については、「WAF の CNAME の取得」をご参照ください。
Alibaba Cloud DNS コンソールの [ドメイン] ページに移動します。 管理するドメイン名を見つけ、Actions 列の 解決設定 をクリックし、CNAME レコードの値を WAF によって提供された CNAME に変更します。
詳細については、「ドメイン名の DNS レコードの変更」をご参照ください。
WAF の保護が有効であることを確認します。
Web ブラウザで、追加したドメイン名を入力します。Web サイトが正しく読み込まれれば、ドメインは正常に追加されています。
説明WAF が提供する CNAME ではなく、ドメイン名で Web サイトにアクセスしてください。CNAME は DNS 解決にのみ使用され、直接アクセスすることはできません。
Web ブラウザで、追加したドメイン名と Web 攻撃コード (例:
<保護対象ドメイン名>/alert(xss)) を入力します。ここでalert(xss)はクロスサイトスクリプティング攻撃のテストコードです。405 ブロックページが表示されれば、WAF が攻撃を正常に迎撃しています。
これらの手順を完了すると、ウェブサイトは WAF に正常に追加されます。 より包括的な保護を行うには、次の手順を実行します。
HTTPS 証明書のアップロード
ウェブサイトが HTTPS プロトコルを使用している場合は、ドメイン名を追加した後に有効な HTTPS 証明書をアップロードする必要があります。 これにより、WAF は HTTPS トラフィックを処理できるようになります。 詳細については、「ドメイン名の追加」をご参照ください。
WAF の back-to-origin IP CIDR ブロックを許可リストに追加
ウェブサイトを WAF に追加すると、WAF は特定の back-to-origin IP CIDR ブロックを使用して、正当なトラフィックをオリジンサーバーに転送します。 これにより、これらの IP アドレスからのアクセスの頻度と集中度が高まる可能性があります。 オリジンサーバーのセキュリティソフトウェアがこれらの IP アドレスを攻撃元としてブロックするのを防ぐには、WAF の back-to-origin IP CIDR ブロックをセキュリティソフトウェアの許可リストに追加する必要があります。 詳細については、「WAF の back-to-origin IP CIDR ブロックを許可リストに追加する」をご参照ください。
オリジンサーバーの保護の設定
セキュリティ上の理由から、オリジンサーバーには、WAF の back-to-origin IP CIDR ブロックからのインバウンドトラフィックのみを許可するアクセス制御ポリシーを設定します。 これにより、攻撃者が WAF をバイパスしてオリジンサーバーを直接攻撃するのを防ぐことができます。 詳細については、「オリジンサーバーの保護の設定」をご参照ください。
カスタム TLS 設定の構成
WAF で保護されたウェブサイトが HTTPS を使用する場合、ドメイン名の TLS プロトコルバージョンと暗号スイートをカスタマイズできます。 詳細については、「カスタム TLS ポリシーの設定」をご参照ください。
透過型プロキシモードによる連携
Web Application Firewall コンソールの [ドメイン名の追加] ページに移動し、アクセスモード を トランスペアレントプロキシモード に設定します。
ドメイン名を追加します。
パラメーター
説明
[ドメイン名]
ウェブサイトのドメイン名を入力します。
インスタンスとポート
インスタンスのタイプを選択し、対応するインスタンスのポートを追加します。 WAF は、次のインスタンスタイプのオリジンサーバーポートに対して、透過型プロキシモードを有効にすることをサポートしています:SLB ベースのドメイン、レイヤ 7 SLB ベースのドメイン、レイヤ 4 SLB ベースのドメイン、および ECS ベースのドメイン。
[WAF の前にレイヤー 7 プロキシがあるかどうか (Anti-DDoS Proxy や CDN など)]
WAF の前に Anti-DDoS Proxy や CDN などの別のレイヤー 7 プロキシサービスがデプロイされているかどうかを指定します。
[トラフィックマークの有効化]
トラフィックマーク機能を有効にするかどうかを指定します。
詳細については、「透過型プロキシモード」をご参照ください。
WAF の保護が有効であることを確認します。
Web ブラウザで、追加したドメイン名を入力します。Web サイトが正しく読み込まれれば、ドメインは正常に追加されています。
説明WAF が提供する CNAME ではなく、ドメイン名で Web サイトにアクセスしてください。CNAME は DNS 解決にのみ使用され、直接アクセスすることはできません。
Web ブラウザで、追加したドメイン名と Web 攻撃コード (例:
<保護対象ドメイン名>/alert(xss)) を入力します。ここでalert(xss)はクロスサイトスクリプティング攻撃のテストコードです。405 ブロックページが表示されれば、WAF が攻撃を正常に迎撃しています。
WAF と他のクラウドサービスとの連携
ウェブサイトを WAF に直接追加するだけでなく、Anti-DDoS Proxy や CDN などの他の Alibaba Cloud サービスと WAF を連携させて、包括的なセキュリティアーキテクチャを構築することもできます。
Anti-DDoS Proxy と WAF を併用してウェブサイトの保護を強化する:Web アプリケーション攻撃と DDoS 攻撃の両方からウェブサイトを保護するために、オリジンサーバーの前に Anti-DDoS Proxy と WAF をデプロイできます。
WAF と CDN を使用してアクセラレーションドメインを保護する:CDN を使用してコンテンツを高速化しながら Web アプリケーション攻撃からウェブサイトを防御するには、オリジンサーバーの前に CDN と WAF をデプロイできます。
次のステップ
ウェブサイトを WAF に追加すると、そのトラフィックは保護のために WAF を経由してルーティングされます。 WAF は、さまざまなセキュリティ脅威からウェブサイトを防御するための複数の検出モジュールを提供します。 デフォルトでは、Web セキュリティ の ルール保護エンジン と アクセス制御/スロットリング の HTTP Flood 防御 モジュールが有効になっています。 これらは、SQL インジェクション、XSS、Web シェルのアップロードなどの一般的な Web アプリケーション攻撃や、HTTP フラッド攻撃から保護します。 他の保護モジュールを手動で有効にし、特定の保護ルールを設定する必要があります。 詳細については、「ウェブサイト保護設定の概要」をご参照ください。