このトピックでは、Anti-DDoS Origin有料版とWeb Application Firewall (WAF) を使用して保護を提供する方法について説明します。 このソリューションは、レイヤー4分散型サービス拒否 (DDoS) 攻撃、レイヤー7 web攻撃、およびHTTPフラッド攻撃からwebサイトを保護します。
前提条件
Elastic Compute Service (ECS) インスタンスが作成され、webアプリケーションがデプロイされています。 ECSインスタンスにはパブリックIPアドレスがあり、Webサイトにはドメイン名があります。
説明 Webサイトが中国本土でサービスを提供している場合は、Webサイトのドメイン名のインターネットコンテンツプロバイダ (ICP) 申請を完了する必要があります。 それ以外の場合は、中国本土のWAFインスタンスにドメイン名を追加してWebサイトを保護することはできません。
有料版のAnti-DDoS Originインスタンスが購入されました。 詳細については、「有料版のAnti-DDoS Originインスタンスの購入」をご参照ください。
説明 有料版のAnti-DDoS Originインスタンスを購入するときは、リージョンを選択する必要があります。 有料版のAnti-DDoS OriginインスタンスとECSインスタンスが同じリージョンにあることを確認してください。
WAF 3.0インスタンスが購入されました。 詳細については、「サブスクリプションWAF 3.0インスタンスの購入」をご参照ください。
背景情報
Anti-DDoS Origin有料版を使用して、WebサイトのDDoS攻撃を軽減できます。 webサイトでweb攻撃やHTTPフラッド攻撃が発生した場合は、WAFを使用してwebサイトを保護することを推奨します。 WAFの詳細については、「」をご参照ください。WAFとは何ですか?
Anti-DDoS Origin有料エディションとWAFを使用してWebサイトを保護する場合は、WebサイトをWAFに追加してから、WAFインスタンスのIPアドレスをAnti-DDoS Origin有料エディションに追加して保護する必要があります。 この場合、すべてのサービストラフィックは最初にWAFによってスクラブされ、通常のトラフィックのみがオリジンサーバーに転送されます。 DDoS攻撃、web攻撃、HTTPフラッド攻撃などの攻撃トラフィックはブロックされます。
手順
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ポートを表示するには、ポート範囲の表示 をクリックします。 詳細については、「サポートされているポートの表示」をご参照ください。 |
Anti-DDoS Pro、Anti-DDoS Premium、Alibaba Cloud CDNなどのレイヤー7プロキシをWAFの前にデプロイするかどうか | Anti-DDoSプロキシやAlibaba Cloud CDNなどのレイヤー7プロキシをWAFの前にデプロイするかどうかを指定します。 No: レイヤ7プロキシはWAFの前にデプロイされません。 WAFはクライアントからリクエストを受信します。 リクエストはプロキシによって転送されません。 WAFは、クライアントがWAFとの接続を確立するために使用するIPアドレスをクライアントのIPアドレスとして使用します。 WAFは、REMOTE_ADDR フィールドの値に基づいてIPアドレスを取得します。 Yes: レイヤ7プロキシがWAFの前にデプロイされます。 WAFはレイヤー7プロキシからリクエストを受信します。 WAFがセキュリティ分析のためにクライアントの実際のIPアドレスを取得できるようにするには、クライアント IP の取得方法 パラメーターを設定します。 有効な値: X-Forwarded-For フィールドのファースト IP アドレスをクライアントのソースアドレスにする (デフォルト) デフォルトでは、WAFはX-Forwarded-For フィールドの最初のIPアドレスをクライアントの送信元IPアドレスとして使用します。 [推奨] X-Forwarded-For偽造を防ぐために、指定されたヘッダーフィールドの最初のIPアドレスをクライアントの実際のIPアドレスとして使用する。 X-Client-IPやX-Real-IPなど、カスタムヘッダーフィールドにクライアントの送信元IPアドレスを含むプロキシを使用する場合は、この値を選択します。 次に、ヘッダフィールド フィールドにカスタムヘッダーフィールドを入力します。
説明 カスタムヘッダーフィールドを使用してクライアントの送信元IPアドレスを格納し、WAFでヘッダーフィールドを指定することを推奨します。 このように、攻撃者はX-Forwarded-Forフィールドを偽造してWAF保護を回避することはできません。 これにより、ビジネスのセキュリティが向上します。 複数のヘッダーフィールドを入力できます。 ヘッダーフィールドを入力するたびにEnterキーを押します。 複数のヘッダーフィールドを入力した場合、WAFはそれらのフィールドから順番にクライアントのIPアドレスを取得します。 WAFは、クライアントのIPアドレスが取得されるまで、ヘッダーフィールドを順番にスキャンします。 WAFがヘッダーフィールドからクライアントのIPアドレスを取得できない場合、WAFはX-Forwarded-Forフィールドの最初のIPアドレスをクライアントのIPアドレスとして使用します。
|
詳細設定 | IPv6 デフォルトでは、WAFはIPv4トラフィックのみを処理します。 WebサイトがIPv6をサポートしている場合は、IPv6を有効にして、IPv6トラフィックのWAF保護を有効にできます。 IPv6を有効にすると、WAFはIPv6リクエストを処理するためにWAF IPv6アドレスをドメイン名に割り当てます。 この機能は、中国本土.
重要 IPv6を有効にすると、Exclusive IP アドレスを有効にすることも、軽減リソースパラメーターを設定することもできません。 Exclusive IP アドレス デフォルトでは、WAFに追加されるすべてのドメイン名は同じWAF IPアドレスで保護されます。 この機能を有効にすると、WAFはドメイン名を保護するために専用IPアドレスを割り当てます。 排他的IPアドレスを使用して保護されているドメイン名は、他のドメイン名でボリュームDDoS攻撃が発生してもアクセスできます。 詳細については、「排他的IPアドレス」をご参照ください。 ドメイン名を保護するために専用IPアドレスを使用する場合は、この機能を有効にできます。
重要 Pro、Enterprise、UltimateのエディションのサブスクリプションWAFインスタンス用の専用IPアドレスを購入できます。 排他的IPアドレスを購入するには、概要 ページで 今すぐアップグレード をクリックし、[排他的IPアドレス] パラメーターを設定します。 詳細については、「WAFインスタンスのアップグレードまたはダウングレード」をご参照ください。 従量課金WAFインスタンスを使用する場合、使用する排他的IPアドレスの数に基づいて課金されます。 詳細については、「従量課金の概要」をご参照ください。 排他的IPアドレスをオンにすると、IPv6をオンにできなくなり、デフォルトで保護リソースパラメーターは共有クラスターに設定されます。
軽減リソース 使用する保護リソースのタイプを選択します。 IP アドレス詳細 (デフォルト) Shared Cluster-based Intelligent Load Balancing WAFインスタンスのインテリジェントな負荷分散を有効にすると、異なるリージョンにデプロイされた少なくとも3つの保護ノードがWAFインスタンスに割り当てられ、自動ディザスタリカバリをサポートします。 WAFインスタンスは、インテリジェントなドメインネームシステム (DNS) 解決機能と最小時間back-to-originアルゴリズムを使用して、保護ノードからオリジンサーバーに送信されるトラフィックのレイテンシを削減します。 詳細については、「インテリジェント負荷分散」をご参照ください。
重要 Pro、Enterprise、Ultimateの各エディションのサブスクリプションWAFインスタンスに対して、Shared Cluster-based Intelligent Load Balancingを有効にできます。 共有クラスターベースのインテリジェント負荷分散を選択した場合、この機能に対して課金されます。 Shared Cluster-based Intelligent Load Balancingを有効にするには、概要ページで 今すぐアップグレード をクリックし、インテリジェント SLBパラメーターを有効に設定します。 詳細については、「WAFインスタンスのアップグレードまたはダウングレード」をご参照ください。 従量課金WAFインスタンスを使用している場合、Shared Cluster-based Intelligent Load Balancingを有効にしているかどうかに基づいて課金されます。 詳細については、「従量課金の概要」をご参照ください。 Shared Cluster-based Intelligent Load Balancingを有効にすると、IPv6または排他的IPアドレスを有効にできなくなります。
|
リソースグループ | ドメイン名を追加するリソースグループを選択します。 リソースグループを選択しない場合、ドメイン名はデフォルトリソースグループに追加されます。
説明 リソース管理を使用して、リソースグループを作成し、Alibaba Cloudアカウント内のリソースを部門またはプロジェクトごとに管理できます。 詳細については、「リソースグループの作成」をご参照ください。 |
転送ルールの設定 ステップで、パラメーターを設定し、サブミット をクリックします。 下表にパラメーターを示します。
パラメーター | 説明 |
ロードバランシングアルゴリズム | 複数の配信元サーバーアドレスを指定する場合は、WAFが配信元back-to-originリクエストを配信元サーバーに転送するために使用する負荷分散アルゴリズムを選択します。 有効な値: IPハッシュ (デフォルト) 特定のIPアドレスから送信されたリクエストは、同じ配信元サーバーに転送されます。 ポーリング リクエストは、オリジンサーバーに順番に配信されます。 最低時間 WAFは、インテリジェントなDNS解決機能と最小時間back-to-originアルゴリズムを使用して、リクエストがオリジンサーバーに転送される際のパスとレイテンシを削減します。
重要 Listener 設定 ステップで 軽減リソース パラメーターを Shared Cluster-based Intelligent Load Balancing に設定した場合にのみ、負荷分散アルゴリズムパラメーターを [最小時間] に設定できます。 詳細については、このトピックの「Protection Resourceパラメーターの説明」をご参照ください。
|
配信元サーバーアドレス | オリジンサーバーのパブリックIPアドレスまたはドメイン名を入力します。 IPアドレスまたはドメイン名は、WAFによって転送されるback-to-originリクエストを受信するために使用されます。 有効な値: IP アドレス インターネット経由でIPアドレスにアクセスできることを確認してください。 複数のIPアドレスを入力できます。 IPアドレスを入力するたびにEnterキーを押します。 最大20個のIPアドレスを入力できます。
説明 複数のIPアドレスを入力すると、WAFはワークロードをIPアドレス全体に分散し、負荷分散を実現します。 IPv4アドレスとIPv6アドレスの両方、IPv4アドレスのみ、またはIPv6アドレスのみを入力できます。 IPv4アドレスとIPv6アドレスの両方を入力すると、IPv4アドレスからのリクエストがIPv4アドレスを使用するオリジンサーバーに転送され、IPv6アドレスからのリクエストがIPv6アドレスを使用するオリジンサーバーに転送されます。
重要 IPv6アドレスを入力する場合は、[リスナーの設定] でIPv6をオンにします。 詳細については、「IPv6の有効化」をご参照ください。
ドメイン名(CHAMEなど) ドメイン名 (CNAMEなど) を選択した場合、ドメイン名はIPv4アドレスに対してのみ解決でき、WAFはback-to-originリクエストをIPv4アドレスに転送します。
|
HTTPS 詳細設定 | HTTP back-to-origin の有効化 この機能を有効にすると、WAFはHTTP経由でリクエストを転送します。 デフォルトのポートは80です。 この場合、クライアントがポート80または443でWAFにアクセスするかどうかに関係なく、WAFはポート80でリクエストを配信元サーバーに転送します。 この機能により、すべてのリクエストをHTTP経由でオリジンサーバーに転送できます。オリジンサーバーの設定を変更する必要はありません。 これにより、Webサイトのパフォーマンスに対するトラフィックの影響が軽減されます。
重要 WebサイトがHTTPSをサポートしていない場合は、[HTTPルーティングの有効化] をオンにします。 Back-to-origin SNI の有効化 オリジンサーバー名表示 (SNI) では、WAFがリクエストをオリジンサーバーに転送するときにTLSハンドシェイクプロセスの開始時にHTTPS接続を確立する必要があるドメイン名を指定できます。 オリジンサーバーが複数のドメイン名をホストする場合は、この機能を有効にします。 Back-to-origin SNI の有効化 を選択した後、SNIフィールドを設定できます。 有効な値: Host ヘッダのドメイン名 (デフォルト) この値は、WAF back-to-originリクエストのSNIフィールドの値がHostヘッダーフィールドの値と同じであることを指定します。 たとえば、設定したドメイン名が * .aliyundoc.com で、クライアントがwww.aliyundoc.com ドメイン名をリクエストした場合、WAF back-to-originリクエストのSNIフィールドの値はwww.aliyundoc.com です。 Hostヘッダーフィールドの値は、e www.aliyundoc.comドメイン名です。 カスタム この値は、WAF back-to-originリクエストのSNIフィールドにカスタム値を入力できることを指定します。 back-to-originリクエストのHostヘッダーフィールドの値と値が異なるSNIフィールドをWAFで使用する場合は、SNIフィールドにカスタム値を指定します。
|
他の詳細設定 | X-Forwarded-Protoヘッダーフィールドを使用して、WAFのリスニングプロトコルを取得します。 X-Forwarded-Proto ヘッダーフィールドは、HTTPリクエストに自動的に追加されます。 X − Forwarded − Protoヘッダフィールドは、クライアントによって使用される元のプロトコルを識別するために使用される。 WebサイトがX-Forwarded-Protoヘッダーフィールドを正しく処理できない場合、互換性の問題が発生する可能性があります。 このような問題を防ぐには、X-Forwarded-Protoヘッダーフィールドを使用して、WAFのリスニングプロトコルの取得をクリアします。
トラフィックマークの有効化 [トラフィックマークの有効化] を選択した場合、WAFを通過するリクエストにラベルが付けられます。 これにより、オリジンサーバーはクライアントの発信IPアドレスまたはポートを取得できます。 ドメイン名をWAFに追加する前に攻撃者がオリジンサーバーに関する情報を取得し、別のWAFインスタンスを使用してリクエストをオリジンサーバーに転送する場合は、[トラフィックマークの有効化] を選択します。 これにより、オリジンサーバーはリクエストがWAFを通過したかどうかを確認できます。 指定されたヘッダーフィールドがリクエストに存在する場合、リクエストはWAFを通過し、リクエストは許可されます。 指定されたヘッダーフィールドがリクエストに存在しない場合、リクエストはWAFを通過せず、リクエストはブロックされます。 次のタイプのヘッダーフィールドを設定できます。 カスタムヘッダ カスタムヘッダーフィールドを追加する場合は、ヘッダ名 および ヘッダ値 パラメーターを設定します。 WAFは、back-to-originリクエストにヘッダーフィールドを追加します。 これにより、バックエンドサーバーは、リクエストがWAFを通過したかどうかを確認し、統計を収集し、データを分析できます。 たとえば、ALIWAF-TAG: はい のカスタムヘッダーフィールドを追加して、WAFを通過するリクエストにラベルを付けることができます。 この例では、ヘッダーフィールドの名前はALIWAF-TAG で、ヘッダーフィールドの値はYes です。 リアル送信元 IP アドレス カスタムヘッダーフィールドを設定して、クライアントの送信元IPアドレスを記録できます。 これにより、オリジンサーバーはクライアントの発信IPアドレスを取得できます。 WAFがクライアントの送信元IPアドレスを取得する方法については、このトピックのレイヤー7プロキシ (Anti-DDoS Pro、Anti-DDoS Premium、またはAlibaba Cloud CDNなど) がWAFの前にデプロイされているかどうかパラメーターの説明を参照してください。 ソースポート カスタムヘッダーフィールドを設定して、クライアントのポートを記録できます。 これにより、オリジンサーバーはクライアントのポートを取得できます。
重要 User-Agentなどの標準のHTTPヘッダーフィールドを設定しないことをお勧めします。 それ以外の場合、標準ヘッダーフィールドの値はカスタムヘッダーフィールドの値で上書きされます。 マークの追加 をクリックしてヘッダーフィールドを指定します。 最大5つのヘッダーフィールドを指定できます。 back-to-originリクエストのタイムアウト期間の指定 接続タイムアウト期間: WAFが配信元サーバーへの接続を待機する最大時間。 有効な値: 1 ~ 3600 単位は秒です。 既定値:5 読み取り接続タイムアウト期間: WAFが配信元サーバーからの応答を受信するまで待機する最大時間。 有効な値: 1 ~ 3600 単位は秒です。 デフォルト値: 120 書き込み接続タイムアウト期間: WAFがリクエストを配信元サーバーに転送するまで待機する最大時間。 有効な値: 1 ~ 3600 単位は秒です。 デフォルト値: 120
Back-to-origin の再試行 この機能を有効にすると、WAFはオリジンサーバーへのリクエストの転送に失敗したときに、オリジンサーバーへのリクエストの転送を最大3回まで再試行します。 この機能を有効にしない場合、WAFが初めて失敗した場合、WAFは転送リクエストを再試行しません。 Back-to-origin の持続的接続 この機能を有効にする場合は、次のパラメーターを設定する必要があります。
説明 この機能を有効にしない場合、back-to-originキープアライブ要求はWebSocketをサポートしません。
|
追加完了ステップで、ドメイン名に割り当てられたCNAMEを取得します。 ドメイン名が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によって保護されているかどうかを確認できます。
コンピューターでpingコマンドping CNAME of WAF
を実行し、WAFインスタンスのIPアドレスを取得します。 
保護のために、WAFインスタンスのIPアドレスを有料版のAnti-DDoS Originインスタンスに追加します。 詳細については、「保護のためのオブジェクトの追加」をご参照ください。
WAFインスタンスのIPアドレスを追加すると、有料版のAnti-DDoS Originインスタンスがベストエフォート保護を提供します。 有料版のAnti-DDoS Originインスタンスは、サービストラフィックを自動的にスクラブしてDDoS攻撃を軽減します。