Web Application Firewall (WAF) を使用してWebサイトを保護するには、Webサイトのドメイン名をWAFに追加する必要があります。 このトピックでは、CNAMEレコードモードでWAFにドメイン名を追加し、ドメイン名がWAFに正常に追加されたかどうかを確認する方法について説明します。
WAF保護の仕組み
CNAMEレコードモードでWebサイトのドメイン名をWAFに追加すると、すべてのWebサイトトラフィックが検査のためにWAFにリダイレクトされます。 WAFは悪意のあるトラフィックを除外し、通常のトラフィックを配信元サーバーに転送します。 これにより、Webサイトのサービスとデータのセキュリティが保証されます。 この場合、WAFはトラフィックを検査し、リバースプロキシクラスターとして転送します。
前提条件
WAF 3.0インスタンスを購入しました。 詳細については、「サブスクリプションWAF 3.0インスタンスの購入」および「従量課金WAF 3.0インスタンスの購入」をご参照ください。
Webサイトのドメイン名が中国本土リージョンのサーバーでホストされている場合は、そのドメイン名のICP登録が完了しており、WebサイトがWAFによって保護されている場合にICP登録情報が有効であることを確認してください。
説明中国本土リージョンにデプロイされているWAFインスタンスは、ドメイン名のICP登録情報が有効かどうかを定期的に確認します。 ドメイン名のICP登録情報が無効になった場合、WAFは関連する法令に基づいてドメイン名を管理します。 たとえば、WAFはドメイン名のリクエストの転送を停止したり、ドメイン名の設定を削除したりできます。
WebサイトがAlibaba Cloudでホストされている場合、Alibaba Cloud ICP申請システムを使用して、ドメイン名のICP申請を申請できます。 詳細については、次をご参照ください: シナリオ。
WebサイトがAlibaba Cloudにデプロイされていない場合は、Alibaba Cloudまたは別のクラウドサービスプロバイダーに連絡してICP申請を申請できます。
手順
WAF 3.0コンソールにログインします。 上部のナビゲーションバーで、WAFインスタンスのリソースグループとリージョンを選択します。 中国本土 または 中国本土以外 を選択できます。
左側のナビゲーションウィンドウで、アクセス管理 をクリックします。
On theCNAME アクセスタブをクリックします。追加.
では、Listener 設定ステップ、パラメータを設定し、次へ. 下表に、各パラメーターを説明します。
パラメーター
説明
ドメイン名
保護するドメイン名を入力します。
www.aliyundoc.com
などの完全一致ドメイン名、または* .aliyundoc.com
などのワイルドカードドメイン名を入力できます。 ドメイン名は1つだけ入力できます。初めてドメイン名をWAFに追加するときは、ドメイン名の所有権を確認する必要があります。 所有権が検証に合格した後にのみ、ドメイン名をWAFに追加できます。 詳細については、「ドメイン名の所有権の確認」をご参照ください。
説明ワイルドカードドメイン名を使用して、ワイルドカードドメイン名と同じレベルにあるすべてのサブドメインをカバーできます。 たとえば、
* .aliyundoc.com
はwww.aliyundoc.com
とexample.aliyundoc.com
をカバーできますが、* .aliyundoc.com
はwww.example.aliyundoc.com
をカバーできません。第2レベルのワイルドカードドメイン名は、その第2レベルの親ドメイン名をカバーすることができる。 たとえば、
* .aliyundoc.com
はaliyundoc.com
をカバーできます。第3レベルのワイルドカードドメイン名は、その第3レベルの親ドメイン名をカバーできません。 たとえば、
* .example.aliyundoc.com
はexample.aliyundoc.com
をカバーできません。完全一致ドメイン名と、完全一致ドメイン名をカバーするワイルドカードドメイン名を追加する場合、完全一致ドメイン名用に構成されている保護ルールが優先されます。
プロトコルタイプ
Webサイトで使用されるプロトコルタイプとポートを選択します。 ポート番号を入力するたびにEnterキーを押します。
説明入力するポート番号はWAFでサポートされている必要があります。 WAFでサポートされているHTTPポートとHTTPSポートを表示するには、ポート範囲の表示 をクリックします。 詳細については、「サポートされているポートの表示」をご参照ください。
HTTPSを選択した場合、HTTPSUpload Typeパラメーターを設定して、SSL証明書のアップロードに使用する方法を指定します。 次に、ドメイン名にバインドされたSSL証明書をWAFにアップロードします。 これにより、WAFはWebサイトのHTTPSトラフィックを監視できます。
SSL証明書のアップロードに使用する方法を指定します。
説明WAF (version_share_vm) はHTTPSをサポートしていません。
HTTPSを選択して証明書をアップロードすると、ビジネス要件に基づいて次の操作を実行できます。
WebサイトがHTTP/2をサポートしている場合は、HTTP2を選択してHTTP/2リクエストを保護します。
説明HTTP/2ポートはHTTPSポートと同じです。
詳細設定
Anti-DDoS Pro、Anti-DDoS Premium、Alibaba Cloud CDNなどのレイヤー7プロキシをWAFの前にデプロイするかどうか
Anti-DDoSプロキシやAlibaba Cloud CDNなどのレイヤー7プロキシをWAFの前にデプロイするかどうかを指定します。 有効な値:
詳細設定
リソースグループ
ドロップダウンリストから、ドメイン名を追加するリソースグループを選択します。 リソースグループを選択しない場合、ドメイン名はデフォルトリソースグループに追加されます。
説明リソース管理を使用して、リソースグループを作成し、Alibaba Cloudアカウント内のリソースを部門またはプロジェクトごとに管理できます。 詳細については、「リソースグループの作成」をご参照ください。
転送ルールの設定 ステップで、パラメーターを設定し、サブミット をクリックします。 下表にパラメーターを示します。
パラメーター
説明
ロードバランシングアルゴリズム
複数の配信元サーバーアドレスを指定する場合は、ロードバランシングアルゴリズム を選択し、配信元に戻るリクエストを配信元サーバーに転送するためにWAFを使用します。 有効な値:
配信元サーバーアドレス
オリジンサーバーのパブリックIPアドレスまたはドメイン名を指定します。 IPアドレスまたはドメイン名は、WAFによって転送されるback-to-originリクエストを受信するために使用されます。 有効な値:
- 重要
オリジンサーバーのパブリックIPアドレスが変更された場合は、新しいback-to-origin IPアドレスを手動で追加する必要があります。
HTTPS 詳細設定
他の詳細設定
追加完了ステップで、ドメイン名に割り当てられたCNAMEを取得します。 ドメイン名がWAFによって提供されるCNAMEを指すようにDNSレコードを変更します。 詳細については、「ドメイン名のDNSレコードの変更」をご参照ください。
重要DNSレコードを変更する前に、次の条件が満たされていることを確認してください。
Webサイトの転送設定が正しく、有効になっています。 Webサイトの転送設定が有効になる前にDNSレコードを変更すると、サービスの中断が発生する可能性があります。 詳細については、「ドメイン名設定の確認」をご参照ください。
WAFのback-to-origin CIDRブロックは、ドメイン名がホストされているオリジンサーバーが使用するサードパーティファイアウォールのIPアドレスホワイトリストに追加されます。 これにより、WAFによって転送される通常のリクエストがブロックされなくなります。 [CNAMEレコード] タブで、ドメイン名リストの上にある Back-to-origin CIDR ブロック をクリックして、WAFのback-to-origin CIDRブロックを表示およびコピーできます。 詳細については、「WAFのback-to-origin CIDRブロックからのアクセスを許可する」をご参照ください。
上記の設定を完了したら、次の操作を実行して、ドメイン名がWAFによって保護されているかどうかを確認できます。
ブラウザにドメイン名を入力します。 Webサイトにアクセスできる場合、ドメイン名はWAFによって保護されます。
ドメイン名と
<Protected domain name>/alert(xss)
やalert(xss)
などの悪意のあるコードを入力します。 405エラーページが表示された場合、攻撃はブロックされ、ドメイン名はWAFによって保護されます。
その他操作
ドメイン名のDNS解決ステータスの表示
WAFは、保護されたドメイン名のDNS解決ステータスをチェックし、DNSレコードが異常なドメイン名を特定します。 WAFに追加したドメイン名のDNS解決ステータスをドメイン名リストに表示し、WAFコンソールに表示されるエラーメッセージに基づいてDNSレコードを変更できます。
DNS検証ステータス | 説明 | API 操作 |
DNS解決は正常です。 | ドメイン名は、WAFによって提供されるCNAMEを指します。 | なし。 |
DNS解決が異常です。 Aレコードが使用される。 | Aレコードが使用され、サービス中断が発生する可能性があります。 | Aレコードを削除し、CNAMEレコードを追加して、WAFが提供するCNAMEにドメイン名を指定します。 詳細については、「ドメイン名のDNSレコードの変更」をご参照ください。 |
DNS解決が異常です。 WAFインスタンスの無効なIPアドレスが使用されています。 | Aレコードが使用され、ドメイン名が無効なWAF IPアドレスを指しています。 サービスの中断が発生する可能性があります。 | Aレコードを削除し、CNAMEレコードを追加して、WAFが提供するCNAMEにドメイン名を指定します。 詳細については、「ドメイン名のDNSレコードの変更」をご参照ください。 |
DNS解決が異常です。 無効なCNAMEが使用されます。 | CNAMEレコードが使用され、ドメイン名が無効なCNAMEにポイントされます。 サービスの中断が発生する可能性があります。 | ドメイン名がWAFによって提供されるCNAMEを指すようにCNAMEレコードを変更します。 詳細については、「ドメイン名のDNSレコードの変更」をご参照ください。 |
不明なDNS解決の問題が発生します。 プロキシがデプロイされます。 | レイヤ7プロキシはWAFの前で使用され、back-to-originアドレスはWAFによって提供されるCNAMEではありません。 | back-to-originアドレスがWAFによって提供されるCNAMEであるかどうかを確認します。 |
検証がタイムアウトしました。 | なし。 | アイコンをクリックして、DNS解決ステータスを再確認します。 |
DNS解決レコードが見つかりません。 DNSレコードは設定されていません。 | ドメイン名にDNSレコードが設定されていません。 CNAMEレコードは、ドメイン名をWAFによって提供されるCNAMEにポイントするように追加する必要があります。 | CNAMEレコードを追加して、ドメイン名をWAFによって提供されるCNAMEに指定します。 詳細については、「ドメイン名のDNSレコードの変更」をご参照ください。 |
WAFをポイントできませんでした。 DNSレコードは設定されていません。 | ドメイン名は、WAFが提供するCNAMEを指していません。 CNAMEレコードは、ドメイン名をWAFによって提供されるCNAMEにポイントするように追加する必要があります。 | ドメイン名がWAFによって提供されるCNAMEを指すようにCNAMEレコードを変更します。 詳細については、「ドメイン名のDNSレコードの変更」をご参照ください。 |
ドメイン名へのタグの追加または削除
WAFに追加されたドメイン名にタグを追加し、タグで特定のドメイン名を検索できます。
WAFに追加されたドメイン名の変更または削除
ドメイン名を削除する前に、DNSレコードの設定を元の設定に戻す必要があります。 たとえば、DNSレコードを変更して、ドメイン名を配信元サーバーのIPアドレスに解決できます。 DNSレコード設定を変更しない場合、WAFはドメイン名に送信されたリクエストをオリジンサーバーに転送できず、Webサイトにアクセスできません。
管理するドメイン名を見つけて、[操作] 列の 編集 または 削除 をクリックします。
デフォルトのSSLまたはTLS設定
同じWAFインスタンスに複数のドメイン名を追加する場合、共有WAF仮想IPアドレス (VIP) を使用してドメイン名のトラフィックを監視します。
さまざまなシナリオでHTTPSのセキュリティコンプライアンスと互換性の要件を満たすために、WAFではIPv4 VIPのSSLまたはTLS設定を構成できます。 コンプライアンスのスキャンと検出を実行する前に、VIPのHTTPS証明書をアップロードし、特定のTLSプロトコルバージョンと暗号スイートを無効または有効にすることができます。
排他的IPアドレスを購入して有効にすると、排他的IPアドレスの設定が有効になります。 排他的IPアドレスの詳細については、「排他的IPアドレス」をご参照ください。
ドメイン名リストの上にある [デフォルトのSSL/TLS設定] をクリックします。
[デフォルトのSSL/TLS設定] ダイアログボックスで、パラメーターを設定し、[OK] をクリックします。 下表に、各パラメーターを説明します。
パラメーター
説明
HTTPSUploadタイプ
SSL証明書のアップロード方法を指定します。 詳細については、このトピックの「HTTPSUpload Typeパラメーター」をご参照ください。
TLSバージョン
HTTPS通信でサポートされているTLSプロトコルのバージョンを指定します。 有効な値:
TLS 1.0以降 (最高の互換性と低セキュリティ) (デフォルト)
TLS 1.1以降 (高い互換性と高いセキュリティ)
TLS 1.2以降 (高い互換性と最高のセキュリティ)
TLS 1.3を有効にする場合は、[TLS 1.3のサポート] を選択します。
HTTPSCipherスイート
HTTPS通信でサポートされている暗号スイートを指定します。 有効な値:
すべてのサイファースイート (高い互換性と低いセキュリティ) (デフォルト)
Custom Cipher Suite (プロトコルバージョンに基づいて選択します。 注意してください。)
カスタム暗号スイートの詳細については、「サポートされている暗号スイートの表示」をご参照ください。
ドメイン名にバインドされたSSL証明書の更新
ドメイン名にバインドされているSSL証明書の有効期限が近づいている場合、または証明書が取り消された場合など、証明書が変更された場合は、証明書を更新する必要があります。
証明書の残りの有効期間が30日未満の場合、アイコンがドメイン名リストに表示されます。 これは、証明書の有効期限が近づいていることを示します。 この場合、できるだけ早い機会に証明書を更新する必要があります。
証明書の有効期限が近づいたときに電子メールやテキストメッセージなどの方法で通知を受信する場合は、証明書の通知を設定できます。 詳細については、「SSL証明書の通知の設定」をご参照ください。
証明書の有効期限によるサービスの中断を防ぐには、証明書管理サービスの証明書ホスティング機能を有効にします。 証明書に対してこの機能を有効にすると、システムは自動的に ホストされた証明書の有効期限が近づいたときの新しい証明書。 詳細については、「証明書ホスティング機能の概要」をご参照ください。
ドメイン名にバインドされているSSL証明書を更新するには、次の手順を実行します。
証明書を更新するか、サードパーティの証明書を証明書管理サービスにアップロードします。 詳細については、「証明書の更新」または「SSL証明書のアップロードと共有」をご参照ください。
証明書をWAFに同期します。
証明書管理サービスコンソールで、証明書をWAFにデプロイします。 詳細については、「Alibaba Cloudサービスへの証明書のデプロイ」をご参照ください。
WAFコンソールで証明書をアップロードします。
[Webサイト設定] ページの [CNAMEレコード] タブで、証明書を更新するドメイン名を見つけ、[操作] 列の [編集] をクリックします。
HTTPSUpload Typeパラメーターを [既存の証明書の選択] に設定し、新しい証明書を選択します。
次のステップ
ドメイン名をWAFに追加すると、ドメイン名がWAFの保護オブジェクトとして自動的に追加され、保護オブジェクトに対して基本保護ルールモジュールの保護ルールが自動的に有効になります。 保護されたオブジェクトの名前は、Domain name-waf形式です。
ページで、保護オブジェクトを表示し、保護オブジェクトの保護ルールを設定できます。関連ドキュメント
保護されたオブジェクト、保護ルール、および保護プロセスの詳細については、「保護構成の概要」をご参照ください。
API操作を呼び出してドメイン名をWAFに追加する方法の詳細については、「CreateDomain」をご参照ください。
CNAMEレコードモードでWAFに追加されたドメイン名の詳細を照会する方法の詳細については、「DescribeDomainDetail」をご参照ください。