2012-03-25 7 views
1

2つのWebサーバー(分散用)とサーブレット処理用の約10個のJavaアプリケーションサーバーを持つ次のアーキテクチャーを検討してください。認証はどこで行うべきですか: "WebserverまたはAppServer"?

あなたはどこで認証を行うのが適切だと思いますか? ApacheサーバーのいずれかにあるApacheWebserverまたはカスタムコードでは?

Webサーバーで認証を行う場合、私はどのようにOPe​​nIdのようなカスタム項目を処理する必要がありますか?

EDIT:パフォーマンス、スケーラビリティ、およびセキュリティのどちらを選択することの意味ですか?

答えて

2

いつものアーキテクチャの質問と同様、答えは多くのものに依存します。

  • ないWebサーバーは、静的なコンテンツを提供するように(保護を必要とする何でもする。次に、

  • は、WebサーバーやアプリケーションサーバーであるWebサーバ)上(または前に認証を行う必要があるでしょう最大容量に近いか?側での認証を試みる

  • Webサーバーはすべての認証要件を処理できますか、またはWebサーバーでは使用できないロジック/情報が必要です(影響を受けるSOの評判、ユーザーが何をすることができるか)。OpenIdをサポートする要件は、制限要因。

  • 最後に、認証を行う場所によって影響を受ける可能性のある明らかな攻撃はないことに注意してください。例えばWebサーバーが404(見つからない)を処理するが、アプリケーションサーバーが認証(401)を処理する場合、攻撃者はリソースが利用可能かどうかを知ることができます。アプリケーションサーバーにアクセスする必要がある場合、返信に時間がかかるので、どちらの場合も同じ応答が返されると、この情報が攻撃者に漏洩することさえあります。

+0

セキュリティとパフォーマンスの両面でどちらの方法がありますか? –

+0

これはちょっと尋ねるようなものです。「椅子やトマトは何が速いのですか?」あなたの認証/認可ニーズが何であるか、あなたの必要条件とあなたが心配している攻撃ベクトルを指定します。何千ドルも追加して読んで理解し、分析してください。あるいは、最初の文章で与えられた「それに依存する」を受け入れてください。 :) –

関連する問題