記事へ移動

DDoS攻撃からサービスを守る:多層防御の実践ガイド

Cyberlord Security Team

DDoS攻撃からサービスを守る:多層防御の実践ガイド

DDoS攻撃はデータを盗みません。狙いはサービスの停止であり、最初に尽きる資源を攻撃して成立します。帯域、接続テーブル、CPU、データベース接続のいずれかです。

一つの製品や一つの設定で「どう備えるか」に答えることはできません。攻撃ごとに枯渇する資源が異なり、層ごとに止められる範囲も違うからです。本稿は攻撃を止める順序で九つの層と、発生後の初動手順を整理します。第三者のサービスへの同様の行為は、不正アクセス禁止法などの法令に触れるおそれがあり、支援しません。

DDoS攻撃が枯渇させる資源

攻撃の系統 例 枯渇するもの 止める場所
帯域枯渇型 UDPフラッド、DNSやNTPの増幅攻撃、カーペットボミング 回線の帯域 上流の緩和網
状態枯渇型 SYNフラッド、ACKフラッド、接続フラッド 接続テーブル エッジの制限とカーネル設定
アプリケーション層 HTTPフラッド、キャッシュ回避、slowloris、APIの悪用 CPU、ワーカー、データベース接続 CDNとWAF、キャッシュ

攻撃量が回線容量を超えれば、サーバー側の設定では結果は変わりません。帯域枯渇型は上流でしか止められません。

第一層:上流に緩和層を置く

公開トラフィックを、DDoS緩和を備えたCDNやリバースプロキシの背後に置きます。エニーキャスト網は攻撃を多数の拠点に分散させて濾過し、正常な要求だけをオリジンへ転送します。契約では、緩和能力が常時稼働か検知後のみか、しきい値を確認してください。オンデマンド型は攻撃開始の瞬間に空白が生まれます。CDNを入れただけで十分だと考えるのが、最も多い誤解です。

第二層:オリジンIPを露出させない

本来のサーバーIPを知られれば、CDNを迂回して直接オリジンへ到達されます。直接到達と呼ばれる手法です。IPはDNSの履歴、証明書の透明性ログ、mailやvpnなどのサブドメイン、メールヘッダの受信経路から漏れます。CDN稼働後にIPを変更し、公開されたCDNのIP範囲以外から80番と443番への到達を拒否してください。

第三層:WAFでアプリケーション層を守る

ネットワーク型のファイアウォールは、正常なTCP接続をそのまま通します。WAFはHTTP要求の中身を読み、アプリケーション層の攻撃を検査します。管理されたルールセットを有効化し、アップロード経路の過大な本文の拒否や管理画面への検査を追加します。

第四層:段階ごとにレート制限をかける

レート制限は費用対効果が最も高く、最も設定を誤りやすい対策です。Webサーバーだけの適用は、先に回線を埋める攻撃に効きません。IPアドレスだけを鍵にすると、多数の送信元を持つボットネットには効きません。エッジではIP単位とAS単位、アプリケーションではセッション単位やAPIキー単位、ログインや決済などの高コストな経路には厳しい上限を設定します。固定の毎秒上限ではなくトークンバケット方式を用い、429と再試行待ちを返します。

第五層:TCPスタックと接続を強化する

SYNフラッドは、HTTP要求が一件も届かない段階で接続テーブルを埋めます。SYNクッキーの有効化、待ち受けキューを実測値に合わせた調整、接続解放までの時間の短縮、送信元ごとの同時接続数の制限が有効です。設定値は負荷試験で確認してください。他社の数値をそのまま貼ると悪化します。

第六層:キャッシュに処理を肩代わりさせる

キャッシュから返る要求はオリジンに到達せず、ワーカーもデータベース接続も消費しません。画像、CSS、JavaScript、未ログイン向けHTMLは可能な限りキャッシュ対象にします。無意味なクエリ文字列でキャッシュを回避する手法そのものが攻撃であり、キャッシュ可能な経路では無関係なクエリを無視します。ヒット率はセキュリティ指標でもあります。

第七層:平常値を記録し、逸脱で検知する

見えないものは守れません。毎秒要求数、送受信バイト数、4xxと5xxの比率、応答時間の95パーセンタイル、接続数、上位URLを平常時に記録します。警報は絶対値ではなく逸脱に設定します。要求数が五倍でもエラー率が安定していれば宣伝効果の可能性が高く、要求数が横ばいで遅延と接続数が増えるなら状態枯渇型を疑います。

第八層:インシデント対応手順書を先に書く

攻撃中に、誰が事業者へ連絡し、誰が告知を出し、誰が攻撃モードの有効化権限を持つのかを決めるのは現実的ではありません。一枚の手順書に、宣言する人と場所、連絡先と契約番号、有効化する統制の順序と権限者、利用者向けの告知文、法的措置を検討する判断基準を書きます。四半期に一度は机上演習で確認してください。読まれない手順書には意味がありません。

第九層:契約で緩和能力を確保する

停止が売上に直結する事業では、緩和能力を契約で担保します。サービス水準、起動しきい値、緊急時の連絡先、攻撃中に応答するサポート体制を明記します。無料枠は、一時間の停止で大きな損失が出る事業には向きません。

攻撃を受けている最中の行動順序

被害を広げない順序で動きます。

  1. 攻撃かを確認する。送信元、要求の構成、上位URL、地域を正規のキャンペーンと比較してから遮断します。
  2. 層を特定する。帯域の飽和は上流、接続テーブルの枯渇は下位層、特定エンドポイントの遅延はアプリケーション層です。
  3. 事業者へ直ちに連絡する。上流の緩和は起動に時間がかかるため、診断の完了を待ちません。
  4. エッジ側の統制を有効化する。攻撃モード、管理ルール、厳格化したレート制限を適用します。
  5. オリジンを守る。CDN経由以外の到達と、IP直接指定の要求を遮断します。
  6. 告知する。状況ページを先に、サポート窓口を次に更新します。沈黙は攻撃以上に信用を損ないます。
  7. 証跡を保全する。ログ、パケットキャプチャ、時刻を保存します。事業者との協議や保険、法的対応に必要です。

金銭要求が伴う場合も、要求に応じる形での交渉は行いません。記録を残し、警察や弁護士へ相談する経路を平時から決めておきます。侵害の兆候は企業が侵害されたサインの見分け方で整理しています。

十項目の点検チェックリスト

  • 公開トラフィックが緩和機能付きのCDNを経由している
  • オリジンIPを変更済みで、事業者のIP範囲以外からの到達を拒否している
  • WAFの管理ルールと、管理画面やログイン経路向けの独自ルールが有効である
  • エッジ、アプリケーション、高コスト経路の三段階にレート制限がある
  • SYNクッキーが有効で、接続数が実測値に基づいて調整されている
  • 静的資産と未ログイン向けHTMLが高いヒット率でキャッシュされている
  • 要求数、帯域、エラー率、遅延、接続数の監視と警報がある
  • 一枚のインシデント対応手順書があり、責任者が名指しされている
  • 契約に緩和能力とサポート応答が明記されている
  • 四半期以内に誰かがこの点検を実施している

未チェックの項目は、攻撃が通る経路の穴です。エッジ設定からアプリケーションの挙動までを検証する進め方はペネトレーションテストの費用と範囲で説明しています。

停止を長引かせる典型的な失敗

  • CDN自身のIP範囲を遮断してしまう。攻撃中は効率的に見えるが、自サイト全体が停止する
  • IP単位の制限だけに頼る。ボットネットは送信元を入れ替えるため、挙動も鍵にする
  • トップページだけを守り、APIを放置する。攻撃者は高コストな経路を探す
  • 下位層を無視する。SYNフラッドはHTTPログに現れない

よくある質問

DDoS攻撃は完全に防げますか

いいえ。公開サービスには誰でも通信を送れます。現実的な目標は、攻撃を吸収し濾過しながら正規の利用者を接続させ続けることです。停止の時間と範囲を縮める取り組みだと考えてください。

攻撃と単なるアクセス増をどう見分けますか

量ではなく構成を見ます。特定の地域やURLへの集中、不自然な利用者エージェント、上昇する遅延、伸びない成約率が重なれば攻撃です。平常時の流入元に広く分散していれば宣伝効果の可能性が高いと判断できます。

小規模事業者は何から始めるべきですか

緩和機能付きCDNの背後に置くこと、オリジンIPの変更と制限、WAFの管理ルールの有効化、一枚の手順書の作成です。この順序が最も少ない費用で最も多い攻撃を防ぎます。

専用のDDoS事業者が必要ですか

停止コストが契約額を上回る場合に限られます。まずCDNの下位プランで始め、露出を測り、経済性が合う段階で移行してください。

まとめ

多層防御の実態は、派手な製品ではなく設定の基本です。容量を持つ上流の層、見つけにくいオリジン、アプリケーションに合った要求の制御、訓練済みの手順書。検知の設計を深めたい場合は脅威ハンティングの進め方もあわせてご覧ください。

法令面の整理も平時の仕事です。攻撃の内容によっては、個人情報保護法に基づく報告やIPAへの届出が必要になります。海外の規制や取引先との契約では72時間以内の報告を求める枠組みもあるため、連絡先と判断基準は先に決めておいてください。

WhatsApp