Syn Cookieとは何ですか?
syn Cookieは、サーバー管理者がSyn Floodingと呼ばれる方法を介してサーバーに対するサービス拒否(DOS)攻撃の形式を防ぐことができる方法です。このタイプの攻撃は、クライアントとホストの間の接続が3方向の握手として知られているプロセスを利用して、ホストに過剰な数のクライアント要求を持ち、システムを凍結またはクラッシュさせます。ただし、そのような攻撃は、それらを回避するSyn Cookieの使用などの方法を通じて、大部分が時代遅れになっています。これらのCookieは、ホストまたはクライアントのいずれにもセキュリティの脅威やリスクを提示しず、接続性の問題や問題を引き起こしません。このプロセスは、3方向の握手として知られており、クライアントシステムがホストシステムに接続するリクエストを送信すると始まります。リクエストは、メッセージまたはsynと同期と呼ばれ、ホストシステムによって受信されます。このホストシステムは、クライアントに確認またはsyn-ackメッセージを送信することでsynが受信されたことを認めます。
クライアントシステムがこのsyn-ackメッセージを受信すると、最終的なACKメッセージがクライアントからホストに送信されます。ホストシステムがこの最終的なACKを受信すると、クライアントがシステムにアクセスし、他のクライアントから追加のsynリクエストを受信できます。ほとんどのホストサーバーには、synリクエスト用のかなり小さなキューがあり、通常は1回で8個しかありません。
Syn Floodingとして知られるDOS攻撃の形式は、これを使用してホストシステムを圧倒します。これは、syn-ackがホストによって送信されるSynメッセージを送信することによって行われますが、最終的なACKメッセージはクライアントによって送信されず、キューの位置を開いたままにします。これがsyn洪水攻撃中に適切に行われた場合、キュー全体がtによって占有されますこれらの未回答の要求であり、合法的なクライアントからの新しいリクエストを受け入れることができません。
syn Cookieは、ホストが実際よりも大きなキューを持っているかのように振る舞うことができるようにすることで、このタイプの攻撃を回避するのに役立ちます。 Syn洪水攻撃の場合、ホストはSyn Cookieを使用してSyn-ackをクライアントに送信できますが、そのクライアントのSynエントリが排除されます。これにより、基本的に、ホストがsynが受信されなかったかのように機能することができます。
Syn Cookieとのこのsyn-ackがクライアントによって受信されると、ホストに送信される対応するACKには、元のsyn-ackに関するデータが含まれます。ホストは、このACKと付属のSyn Cookieを使用して、元のSyn-ackとその元のリクエストに適したエントリを再構築できます。これが完了すると、クライアントはホストに接続することができますが、プロセス全体が事実上、Syn洪水攻撃によって占有される可能性のあるキューを効果的に回避しました。