私はnodejsを使って、高度にスケーラブルなブラウザベースのWebチャットサーバを書いています。このコンセプトは簡単です。まずWebSocketのサポートをブラウザでチェックします。サポートされていないか、そうでなければサーバーの仕様と互換性がない場合、従来の長いポーリングに正常にダウングレードされます。DOSJ攻撃に対するnodejsサーバ
非常に多量のI/Oモデルを利用しているので、これまでのところ、他のフレームワークを見つけることができませんでした。しかし、私は簡単な解決策を思いつくことを決めたDOS攻撃に関する問題があります。しかし、私はそれが大規模な洪水攻撃と戦う最も理想的な方法であるかどうかはわかりません。
- 50リクエスト以上が1つのIPアドレスから発信され、特定の時間(たとえば1秒)以内にサーバーにヒットした場合は、時間間隔が経過するなどになります。
これは問題ありませんか?
+1 - たぶん私は見ていませんが、誰もNode DoS攻撃の問題に触れていないようです。 – Bojangles
私が知ったことの1つは、setTimeout関数を使用してすべての着信および発信接続のタイムアウトを下げることです。デフォルトは2分です。何かがうまくいかない場合は、接続リソースを放棄するだけでよい場合は、接続リソースを保持しなければならない2分です。 10-20秒ははるかに良く機能します。 – download