ようこそ!
答えてねっと for Businessは、
マイクロソフトが運営する
ビジネスで使うパソコンや
ITに関するQ&Aサイトです。

質問

VPN接続時のKerberos認証でログオンできない

製品名:デスクトップ OS、サーバー OS/Windows Server 2003

現象:できない/ネットワーク接続・インターネット

懸賞ポイントが設定されています。 300

この質問は解決で締め切られています

社内でWindows2003 Server SP1でADを構築しています。ここに外部(インターネット)からのVPN接続(PCはWindowsXP)を行なうため、CISCO製RASのASA5510装置を導入し、CISCOのVPNソフトを利用して接続します。
接続方法はIPSec、認証方式はKerberos認証を設定しています(LDAP認証はしていません)。また、CISCO製品側は認証をAD側の認証設定としており、ADでドメインのIDが認証されればVPN認証を許可します。
この方式で当初問題が無かったのですが、ユーザ名の文字数(AD上)が16文字を超えると認証が出来ません(15文字までは何も問題ありません。また、LAN上のPCからの認証(ログオン)についても問題なく認証されます)。その際にCISCO製の機器との切り分けのため、、パケットキャプチャを行なうと、Windows2003 Server側で認証する際に「error_code: KRB5KRB_ERR_RESPONSE_TOO_BIG (52)」というパケットがCISCO製品に対して帰ってくるため、CISCO製品側はAD上の認証失敗と認識しているようです。
また、Windows2003 Server上のKerberosのイベントログの表示をONにしたところ、上記のエラーの関連か不明ですが多数のエラーが出ており、その内容は、

<システム>
種類:エラー
ユーザ:N/A
コンピュータ:(サーバ名)
ソース:Kerberos
分類:なし
イベントID:3

エラーコード:0xd KDC_ERR_BADOPTION
拡張エラー:0xc00000bb KLIN(0)

です。VPN接続時のタイミングにもあっていますが、それ以外にも多数(イベントログが一杯になるほど)出力されています。

どなたかご存知の方がいらしたら、ご一報の程、宜しくお願い致します。

質問者からのコメント

  • 投稿日時:2007/11/05 11:32

同じKerberosといってもMicrosoftとCiscoとベンダーによってサポート内容が異なっていることがよくわかりました。

回答1 (この回答は質問に対する回答です)

  • 投稿ID:A2007335097
  • 投稿日時:2007/10/30 10:35
  • 最も役に立った投稿として評価されました

チャブーンです。

まず、「error_code: KRB5KRB_ERR_RESPONSE_TOO_BIG (52)」ですが、直接的には "kerberos 認証に許された時間のずれが大きすぎる" となりますが、これは kerberos で必要なコンピュータ同士のシステム時刻がずれすぎている、ことに起因していることが多いです。まずは、ドメインコントローラ、VPN サーバ、クライアント全部がきちんと時刻を揃えていることを確認してみてはどうでしょう?

また、「0xd KDC_ERR_BADOPTION」ですが、直接の原因は TGT チケットの属性(オプション)が不正で無効となってしまっている、ことを指していると思うのですが、細かいことはわかりません (時刻ずれが原因の可能性は高いです)。まずは時刻の確認から始めるとよいでしょう。

ユーザ名が 15 文字を超えると問題がおこる、というところですが、認証できているといっても kerberos ではなく NTLM で認証を行なっている可能性があります。ただし、ユーザ名が 15 文字以上で問題が起こる、ということは普通 Windows 上ではありませんので、Cisco 側のソフトの実装をベンダに確認した方がいいと思いますよ。

  •  

回答2 (この回答は回答1に対する回答です)

  • 投稿ID:A2007335267
  • 投稿日時:2007/10/30 13:16

ありがとうございます。
時刻ずれに関してですが、同じPCから15文字以下のユーザでログオンがOKで、16文字以上のユーザの場合はNGのため、時刻ずれに関する認証不可ではないと思います。
Ciscoの実装に関してベンダーに確認してみます。

  •  

回答3 (この回答は回答2に対する回答です)

  • 投稿ID:A2007335686
  • 投稿日時:2007/10/30 20:44

チャブーンです。

#こんな回答してるようでは、...

ごめんなさい。思い違いをしていたようです。答えを示しておきます。

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/tkerberr.mspx

KRB_ERR_RESPONSE_TOO_BIG とは kerberos のパケットサイズが大きすぎて UDP ベースでの認証が失敗した、ということです。Windows の kerberos では 1465 bytes 以上のパケットサイズは UDP ではなく TCP ベースで通信を行ないます。

Windows Server 2003 が 88/tcp (場合によっては 464/tcp も必要になるかもしれません) で認証できるよう、まわりの環境 (ファイアウォール等) を整え直したら直るかもしれません。

  •  

回答4 (この回答は回答3に対する回答です)

  • 投稿ID:A2007335768
  • 投稿日時:2007/10/30 22:14

チャブーンさん。再度ご連絡ありがとうございます。以前この問題でCiscoにUDPではなくTCPによる接続及びポートを確認したところ、Cisco製のVPN製品ではTCPをサポートしておらず、今後もサポートしないとのつれない返事がありました。

チャブーンさんの回答を見た後に、再度検索をしたところ、Ciscoのホームページに、
http://www.cisco.com/warp/public/110/aa-svrgrps-asdm.htmlのTroubleshootの2項マイクロソフト以外のサイトへ移動する
AD側のアカウントで「Kerberos事前認証しない」にチェックを入れろ、という項目があり、この内容について現在ベンダーに確認しています。
この「Kerberos事前認証しない」ことによる影響はどの程度あるのかが不明で心配です。

  •  

回答5 (この回答は回答4に対する回答です)

  • 投稿ID:A2007336275
  • 投稿日時:2007/10/31 13:36

チャブーンです。

申しわけなかったです。

まず、直近で問題を「緩和」(解決ではありません)する方法についてですが、UDP と TCP を切り替える閾値を変更するレジストリ (MaxPacketSize) を操作することで 2000 bytes までは増やすことができるでしょう (それ以上の大きさ設定が可能かどうかはやってみないとわかりません)。

http://support.microsoft.com/kb/244474/ja

あと、「Kerberos事前認証しない」についてですが、直接パケットサイズには関連しないと思いますので、問題の解決には結びつかない気がします。

  •  

回答6 (この回答は回答5に対する回答です)

  • 投稿ID:A2007340626
  • 投稿日時:2007/11/05 11:29

チャブーンさん
ありがとうございました。UDPのパケットサイズを1000〜10000まで(ちょっと無謀?)まで1000単位に変更してみましたが、やはり現象は変りませんでした。

そうこうしているうちにベンダーから回答があり、
「Cisco製品においては、”Kerberos事前認証を行なわない”をONにしないと接続できない」
とのことでした。また、OFFにするような要望はあるが、いまのところ構築する予定はないとの事でした。

ご回答ありがとうございました。

今後も宜しくお願い致します。

  •