TCP キープアライブ技術は DDOS を防ぐために使用できますか?

TCP キープアライブ技術は DDOS を防ぐために使用できますか?

私は DDOS とそれを軽減する技術について学んでいます。TCP キープアライブは、他のホストがまだ稼働しているかどうかを確認するために使用され、ホストが TCP キープアライブ メッセージを確認しない場合は、接続が終了します。

これらのメッセージを使用して DDOS 攻撃を緩和できるかどうか疑問に思っています。攻撃を受けているサーバーは、クライアントがまだ稼働しているかどうかに関係なく、クライアントと通信する時間を短縮できます。サーバーは、IP スプーフィングを防ぐためにユニキャスト リバース パス転送を使用できます。また、ボットネットを使用して正当なホストから攻撃が行われている場合、サーバーは TCP のキープアライブ メッセージ技術を使用してデッド接続を閉じ、DDOS 攻撃を受けないようにすることができますか? TCP の半分開いている接続を検出し、TCP キープアライブを使用して閉じる方法はありますか?

答え1

DDOS は非常に幅広い用語で、さまざまな攻撃が含まれます。TCP キープアライブは、すでに確立された TCP 接続にのみ関連しており、通常は IP スプーフィングを使用した攻撃は除外されます。つまり、高帯域幅を使用した攻撃 (スプーフィングされた IP アドレスを使用した増幅攻撃など) や SYN フラッディングである DDOS 攻撃の大部分には関連しません。

これにより、次のような攻撃がスローロリス多数の接続を開いたままにしてサーバーのリソースを拘束しようとする攻撃や、ユーザー空間アプリケーションから適切な TCP ハンドシェイクを実行してから接続を閉じることなく放棄する攻撃などがあります。TCP キープアライブは、TCP キープアライブに期待どおりに応答する適切なクライアントが存在するため、最初のケースでは機能しません。2 番目のケースでは単純な実装で役立つ可能性がありますが、これを変更して、メモリをあまり使用せずに TCP キープアライブも処理できるようにすることができます。

簡単に言うと、非常に特殊でまれな種類の DDOS には役立つかもしれません。しかし、この DDOS の場合でも、代わりに接続のアイドル タイムアウトを使用し、開いている接続の数と接続の特定の状態に応じてタイムアウトを動的に調整する方が効果的かもしれません。これにより、より多くの種類の攻撃をカバーできる可能性があります。

答え2

マシンには、パケットの送信元IPアドレスが偽装されているかどうかを知る方法はありません。大まかに言うと、RPFはルーターにのみ適用されます。複数の上流プロバイダーへの複数のインターフェイスがある場合、トラフィックはN分の1に削減されます。ここでNは当然インターフェイスの数です。上流プロバイダーが何個あるかは、するあなたが持っている?

TCP KEEPALIVE はこれとは何の関係もありません。適切な sysctl オプションで有効にできる tcp syn クッキーについて考えている可能性があります。

いずれにしても、脅威モデルが他に何もすることがない子供たちである場合を除いて、これらすべてはほとんど無関係です。DDOS 攻撃は、これまで長い間、単に入力パイプを詰まらせるだけでした。有用なトラフィックを受信するためのリンク容量が残っていない場合、マシンが稼働し続けることができるかどうかは問題ではありません。

執念深い攻撃者を本当に心配している場合は、上流のプロバイダーからの保護が必要になり、さらに深刻な場合には専用の DDoS 対策サービス (簡単に見つけられるので、特定のサービスを推奨するつもりはありません) からの保護が必要になります。

お役に立てれば。

関連情報