2009-05-09 10 views
6

買収により、認証と承認を必要とする多くの製品があります。製品にはWebサイトとクライアント側アプリケーションが含まれ、クライアント側アプリケーションにはいくつかのWebサービスが使用されます。私たちは.Netショップであり、サーバーはServer 2008を実行し、クライアントはXP SPを実行しますか?以降。製品のKerberosを使用してWebサイトやWebサービスを認証するのは良い考えですか?

ユーザーが我々の組織の一部ではなく、Active Directoryを実行している組織内のユーザーに、スタンドアロンのPCと単一のユーザから実行など

現在、そこには共通の認証やアイデンティティストアがありませんし、我々がしようとしていますそれを救済する。私たちの目標は以下の通りです。

  • すべての製品で単一のユーザー名とパスワード(または証明書)。
  • 理想的にはシングルサインオン(クライアントアプリケーションからWebサイトを起動すると簡単です。ユーザーがWebサイトに最初にログオンした後にクライアント側のアプリケーションを起動する場合は、おそらくそれほどありません)。
  • プラス通常の;堅牢でスケーラブルな...

ほとんどの企業と同様に、限られたリソースと厳しいスケジュールがあります。

認証のための1つの推奨されるパスは、クライアントアプリケーションがWebサービスを認証するための理想的なルートであるKerberosですが、ユーザー名とパスワードを送信するWebサイトウェブサーバーは発券(チケットをクッキーに保管する)の責任を負います。私は、単一のIDストアと、ユーザー名とパスワードを取得し、ソートされたハッシュと比較し、カスタムの時間ベースのセキュリティトークンを発行する独自の認証サービスを使用する方が良いと感じています。多分SqlMembershipProviderを使用しますか?

これまでに読んだ人のおかげです。 Kerberosはこのシナリオに最も適していますか、他の場所で探しているべきですか?それは良いフィットではない場合、なぜですか?

我々はまた、承認にAD LDSを見ているが、私はこのポストはすでに...

答えて

3

はあなたがOpenID考えがあり十分な長さであると思いますか?

+0

極端な場合は、双方向SSLを実装して、すべてのユーザーに秘密の証明書を発行することができます。ユーザーが名前/パスワード認証を必要とせず(ブラウザがサーバーに資格情報を提供するだけで済みます)、これが可能な最も安全な方法です。 – Cuga

+0

私はOpenIDとcertsの両方が好きですが、私たちがOpenIDに行った場合、私たち自身のOpenIDサーバーが必要なのではないかと推測しています。リソース/時間/予算がないと思います。独自の証明書を発行する場合も同様です。 私たちの業界には、ユーザーに無償で証明書を発行し、初期認証などの責任を負う証明書プロバイダーがありますが、最後に見たときにユーザー証明書を認証するためのコストは、それら。 –

+1

いずれにせよ、私が現時点で持っている問題は、最初の選択がウェブサイト上で不快なケルベロスのようだということです。しかし、私はKerberosの全面的な利点を得ることができず、Webサイト認証のための「匂い」もないのではなく、それを使用することに反対するいかなる議論もマーシャルできません。いずれも良い議論にはならない。 Kerberosが正しい解決策である可能性があります。知識が不足しているため、Kerberosが適切な解決策ではないと感じています。 –

1

あなたの単一のユーザアカウントのためのOpenIDと、他のWebサイトのデータにアクセスするアプリケーションを認証するOAuthは、優れた分散ソリューションを作ります。はい、Active Directoryや他の純粋なシングルサインオンソリューションは、同種の環境ではうまく動作しますが、組織内ではかなり発散しているようです。

セキュリティで保護されたOpenIDプロバイダを設定することは、実際には大きな責務であり、Webサーバと一緒にライブラリを叩くだけで済むはずはありません。ユーザが自分のOpenIDを使用できるようにしてから、ユーザがOpenIDを登録してシステム全体の従業員/メンバーとして認識されるデータベースを用意することができます。システムのさまざまな部分で、OpenIDをメンバーシップ用にデータベースで直接チェックすることも、OAuthを使用してメンバーシップを確認することもできます。

これらの2つの技術を組み合わせる方法として、非常に興味深い可能性があります。

+1

これまでの投稿に感謝します。しかし、Kerberosが適切な解決策ではない場合、私はまだ知る必要があります。なぜそうではありませんか? –

+1

あなたの状況でうまくいくならば、おそらくKerberosが最適なオプションです。 –

4

ケルベロスは実際にこの種のユースケースでは設計されておらず、ファイアウォールでうまく動作しないという点を除いて、本質的に間違っていることはありません。たとえば、内部で使用するのと同じKerberos KDCへの外部アクセスを開こうとは思わないでしょう。

プラスMSケルベロスを意味するならば、明らかにケルベロスは、より上位レベルのものがADで絡み合っているため、開かなくてはならないMSプロトコルのラットネストがまもなく開かれますKerberosと一緒に。言っ

私が感じる、我々が持つほうであってもよいこと[...]当社独自の認証サービスほぼ確実

ません。あなたは一般的に車輪を再発明したくないですし、もしあなたがしなければならない場合は、その車はです。認証プロトコルは一般的に難しく、ウェブアクセスにはさらに困難です。基本認証+ SSLまたはクライアント証明書とSSL、さらにはセッショントラッキング(この問題が本当に重要な場合はSSLを介して)、またはADとは異なるLDAPサービスです。これらのアプローチにはそれぞれ独自の問題がありますが、自分の何かを巻き込むほど多くはありません。

1

Webサイトの場合は、SPNego/GSS-API/Kerberosを使用できます。主要なブラウザとWebサーバーはすべてSP Negoをサポートしています。 LDAP、NFS、HAdoopがすべてKerberosをサポートしているので、この解決策を検討する必要があります。 negotiateオプションを指定してcurlコマンドをチェックしてください。

関連する問題