多数のグループに属する場合は、Kerberos 認証の問題

文書翻訳 文書翻訳
文書番号: 327825 - 対象製品
2011 年 7 月 12 日に Windows Vista Service Pack 1 (SP1) の サポートが終了します。Windows のセキュリティ更新プログラムの受信を継続するには、 Windows Vista Service Pack 2 (SP2) を実行していることを確認してください。詳細については、このマイクロソフト web ページを参照してください。 いくつかのバージョンの Windows のサポートが終了します。.
すべて展開する | すべて折りたたむ

目次

現象

ユーザーが多数のグループに所属する場合は、そのユーザーと認証やグループ ポリシーの設定に関する問題があります。次のマイクロソフト サポート技術情報の記事は、これらの現象の詳細について説明します。

269643 バッファーの不足、IIS に接続するための Internet Explorer の Kerberos 認証が動作しません
280380 拡張ストアド プロシージャのバッファー オーバーフローの悪用
2020943 "HTTP 400 - 不正な要求 (要求ヘッダーが長すぎます)"エラー インターネット インフォメーション サービス (IIS)
これらの資料に記載されている解像度は、MaxTokenSize レジストリ値を変更するように指示します。この解決方法が改善されました。この資料に記載されている修正プログラムを使用する場合、デフォルトの MaxTokenSize 値を修正するはありません。

この資料に記載されている修正プログラムはこのセクションに記載されているマイクロソフト サポート技術情報の資料に記載されている修正プログラムより優先されます。

原因

Kerberos トークン認証の試行中に生成されるがある、最大サイズは固定であるため、ユーザーを認証できません。リモート プロシージャ コール (RPC) のトランスポート認証用のバッファーの割り当て時に、HTTP、MaxTokenSize 値に依存しているとします。Windows 2000 (製品版) では、MaxTokenSize 値は 8,000 バイトです。Windows 2000 Service Pack 2 (SP2) および Windows Server 2003 では、MaxTokenSize 値が 12,000 バイトです。

Kerberos は、Kerberos パケットのトランスポート Active Directory グループのメンバーシップの特権属性証明書 (PAC) フィールドを使用します。以降の Windows Server 2012 では、これも Active Directory 要求情報 (ダイナミック アクセス制御) のフィールドに適用します。ユーザーの多くのグループのメンバーシップがある場合と、ユーザーのデバイスで使用されている多くのクレームがある場合は、これらのフィールドは、パケット内のスペースの多くを占有できます。

ユーザーが 120 を超えるグループのメンバーである場合、MaxTokenSize 値で決定されるバッファーの大きさがありません。したがって、ユーザーを認証できない、「メモリ不足」エラー メッセージが表示されることがあります。この資料に記載されている修正プログラムを適用する前に、ユーザー アカウントに追加されるすべてのグループこのバッファーが 40 バイトに増加します。

メモ 多くのシナリオでは Windows NTLM 認証は正常に動作します。Kerberos 認証の問題の分析には見えない可能性があります。ただし、グループ ポリシー設定を適用するシナリオが正常に機能しません。

解決方法

重要この問題を解決するのには Kerberos 認証プロセスに関連するすべてのコンピューターに対して MaxTokenSize レジストリ値を設定する必要があります。これは、SQL Server クライアントが含まれます。(レジストリ キーは、要求/応答フローに関連する各コンピューター上に設定します。Web アプリケーションが依存する、SQL Server クライアントがある場合、またはユーザーのトークンに、バックエンド SQL Server データベースに渡されるが、レジストリ キーは、SQL Server データベースのコンピューター、SQL Server のクライアント コンピューターで設定しても、Internet Explorer を実行しているクライアント コンピューターが実行されている web サーバーは IIS を実行して、、などです。)

メモ 次のバージョンの Windows 修正プログラムこの問題のとおりです。
  • Windows 8
  • Windows Server 2012
  • Windows 7
  • Windows Server 2008 R2
  • Windows Server 2003
  • Windows Vista
  • Windows Server 2008
  • Windows XP Professional

サービス パックの情報

この問題を解決するのに、Microsoft Windows 2000 の最新のサービス パックを取得します。詳細については、以下の資料番号をクリックして、マイクロソフト サポート技術情報資料を参照してください。
260910 Windows 2000 service pack の入手方法

修正プログラムの情報

サポートされている修正プログラムがマイクロソフトから入手可能になりました。ただし、この資料に記載されている問題のみを修正するものです。この特殊な問題が発生しているシステムにのみ適用してください。この修正プログラム テストを受ける可能性があります。したがって、深刻なこの問題の影響を受けるしない場合は、お勧めこの修正プログラムを含む次の Windows 2000 service pack まで待つことです。

この問題を直ちに解決するには、修正プログラムを入手するには、Microsoft カスタマー サポート サービスに問い合わせてください。Microsoft カスタマー サポート サービスの電話番号とサポート コストに関する情報の完全なリストは、次のマイクロソフト web サイトを参照してください。
http://support.microsoft.com/contactus/?ws=support
メモ 特例として、Microsoft のサポート担当者が特定の更新プログラムにより問題が解決されると判断した場合、電話サポートに対して通常は発生する料金をいただかない場合があります。問題となっている特定の更新プログラムに関する内容とは見なせない、他の質問や問題についてのサポートに対しては、通常のサポート料金が適用されます。この修正プログラムの英語版のファイル属性 (またはそれ以降のファイル属性) を、次の表に一覧表示します。これらのファイルの日付と時刻は世界協定時刻 (UTC) で表示されます。ファイル情報を表示する際に、ローカル時刻に変換されます。UTC とローカル時刻との時差を確認するには、コントロール パネルの [日付と時刻] アイテムで [タイム ゾーン] タブを使用します。

状況

マイクロソフトでは、この問題をこの資料の「対象製品」として記載されているマイクロソフト製品の問題として認識しています。 この問題は、マイクロソフトの Windows 2000 Service Pack 4 で最初に修正されました。

詳細

トークンのサイズの計算、Windows 2000 に Windows Server 2008 R2 の

この資料に記載されている修正プログラムを使用する場合は、ほとんどの場合、MaxTokenSize レジストリ値を変更する必要はありません。ただし、シナリオによっては、この修正プログラムを適用した後で、MaxTokenSize レジストリ値を変更する必要があります。すべてのドメイン コント ローラーにこの修正プログラムを適用した後に MaxTokenSize 値を修正するのにかどうかを決定するには、次の数式を使用します。
します = 1200 + 40 d + 8s
この数式は、次の値を使用します。
  • d: ドメインのローカル グループのメンバーであるユーザーの数と、ユーザーがのメンバーであるユーザーのアカウント ドメインの外側のユニバーサル グループ数 + グループの数で表されますセキュリティ ID (SID) の履歴。
  • s: ユーザーがのメンバーになっているセキュリティ グローバル グループ数 + ユーザーのメンバーであるユーザーのアカウント ドメイン内のユニバーサル グループの数。
  • 1200: チケット オーバーヘッドの推定値です。この値は、DNS ドメイン名の長さ、クライアント名、およびその他の要素などの要因によって異なります。
(たとえば、ユーザーは、ドメイン コント ローラーに認証) と委任を使用する場合、トークン サイズを 2 倍にすることをお勧めします。

レジストリ エントリを設定します。

トークンのサイズを計算する数式を使用しているが 12,000 バイト (デフォルトのサイズ) 未満である場合は、ドメイン クライアント上で、MaxTokenSize レジストリ値を変更する必要はありません。値が 12,000 バイトを超える、する場合、MaxTokenSize レジストリ値を調整する方法の詳細について次のマイクロソフト サポート技術情報の資料を参照してください。

263693 多くのグループに属するユーザーに対してグループ ポリシーが適用されません。

注:
  • MaxTokenSize 値を変更すると、変更が有効にできるように、コンピューターを再起動する必要があります。
MaxTokenSizeレジストリ エントリの推奨値は 65535 の 10 進数または 16 進の FFFF です。MaxTokenSize 値は固定の Kerberos チケットを取得すると、アカウントがメンバーとなっているグループを表す Sid を格納しているバッファーが表示されることを指定します。

安全なサイズを使用するのにする次の HTTP ヘッダーのサイズは、この資料の後で導入された制限に関する議論を48000MaxTokenSizeの設定を選択できます。によってどのような値を使用している、まず Kerberos エラー イベント、または IIS HTTP 400 エラーの問題が発生します。

発生する可能性がある既知の問題

アクセス トークンのサイズの既知の問題:

ローカル セキュリティ機関 (LSA) サービスこの SID のバッファーから、ユーザーのアクセス トークンを生成します。ハード コードされた制限の顧客はこのトークンを定義できる Sid は 1,015、この KB 資料を参照してください。
328889 1,015 を超えるグループのメンバーであるユーザーのログオン認証が失敗します。
http://support.microsoft.com/kb/328889/EN-US

したがって、1015 のより多くの効果的な Sid の MaxTokenSize 値はありません。次の数式。
MaxTokenSize = 1200 + 40 d + 8s
40 d は、ドメイン ローカル グループの SID の 40 バイトがあることを意味します。8s、ドメイン グローバル/ユニバーサル グループの SID の 8 バイトを意味します。

そのため、MaxTokenSize 値が 0x0000FFFF (64 K) の場合はおよそ 1,600 個のドメイン ローカル グループの Sid または 8,000 個のドメイン グローバル/ユニバーサル グループの Sid をバッファーすることができます。「委任に対して信頼されている」アカウントを使用する場合は、各 SID に必要なバッファー領域が倍になります。これらのシナリオでは、64 K の MaxTokenSize 値を使用すると約 800 のドメイン ローカル グループの Sid をのみ格納できます。ただし、のみのドメイン ローカル グループの Sid を持つは一般的なシナリオです。値が 64 K の委任シナリオであっても十分な場合があります。

既知の問題65535 を超える MaxTokenSize の値を使用する場合

この資料の以前のバージョンのMaxTokenSize100000 バイトの値を説明します。わかりました、 MaxTokenSize100000に問題があるバージョンの SMS 管理のより大きいか。IPSEC IKE プロトコルはセキュリティ BLOB になる、66536 バイトを超えることはできませんし、 MaxTokenSize値が設定されている場合に失敗も確認しています。

既知の問題について、インターネット インフォメーション サーバーの HTTP 受信バッファー

インターネット インフォメーション サーバー (IIS) では、64 kb のサービス攻撃の拒否を軽減するために、削減の要求バッファーのサイズを使用します。HTTP 要求では、Kerberos チケットが Base64 としてエンコードされているただし、(6 ビットを 8 ビットに拡張)。さらに、Kerberos チケットを元のサイズの 133% を使用します。したがって、最大バッファー サイズが 64 KB で IIS、48 KB の Kerberos チケットを使用できます。

レジストリ エントリMaxTokenSizeを 48000 より大きい値に設定して、バッファー容量は Sid の使用、IIS エラーが発生します。ただし、レジストリ エントリMaxTokenSize 〜 48,000 の範囲を設定する場合は、Kerberos エラーがあります。

IIS のバッファー サイズの詳細については、次のマイクロソフト サポート技術記事を表示するには、次の資料番号をクリックしてください。
310156 IIS は Windows 2000 では、クライアントから受け付ける HTTP 送信のヘッダー サイズを制限する方法

920862 Outlook Web Access ユーザーは、Exchange Server 2003年でのメールボックスにアクセスしようとすると、エラー メッセージ:「HTTP 400 不正な要求 (要求ヘッダーが長すぎます)」

Windows Server 2012 の変更

Windows Server 2012 のこのバッファーに関する考慮事項を以下の変更が導入されました。
  • 既定の MaxTokenSize を 48,000 バイトに変更します。
  • 新しい PAC で sid の圧縮スキームがあります。
  • ダイナミック アクセス制御は、チケットをアクティブなディレクトリのクレームを追加します。したがって、予想されるチケットのサイズを計算するは簡単ではありません。これは、Windows Server 2012 ドメイン コント ローラーによって発行されたチケットには、同じ発行されたチケットに古いバージョンのオペレーティング システムからより小さいこと、期待します。クレームは、チケットのサイズに追加します。ただし、Windows Server 2012 のファイル ・ サーバを使用しているクレームに広く後多くのチケットのサイズをトリミングするにはファイルへのアクセスを制御するグループを段階に予想されます。

Windows Server 2012 の変更の詳細については、次のマイクロソフト TechNet web サイトを参照してください。
http://technet.microsoft.com/en-us/library/hh831717.aspx

チケットのサイズを超えた場合に、問題の例

詳細について、マイクロソフト サポート技術記事を表示するには、次の資料番号をクリックしてください。
277741 Internet Explorer のログオンは、バッファーが不足しているため Kerberos の失敗します。
313661 エラー メッセージ:「タイムアウトが発生しました"が発生するは TCP/IP 上の SQL Server に接続すると、Kerberos MaxTokenSize が 0 xffff より大きい

フォレスト内でドメインの間のログオンのシナリオがありますので、値がすべての Windows ベースのシステムでフォレスト全体にわたる設定してください。そのため、MaxTokenSize 値の最大値である 64 K をお勧めします。

重要SQL Server のクライアントでこの問題が発生すると、次のエラー メッセージが表示される可能性があります。
SSPI コンテキストを生成できません。
この問題を解決するのには Kerberos 認証プロセスに関連するすべてのコンピューターに対して MaxTokenSize レジストリ値を設定する必要があります。これは、SQL Server クライアントが含まれます。

プロパティ

文書番号: 327825 - 最終更新日: 2014年6月13日 - リビジョン: 6.0
この資料は以下の製品について記述したものです。
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows Server 2003 Service Pack 2
  • Windows Vista Business
  • Windows Vista Enterprise
  • Windows Vista Ultimate
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Windows Web Server 2008
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Foundation
  • Windows Server 2008 R2 Standard
  • Windows 7 Enterprise
  • Windows 7 Professional
  • Windows 7 Ultimate
  • Windows Server 2012 Datacenter
  • Windows Server 2012 Essentials
  • Windows Server 2012 Foundation
  • Windows Server 2012 Standard
  • Windows 8 Enterprise
  • Windows 8 Pro
  • Microsoft Windows Server 2003 R2 Datacenter Edition (32-Bit x86)
  • Microsoft Windows Server 2003 R2 Datacenter x64 Edition
  • Microsoft Windows Server 2003 R2 Enterprise Edition (32-Bit x86)
  • Microsoft Windows Server 2003 R2 Enterprise x64 Edition
  • Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003 R2 Standard x64 Edition
  • Windows 8.1 Enterprise
  • Windows 8.1 Pro
  • Windows Server 2012 R2 Datacenter
  • Windows Server 2012 R2 Essentials
  • Windows Server 2012 R2 Foundation
  • Windows Server 2012 R2 Standard
キーワード:?
kbqfe kbhotfixserver kbsecurity kbwin2ksp4fix kbbug kbfix kbwin2000presp3fix kbwin2000presp4fix kbmt KB327825 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:327825
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com