HTTP フラッド攻撃は、大量の同時リクエストでサーバーに過剰な負荷をかける DDoS 攻撃の一種です。これにより、コンピューティングリソースやデータベース接続が枯渇し、応答時間の遅延やサービス利用不可につながります。多くの場合、QPS の急増や帯域幅使用量の増加がその兆候となります。これらの攻撃からインターネットに公開されている ECS インスタンスを保護するには、Web アプリケーションファイアウォール (WAF) を有効化してください。WAF は HTTP フラッド攻撃に対する効果的な防御を提供し、サービスの安定性を確保します。
前提条件
ECS インスタンスがパブリック IP アドレス経由でアクセス可能な Web サービスをホストしていること。
ECS インスタンスが次のいずれかのリージョンにある必要があります:中国 (成都)、中国 (北京)、中国 (張家口)、中国 (杭州)、中国 (上海)、中国 (深圳)、中国 (青島)、中国 (香港)、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、またはシンガポール。この要件が満たされない場合は、CNAME アクセスを使用してください。
ステップ1:従量課金 WAF の有効化
Asset Typeを Web Application Firewall 3.0 に、Billing Methodを従量課金に設定し、以下のパラメーターを設定します。
パラメーター
説明
[リージョン]
WAF 保護ノードの場所を決定します。 ECS インスタンスが中国本土にデプロイされている場合は、中国本土 を選択します。 それ以外の場合は、中国本土以外 を選択します。
[Version]
デフォルトは従量課金版です。設定は不要です。
[Service-Linked Role]
WAF がトラフィック アクセス制御やモニタリングなどのサービスを提供するには、お客様のクラウド リソースへのアクセスが必要です。Create Service-Linked Role をクリックします。システムが自動的に AliyunServiceRoleForWaf ロールを作成します。このロールは手動で変更しないでください。
今すぐ購入 をクリックし、購入を完了します。
ステップ2:ECS インスタンスのオンボーディング
Web Application Firewall 3.0 コンソールにログインします。トップメニューバーで、リソースグループとリージョン (中国本土 または 中国本土以外) を選択します。左側のナビゲーションペインで、アクセス管理 をクリックします。クラウドプロダクトアクセス タブを選択し、Elastic Compute Service (ECS) を選択します。
一覧から目的の ECS インスタンスを見つけます。操作 列で、今すぐアクセスする をクリックします。インスタンスが見つからない場合は、右上隅の 資産の同期 をクリックします。それでもインスタンスが見つからない場合は、前提条件に記載の要件を満たしていません。
インスタンスとポートの選択 エリアで、操作 列の ポートの追加 をクリックします。
表示されるポートの追加ダイアログボックスで、Web サイトのポートとプロトコルタイプを設定します。
標準 HTTP Web サイト
Web サイトのアドレスが
http://yourdomain.comの場合、プロトコルタイプを HTTP に、Portを 80 に設定します。標準 HTTPS Web サイト
ウェブサイトのアドレスが
https://yourdomain.comの場合、プロトコルタイプ を HTTPS に、Port を 443 に設定します。非標準ポートの Web サイト
追加したい Web サイトのアドレスに、
ドメイン名:ポート番号の形式でポート番号が含まれている場合は、実際のポート番号を入力する必要があります。例:http://yourdomain.com:8080の場合、プロトコルタイプ には HTTP を、Port には 8080 を設定します。https://yourdomain.com:8443には、プロトコルタイプ を HTTPS に、Port を 8443 に設定します。
HTTP
Port セクションに、Web サイトで使用するポートを入力します。
プロトコルタイプ セクションで、HTTP を選択します。
HTTPS
Port エリアに、Web サイトで使用されているポートを入力します。
プロトコルタイプ エリアで、HTTPS を選択します。
HTTP2、TLS バージョン、暗号スイート、および 拡張証明書 はデフォルト設定のままにします。
デフォルト証明書 エリアで、証明書をアップロードする方法を選択します:
Alibaba Cloud の Certificate Management Service (Original SSL Certificate)に証明書をアップロードしていない場合は、この方法を選択します。
Alibaba Cloud の Certificate Management Service (Original SSL Certificate)から既存の証明書を選択します。
手動アップロード
[証明書名]: 一意の証明書名を入力します。
[証明書ファイル]:証明書ファイルを開き、その内容を貼り付けます。証明書は PEM、CER、または CRT 形式である必要があります。
フォーマット例:
-----BEGIN CERTIFICATE-----......-----END CERTIFICATE-----フォーマット変換:証明書が PFX や P7B などの形式である場合は、[証明書ツール] を使用して PEM 形式に変換します。
証明書チェーン:中間証明書が含まれている場合は、サーバー証明書の次に中間証明書を貼り付けます。
[秘密鍵ファイル]:秘密鍵ファイルを開き、その内容を貼り付けます。秘密鍵は PEM 形式である必要があります。
フォーマット例:
-----BEGIN RSA PRIVATE KEY-----......-----END RSA PRIVATE KEY-----
既存の証明書の選択
ドロップダウンリストから使用する証明書を選択します。
説明WAF コンソールに「[証明書チェーンの整合性の検証に失敗しました。この証明書を使用すると、サービスへのアクセスに影響が出る可能性があります]」と表示された場合、証明書チェーンは不完全です。証明書の内容が正しく、完全であることを確認してから、証明書管理サービスコンソールで再アップロードしてください。詳細については、「SSL 証明書をアップロード、同期、共有する」をご参照ください。
その他のパラメーターはデフォルト設定のままにし、OK をクリックします。
(任意) 保護オブジェクトの表示: ECS インスタンスが追加されると、WAF は自動的に
instance-id-port-asset-typeの形式の名前で保護オブジェクトを作成します。デフォルトで、WAF はこのオブジェクトに対してコア Web 保護ルールなどの保護ルールを有効にします。保護オブジェクトは、 ページで表示できます。基本保護の検証:ブラウザーで ECS インスタンス上でホストされている Web サイトにアクセスし、URL に
http://yourdomain.com/alert(xss)などの Web 攻撃テスト文字列を追加します。WAF が 405 ブロックページを返した場合は、保護が機能していることを示します。
ステップ3:HTTP フラッド攻撃対策ルールの設定
左側のナビゲーションペインで、 を選択します。
ページの下部にある CC 保護 セクションで、テンプレートの作成 をクリックします。
テンプレートの作成 パネルで、次のパラメーターを設定します。
パラメーター
説明
[テンプレート名]
テンプレートの識別しやすい名前を入力します。
[デフォルトテンプレート]
この設定はオフのままにします。
[wafnew.cc.mode.titte]
[wafnew.cc.normal]:明らかな攻撃の特徴を持つリクエストのみを遮断します。このモードは誤検知率が低く、日々の運用や安定したトラフィックに適しています。
[wafnew.cc.strict]: 高強度の検出アルゴリズムを使用して HTTP フラッド攻撃を効果的にブロックしますが、誤検知のリスクが高くなります。通常モードで対応できず、レスポンスの遅延や異常なリソース負荷 (CPU/メモリ) が発生した場合にのみ、このモードを有効にすることをお勧めします。
説明[wafnew.cc.strict]は、Web (H5 を含む) サービスにのみ適用されます。誤検知の多発を防ぐため、API エンドポイントやネイティブアプリには使用しないでください。
[Action]
リクエストが保護ルールに一致した場合の動作を定義します。JS チャレンジ を選択します。
[有効対象]
選択待ちの対象 エリアで、ECS インスタンスの保護対象オブジェクトを選択します。
アイコンをクリックして、選択済み エリアに移動します。OK をクリックします。
作成後、ルールテンプレートリストの [CC 保護] エリアに、作成したテンプレート (cc-protect など) が表示されます。[テンプレートスイッチ] がオンになっていることを確認します。
ステップ4:攻撃防御データの表示
設定が完了したら、左側のナビゲーションペインから概要ページに移動すると、Protection OverviewやTop 10 Attacksなどの情報を確認して、サービスのセキュリティを分析できます。
要件に応じて次のステップを選択します。
WAF を継続して使用する (推奨):「高度な最適化」に進みます。
WAF の使用を停止する:「リソースの解放と課金の停止」に進みます。
高度な最適化:保護の強化とコストの管理
このトピックの設定をさらに調整して、特定のビジネス要件を満たし、セキュリティを強化しながらコストを削減できます。
複数モジュールによる協調保護:より堅牢な防御を実現するために、以下のモジュールと組み合わせることができます。
カスタムルール:柔軟な一致条件とアクションを使用することで、特定の攻撃パターンに対する正確なルールを作成できます。たとえば、頻度制御ルールを設定してレート制限を実装できます。
ホワイトリスト: 信頼できる IP アドレスからのリクエストなど、指定された条件を満たすリクエストを許可します。
IP ブラックリスト:既知の悪意のある IP アドレスからのアクセスをブロックします。
地域ブロック: 特定の地域からのリクエストをブロックします。たとえば、お客様のサービスが中国国内のユーザーのみを対象としており、中国国外から多数の攻撃を検出した場合、この機能を有効にできます。
高度なオンボーディングオプション:WAF は複数のオンボーディング方法を提供します。ビジネス要件に基づいて選択できます。
クラウドネイティブモードでの ECS インスタンスのオンボード: このトピックでは、この方法を使用して迅速にオンボードします。TLS バージョン、暗号スイート、または複数の証明書を設定する必要がある場合は、「HTTPS セキュリティの強化」をご参照ください。WAF の前面にレイヤー 7 プロキシ設定 (CDN など) を設定する場合や、トラフィックのタグ付けを設定する場合は、「実際のクライアント情報を取得する」をご参照ください。
CNAME アクセス:ドメイン名を使用してリソースを追加する方法です。この方法は柔軟性が高く、制限が少なく、サポートされる機能も幅広いです。
コスト最適化の提案:
SeCU リソースプラン: 従量課金 WAF のコスト最適化プランです。 従量課金 WAF インスタンスを有効化すると、SeCU リソースプランを購入して、従量課金の合計料金を相殺できます。
サブスクリプション WAF: WAF を長期間使用する予定がある場合は、よりお得な単価で利用できるサブスクリプション WAF インスタンスの購入をお勧めします。
リソースの解放と課金の停止
このクイックスタートを完了した後、このチュートリアルの WAF インスタンスが不要になった場合は、次の手順に従って無効にして、課金を停止します。
課金:従量課金 WAF バージョンでは、リクエスト処理料金だけでなく、機能料金 (WAF インスタンス自体の料金など) も発生します。課金は、リソースが追加されているかにかかわらず、WAF を有効化した時点から開始されます。WAF を使用する必要がなくなった場合は、速やかに WAF インスタンスを無効にしてください。
CNAME アクセス:このトピックで説明されているクラウドネイティブのオンボーディング方法のみを使用している場合は適用されません。CNAME アクセスも設定している場合は、WAF インスタンスを終了する前に、関連するドメインの DNS レコードをオリジンサーバーに戻してください。
左側のナビゲーションペインから概要ページに移動します。上部のメニューバーで、WAF インスタンスのリソースグループとリージョン (中国本土 または 中国本土以外) を選択します。
「Welcome to Web Application Firewall」というウェルカムページが表示された場合は、右上隅の コンソールへのアクセス をクリックします。このページが表示されない場合は、この手順をスキップします。
ページの右側で、[WAF サービスの終了]をクリックします。ダイアログボックスで、関連するチェックボックスを選択し、OKをクリックします。