DDoS保護¶
DDoS(分散型サービス拒否)攻撃は、攻撃者が複数の発信源からのトラフィックでシステムを過負荷にして、ウェブサイトやオンラインサービスを利用不能にしようとするタイプのサイバー攻撃です。本ドキュメントでは、DDoS対策の推奨事項と、Wallarmでリソースを保護する方法を説明します。
DDoS攻撃は、しばしばボットネットと呼ばれる侵害されたコンピュータシステムのネットワークから実行されます。攻撃者はこれらのシステムを使ってターゲットに大量のトラフィックを送信し、サーバーに過負荷をかけて正当なリクエストに応答できなくします。DDoS攻撃は、ウェブサイト、オンラインゲーム、さらにはソーシャルメディアプラットフォームを含む、あらゆる種類のオンラインサービスを標的にすることができます。
攻撃者がDDoS攻撃を仕掛けるために使える手法は多数あり、使用する方法やツールは大きく異なる場合があります。比較的単純な攻撃では、サーバーに大量の接続要求を送るなどの低レベル手法が用いられる一方で、より高度な攻撃では、IPアドレスのなりすましやネットワークインフラの脆弱性の悪用などの複雑な戦術が使われます。
DDoS攻撃の分類¶
攻撃者がウェブサイトやオンラインサービスの可用性を妨害するために用いるDDoS攻撃にはいくつかの種類があります。以下が代表的なタイプです。
OSI layer / Attack Type | ボリューム型およびアンプリフィケーション攻撃 | プロトコル悪用とロジックボム |
---|---|---|
L3/L4 |
|
|
L7 |
|
|
API/App specific (L7+) |
|
|
ボリューム型およびアンプリフィケーション攻撃は、大量のトラフィックでターゲットを圧倒しようとします。帯域幅または対象サーバーやネットワークの計算資源を飽和させ、正当なリクエストに応答できなくすることが目的です。
プロトコル悪用とロジックボムは、サービスやネットワークの通信方法の脆弱性を悪用するDDoS攻撃です。特定のプロトコルを悪用したり、ターゲットが処理しにくい不正形式のパケットを送信したりして、通常のトラフィックフローを妨害します。
DDoS攻撃の緩和¶
DDoS攻撃は多様な形態を取り、異なるOSIレイヤーを標的にするため、単一の対策だけでは効果的ではありません。DDoS攻撃に対して包括的な保護を提供するには、複数の手段を組み合わせて使用することが重要です。
-
インターネットサービスプロバイダー(ISP)やクラウドサービスプロバイダー(CSP)は、通常、L3-L4のDDoS攻撃に対する第一の防御線を提供します。深刻度の高いL3-L4のDDoS攻撃には、例えば次のような追加の緩和ツールが必要です。
1Gbps以上のレートでトラフィックを生成するDDoS攻撃には、トラフィックスクラビング用の専用DDoS保護サービスが必要になる場合があります。トラフィックスクラビングは、トラフィックを第三者サービスに経路変更し、悪意のあるトラフィックをすべてフィルタリングして、正当なリクエストのみをサービスに転送する手法です。L3-L4のDDoS攻撃に対する追加の保護策として、NGFWのようなソリューションを使用することもできます。
-
L7のDDoS攻撃(いわゆる"アプリケーション層"攻撃)は、L3-L4の攻撃よりも標的志向で高度です。通常、攻撃対象となるアプリケーションの特性を狙うため、正規トラフィックとの判別が難しい場合があります。L7のDDoS攻撃から保護するには、アプリケーション層でトラフィックを解析するWAAPまたは専用のAnti-DDoSソリューションを使用してください。ピーク負荷を処理できるようにAPI GatewayやWEBサーバーを適切に構成することも推奨します。
保護手段を選定する際は、以下の要素に基づいて組織のニーズとリソースを慎重に評価してください。
-
攻撃の種類
-
攻撃の規模
-
WebアプリケーションやAPIの複雑さ、コスト
また、DDoS攻撃を可能な限り早期に特定して、適時に対抗策を講じられるよう、対応計画を準備しておく必要があります。
WallarmによるL7 DDoS保護¶
Wallarmは、L7のDDoS脅威に対して幅広い保護手段を提供します。
-
API Abuse Prevention。API Abuse Prevention機能を有効化して、さまざまな種類の悪意あるボットを特定して停止します。
-
Brute force triggerにより、パスワードなどのパラメータ値を総当たりで試行する大量リクエストを防ぎます。
-
Forced browsing triggerにより、ディレクトリやファイルなどWebアプリケーションの隠しリソースを検出しようとする悪意のある試行を防ぎます。
-
denylistsとgraylistsを使用したジオロケーションフィルタリング。攻撃元となっている特定地域からのアプリケーションやAPIへのアクセスを禁止します。
-
denylistsとgraylistsを使用して信頼できない発信元をブロックします。標的型攻撃から保護するため、Tor、Proxy、VPNなど、場所の秘匿やジオフィルターの回避を可能にする不審な発信元をブロックすると有効な場合があります。
-
ロジック(データ)ボムの検知。WallarmはZipボムやXMLボムを含む悪意のあるリクエストを自動的に検出してブロックします。
-
Rate limitingの設定。特定のAPIスコープに対して確立できる最大接続数を指定します。定義した上限を超えるリクエストはWallarmが拒否します。
NGINXベースのWallarmノードを使用している場合は、L7 DDoSに対するセキュリティを強化するため、次のようにNGINXを構成することを推奨します。
-
キャッシュ。一般的なリクエストへのレスポンスをキャッシュするよう設定し、DDoS攻撃で生成されるトラフィックの一部を吸収して、WebアプリケーションやAPIに到達しないようにします。
-
レート制限。受信リクエストに対するレート制限ルールを作成して、ターゲットのWebアプリケーションやAPIに送信できるトラフィック量を制限します。
-
接続数の制限。単一のクライアントIPアドレスが開くことのできる接続数に、実ユーザーに適切な値で上限を設定することで、リソースの過剰使用を防げます。
-
遅い接続を閉じる。十分な頻度でデータを書き込まない接続は、長時間開いたままとなり、サーバーの新規接続の受け入れ能力を阻害する可能性があるため、閉じるようにします。
Kong API Gatewayを使用している場合も、API Gatewayを保護するためのベストプラクティスに従うことを推奨します。