2

MySQLをデータベースサーバーとして、Tomcatで実行されているGrailsアプリケーションがあります。

テストの結果、ページを複数回更新する(つまり、F5キーを押す)だけで、サイトにサービス拒否攻撃を仕掛けるのは非常に簡単であることがわかりました。これにより、サーバーの負荷がMySQLデータベースへの接続数とともに急速に増加します。

最終的に、サイトが応答しなくなり、正常に戻るまでに数分かかる場合があります。

誰かがこれをデバッグする方法をお勧めできますか?

キャッシングを検討する必要がありますか?

4

1 に答える 1

3

grailsレイヤーでDOS攻撃を処理することはお勧めしません。私は常に、JavaWebアプリケーションの前にnginxやapacheなどのサーバーを配置することをお勧めします。次に、WebアプリケーションをプロキシするようにWebサーバーを構成できます。Webサーバーの前にあるファイアウォールは、別のセキュリティ層を作成します。Webアプリケーション層でDOS攻撃に対処しようとすると、手遅れになる可能性があります。

DOSのクイックリファレンスはここにあります:http://en.wikipedia.org/wiki/Denial-of-service_attack

キャッシングは、DOS攻撃を修正するためのものではありません。これは、アプリケーションのパフォーマンスを向上させることを目的としています。多くのDOS攻撃は、ソケットレベルで発生します。

繰り返しになりますが、WebアプリケーションレベルでDOSを防止することはお勧めしません。あなたが書いている言語に関係なく。

私が持っているもう1つの質問は、アプリケーションの負荷テストを行ったことはありますか?基本的なパフォーマンスの問題が発生している可能性があります。商用ツールまたはWebベースの負荷調整サービスを検討することをお勧めします。DOSの問題ではなく、カスタムWebアプリのパフォーマンスの問題が実際に発生していると思います。

于 2013-03-12T12:00:32.583 に答える