Djangoチャンネルサーバーをに照らしたり、偶発的な影響を受けないようにするための具体的な方法はありますか websocket/HTTPクライアントからのDDoS攻撃または一般負荷の増加? Channelsは本当に非同期ではない(まだ舞台裏で働いている)ので、かなり簡単なハードウェアでも、ChannelsベースのWebサイトを簡単に削除できるようになりました。私は現在、Djangoチャンネルでアプリケーションを構築しており、後でいくつかのテストを実行して、それがどのように保持しているかを確認します。Djangoチャンネルのスパイクをロードする
ダフネには何らかの調整が組み込まれていますか?アプリケーションレベルのスロットルを実装する必要がありますか?ワーカーが依然として抑制された要求を処理しているため、これはまだまだ遅いですが、要求がはるかに高速になる可能性があります。これらの攻撃を阻止しようとするために他に何かできますか?
私は、特定のチャネルに指定されたワーカーが常に存在することを確実にすることを考えました。つまり、websocketチャネルに過負荷がかかってもHTTPは応答します。
編集:低レベルのDDoS保護が理想的な解決策であることは十分に認識しており、DDoS攻撃の仕組みを理解しています。私が探しているのは、そのような増加した負荷を処理するのに役立つチャネルに組み込まれたソリューションです。おそらく、Daphneがチャネルをスケールアップして補償するために別のチャネルをスケールダウンする能力、またはあるポイントの後で要求ごとの重量を減らすことができるスロットルの能力。
私はdaphne/channelsの特定の回答を探しています - DDoSや一般的な負荷処理に関する一般的な回答は、私が探しているものではありません - それについては他にもたくさんの質問があります。
ログインしている人とログインしていない人に基づいて調整することもできます。ログインしていないユーザーのためのスロットルが役立つ可能性があります。
もう一度編集:質問全体をお読みください!私は一般的なDDoS軽減のアドバイスや低レベルアプローチの説明を探しているわけではありません。ダフネのようなもののためにサポートしている場合、私は思ったんだけど:キューサイズに基づいて
- ミドルウェアは、認証要求に優先順位を提供するために
またはその性質のもの。私はこの問題のための最良の場所ではないかもしれないので、私はまた、これについて直接チャネルのコミュニティに手を差し伸べるつもりです。
ソフトウェアファイアウォールによるDDoS保護?私の意見は「畏敬の念」です。要求ごとに60バイトのヘッダを読み込みます。拒否ドロップフリーズのためのより多くの機能を引き起こしたのは 'システムリソース'の問題です。遅れは「予期せぬ結論」です。低価値攻撃で成功するかもしれませんが、システムリソースを処理する方法はありますか?ファイアウォール上でストアプロシージャを使用することはできません。good_userとbad_userの両方のリクエストを意味します。 **望ましくない要求が受け入れられた場合、あなた自身を守ることはできません!**パケットがループバック( 'lo')に達した場合は安価ではありません。 – dsgdfg