2013-06-27 15 views
5

私はWindowsクライアントとJBossを使ってSSOを実装しようとしています。自分の開発PCを所有している、JBossはWindows 7上で、開発サーバー上では(Red Hat)Linux上で動作します。IEがLinux上のJBossにKerberosチケット情報を送信しないのはなぜですか?

ネイキューヘッダーが正しく到着しているかどうかを確認できるJBoss Negotiation Toolkitがあります。

localhostを使用して自分のPCでJBossを実行している限り、BasicNegotiationのテストは正常に動作します。 YHgGBisGAQUFAqBuMGygMDAuBgorBgEEAYI3AgIKをネゴシエート...

- 送られたヘッダーは

Authorization: Negotiate YHgGBisGAQUFAqBuMGygMDAuBgorBgEEAYI3AgIKB...(プラスいくつかのより多くのバイト)

テストの応答が

交渉ツールキット 基本的な交渉 WWW認証であります

NegTokenInit メッセージOid - SPNEGO のメカタイプ - {NTLM} {ケルベロスV5レガシー} {のKerberos V5} {} 1.3.6.1.4.1.311.2.2.30 必須フラグ - メカトークン-TlRMTVNTUAABAAAAl7II4gQABAAyAAAACgAKACgAAAAGAbAdAAAAD0lQSUVWMTAwMjVJUElF メカリストマイク -

しかし、上Linuxサーバーでは、同じテストは機能しません。基本理由は(私が推測する)ヘッダが違って見えるということです。

Authorization: Negotiate TlRMTVNTUAABAAAAl4II4gAAAAAAAAAAAAAAAAAAAAAGAbAdAAAADw==

そして、JBossの交渉Toolkitは私が欲しいととして表示されていないNTML認証にフォールバックしますWebアプリケーションの出力にエラーがあります。

交渉ツールキット NTLMネゴシエーション WWW認証 - TlRMTVNTUAABAAAAl4II4gAAAAAAAAAAAAAAAAAAAAAGAbAdAAAADwの==に

NTLMネゴシエート - Negotiate_Message 警告、これはNTLMである、唯一のSPNEGOがサポートされています! ネゴシエーションフラグ - (encryption56Bit)(explicitKeyExchange)(sessionKeyExchange128Bit) negotiateVersion)(ntlm)(ntlm)(lmKey)(lmKey)(sign)(requestTarget)(oem)(unicode) ドメイン名= null - {length = 0 } {maxLength = 0} {offset = 0} ワークステーション名= null - {length = 0} {maxLength = 0} {offset = 0}

私は、Internet ExplorerとFirefoxの両方でNegotiationヘッダーを送信するように設定しましたが、両方ともLinuxサーバーで失敗します。

私は間違っていますか?

ところで、私はWindowsがローカルマシン上でKerberosネゴシエーションヘッダーを常に送信しているところを読んでいます - それは本当ですか?

答えて

1

感謝。私たちの場合、問題は2つのWindowsドメインがあることでした。明らかに、それは動作しません...

0

AD/DNS設定が正しくないためにKerberosが失敗したため、ブラウザはNTLMタイプ1トークンを送信します。この動作は正しいです。 DNS設定を修正してください。ここで

0

は間違って行くことができるものの良い要約です:https://www.pingidentity.com/support/answers/index.cfm/why-am-i-not-getting-a-kerberos-ticket?id=90640000000CaWgAAK

私は常にブラウザとサービスの間の通信を確認するためにWiresharkのキャプチャを行い、また、ブラウザとADの間。あなたのケースでは、問題は後者にある可能性があります。例えば、私はhttp://myGoodLookingDNSAliasアドレスをサービスに使用した後、http://realBadLookingServerNameに解決されましたが、後者を登録するのを忘れました。したがって、ブラウザはADからKRB5KDC_ERR_S_PRINCIPAL_UNKNOWNエラーを受け取り、チケットを送信しませんでした。

よろしく、答えを アンドラーシュ

1

私のInternet Explorerは、Kerberosの代わりにNTLMヘッダーを送信するために使用されました。理由:Windowsには同じホストのための安全なパスワードが保存されていました。

金庫に入力されたユーザーとパスワードは、私のWindowsアカウントと同じではありませんが、違いはありません。サーバ名のみ(完全修飾ではない)も関連性があります。

説明のためのタンクからhttp://www.msxfaq.de/verschiedenes/kerberosbrowser.htm(ドイツ語)。

Windows safe

関連する問題