サービス拒否 (DoS) 攻撃への対策を講じる前に、DoS 攻撃とは何かを理解する必要があります。DoS 攻撃とは、標的に選んだシステムの可用性に影響を及ぼそうとする悪意のある試みです。これらのシステムは、アプリケーションからWebサイトまで多岐にわたり、エンドユーザーを直接ターゲットとすることもあります。標的となったシステムは、過剰な量のパケット生成により、最終的に過負荷の状態になります。分散型サービス妨害 (DDoS) 攻撃とは、複数の侵害されたソースを使用してボリューム攻撃を仕掛けることを意味します。
DDoS 攻撃は、標的となる Open Systems Interconnection (OSI)レイヤーに基づいてグループ化することができます。 最も一般的な攻撃は、ネットワーク層 (OSI レイヤー3)、トランスポート層 (OSI レイヤー4)、アプリケーション層 (OSI レイヤー7) で発生します。 近年のさまざまなサイバー攻撃において、DDoS 攻撃は圧倒的かつ最も壊滅的な影響を及ぼすものといえるでしょう。DDoS 攻撃について、NortonLifeLock は「インターネットの世界において最も強力な武器のひとつ」と呼んでいますが、こうした指摘には理由があります。このような悪意のある攻撃はいつでも起こる可能性があり、攻撃対象のWebサイトをダウンさせることで、大規模なサービス中断と膨大な金銭的損失をもたらします。残念ながら、DDoS 攻撃の数は世界中で増加の一途をたどっています。最近の調査によると、2021年第4四半期には前年同期比で29%増加したと報告されています。
レイヤー3と4はインフラストラクチャ層です。これらのレイヤーで発生しやすい DDoS 攻撃ベクトルには、SYN フラッドや UDP フラッド、インターネット制御メッセージプロトコル (ICMP) 攻撃などがあります。ネットワーク層のレイヤー3は、データがネットワークを移動する際に通過すべき物理経路を決定する役割を果たしています。レイヤー4はホスト間のデータ転送を行い、TCP (Transmission Control Protocol) によってデータ転送の完全性やデータの整合性を確保します。この2つのレイヤーを標的にした攻撃は、大量のトラフィックを発生させ、ネットワークの利用可能な容量やホスト群に過剰な負荷をかけることを目的としています。幸いなことに、こうした攻撃には明確な特徴があり、容易に検出して対処できます。
レイヤー7はアプリケーション層です。このレイヤーへの攻撃は比較的少ないですが、手口はより巧妙化しています。トラフィック量の点では、インフラストラクチャ層への攻撃に比べるとトラフィックの急増が起こることは少ないといえます。とはいえ、アプリケーションの重要な部分を攻撃し、パフォーマンスに悪影響を与える点に変わりはありません。この攻撃タイプの具体例としては、アプリケーションのログインページのフラッディングや、公開されている API に対してコストの高い検索リクエストを行い、ユーザーエクスペリエンスの質を低下させることなどが挙げられます。こうした攻撃による被害の修復には、かなりの費用を要します。中小企業 (SMB) は、DDoS 攻撃時のサービス復旧や運用管理に平均12万 USD も費やしているのです。
**トラフィックパターンを理解する
**攻撃対策の第一歩は、トラフィックのプロファイルを作成することです。このプロファイルには、「正常な」トラフィックの定義や、ネットワーク全体で予想されるトラフィック量の想定値が設定されます。 このプロファイルを介してトラフィックをモニタリングすることで、エンドユーザーに影響を及ぼすことなく、インフラストラクチャで処理できる最大限のトラフィックを受け入れるルールを設定できます。レート制限で基準値を設定し、追加の変数を分析して検証されたトラフィックのみを受け入れるようにすることによって、さらに高度な検出方法を実装することができます。 セキュリティに関わる小さな問題がひとつあるだけで、ネットワークやサーバーに甚大な損害が もたらされるリスクが生じるだけでなく、DDoS 攻撃に直面した社員が5つの段階から成る感情にさいなまれる状況に追い込まれかねません。そのため、セキュリティには初期の段階からしっかり取り組む必要があります。
**攻撃対象になり得る範囲を最小限にする
**DDoS 攻撃を緩和する最も簡単な方法のひとつは、攻撃対象になり得る範囲を縮小し、最終的に攻撃者が利用できるオプションを減らして、対策と保護を1か所で行えるシステムを設計することです。つまり自社のアプリケーションやホストを、通信を想定していないポートやプロトコル、その他のアプリケーションに曝さないようにする必要があります。これは大半の場合、インフラストラクチャのリソースをプロキシであるコンテンツ配信ネットワーク (CDN) の背後に配置し、インフラストラクチャの特定の部分にインターネットトラフィックが直接流れるのを制限することで対応できます。さらに、ファイアウォールやアクセス制御リスト (ACLS) を利用することで、特定のアプリケーションにトラフィックが到達するのを制御することもできます。
**アプリケーションベースのファイアウォールを導入する
**インターネットに接続しているアプリケーションは、日々何度も(平均39秒ごとに) 攻撃を受けています。こうした攻撃には、Web アプリケーションファイアウォール (WAF) を活用するのが最も効果的な対策です。まず OWASP トップ10タイプの攻撃を積極的にブロックするようにした後、他の不適切なリクエストもブロックするようトラフィックプロファイルをカスタマイズするのが理想です。例えば、こうしたリクエストは正当なトラフィックを装いながら、既知の悪質な IP アドレスやお客様のビジネスとは無関係な地域から送信されている場合があります。また WAF では、経験豊富な専門チームのサポートを活用してトラフィックのヒューリスティック分析を行い、アプリケーションに合わせてカスタマイズされた保護対策を実装することも可能です。
**容量を拡大する
**攻撃を吸収し、緩和するために帯域 (トランジット) やサーバー (コンピューティング) の容量を増やすという方法も、(それだけではベストのソリューションとはいえせませんが) 有効な対策として考えられます。アプリケーションを設計、構築する際には、トラフィックの急増に対応できるようにインターネットへの接続に冗長性を持たせる必要があります。 ロードバランシングを活用し、継続的にトラフィックをモニタリングしながら利用可能なリソース間で負荷を分散し、1か所に過負荷が起こらないようにするのが一般的な方法です。さらに、CDN の使用を前提に Web アプリケーションを作成することで、エンドユーザーの近くからコンテンツを提供するレイヤーをネットワークインフラストラクチャに追加できます。DDoS 攻撃の多くは大量のトラフィックを発生させて膨大な量のリソースを消費させるので、アプリケーションはコンピューティングリソースを 迅速にスケールアップまたはスケールダウンできる必要があります。分散型アーキテクチャを持つ CDN を使用すれば、攻撃が分散され容易に対処できるようになります。CDN を利用して最も巧妙なタイプの攻撃を阻止する方法は他にもあります。攻撃プロファイルを作成することで、CDN による悪意のあるトラフィックの排除や抑制が可能になります。
近年の高度に巧妙化された DDoS 攻撃への対策には、「100の治療より1の予防」とい う考え方が重要です。企業は常に、大量のサーバートラフィックやネットワークリクエストの発生に十分に備え、問題発生時に迅速に対応できる状態にしておく必要があります。早め早めに対策を講じるのが、攻撃からお客様のシステムを保護する一番の秘訣です。
DDoS 攻撃への対応にお困りの場合は、ぜひ Fastly の DDoS 対策をご検討ください。高帯域幅を持つ Fastly のグローバル分散型ネットワークなら、DDoS 攻撃にも容易に対処できます。Fastly のネットワーク全体が DDoS 攻撃に対するスクラビングセンターとして機能するので、システムを保護する代わりにパフォーマンスが犠牲になることはありません。悪意のあるリクエストを Fastly のネットワークエッジでフィルタリングし、リアルタイムで攻撃に対応できます。