10

nodejs を使用して、高度にスケーラブルなブラウザー ベースの Web チャット サーバーを作成中です。関連する概念は単純です。最初に、ブラウザが WebSocket をサポートしているかどうかをチェックします。サポートされていない場合、またはサーバーの仕様と互換性がない場合は、従来のロング ポーリングに適切にダウングレードされます。

高度にイベント化された I/O モデルを利用して、この種のジョブに nodejs として適していて適合するフレームワークをこれまでのところ他に見つけることができませんでした。ただし、DOS 攻撃に関連する問題があり、簡単な解決策を考え出すことにしました。しかし、それが大規模なフラッド攻撃に対抗するための最も理想的な方法であるかどうかはわかりません。

私が計画していることは、単一のIPアドレスから発信された50以上のリクエストが特定の時間(たとえば1秒)内にサーバーにヒットした場合、その特定の時間間隔が来るまでそのIPからのすべてのリクエストを拒否することです失効など。

これで大丈夫?

4

1 に答える 1

5

これは、多くの IP が使用される DDOS 攻撃 (分散型サービス拒否) には対応していません。また、攻撃に関与するマシンと同じファイアウォール内にあるいくつかのマシンにサービスを提供し続ける必要がある場合にも対応できません。

多くの場合、DDOS で使用されるマシンは乗っ取られたゾンビ マシンです。大規模なターゲットに対する DDOS が開始されると、IP ごとのスロットリングにより、同じファイアウォールで囲まれた LAN からすべてのマシンが禁止される場合があります。たとえば、ニューヨーク タイムズ紙のマシンが感染して DDOS で使用され、タイムズ紙の記者がその会社の Web サイトがダウンしているかどうかを確認し、ブロックされて、それを報告するようになった場合、これは大企業にとって非常に悪い PR を引き起こす可能性があります。攻撃は実際よりもはるかに成功しました。

DDOS に直面してもサービスを提供し続けるには、IP だけでなく、リクエスト自体の共通要素に基づいてリクエストをブロックする必要があります。 security.seは、その方法に関する具体的なアドバイスを得るのに最適なフォーラムかもしれません。

于 2013-02-07T16:19:26.070 に答える