Forefront TMG 2010 Kerberos の制約付き委任がドメイン コントローラーを高負荷とする場合がある

現象
Forefront TMG 2010 (TMG) を使用して、Web サーバー (IIS、SharePointなど) の公開ルールを作成します。
公開ルールの認証の委任設定を Kerberos の制約付き委任とする場合、ドメイン コントローラーが高負荷状態となる場合があります。
原因
TMG は公開対象の IIS と通信を行う際に、毎回ドメイン コントローラーに対してKerberos チケットを要求します。
Kerberos チケットを通信毎に再取得する動作は、TMG がドメイン コントローラーから発行された Kerberos チケットをキャッシュしない、既定の設定に起因します。
そのため利用者から TMG へのアクセスが集中すると、アクセス量に比例した大量のKerberos チケット要求がドメイン コントローラーへ送信されるため、高負荷となる可能性があります。
解決方法
回避策
下記手順にて設定変更を行うことで、TMG が公開対象の IIS と通信を行う際の Kerberos チケット要求を、アクセス毎からセッション毎に軽減させることが可能です。
ただし、本回避策は TMG と IIS 間の HTTP セッションが維持されることを前提とするため、Keep Alive は有効である必要があります。

また、同様にクライアントと TMG 間の HTTP セッションも、Keep Alive を有効として下さい。
もしクライアントと TMG 間の HTTP セッションが切断されると、そのセッションと対応する TMG と IIS 間のセッションも終了されます。

1. 公開対象の IIS へ下記技術情報の対処を行います。

IIS 7.x の場合

You may experience slow performance when you use Integrated Windows authentication together with the Kerberos authentication protocol in IIS 7.0
http://support.microsoft.com/kb/954873/ja-jp

IIS 6.0 の場合
FIX: You may experience slow performance when you use Integrated Windows authentication together with the Kerberos authentication protocol in IIS 6.0
http://support.microsoft.com/kb/917557/ja-jp


2. 下記のスクリプトを CredentialDelegationPersistence.vbs として TMG サーバー上に保存します。

If Not WScript.Arguments.Named.Exists("Rule") ThenWScript.Echo "Rule name not defined"WScript.Quit(1)End IfSet fpcRoot = CreateObject("FPC.Root")Set fpcArray = fpcRoot.GetContainingArray()Set fpcPublishingRule = fpcArray.ArrayPolicy.PolicyRules(WScript.Arguments.Named("Rule"))Set fpcWebPublishingProperties = fpcPublishingRule.WebPublishingPropertiesWScript.Echo "CredentialsDelegationPersitence current setting: " & (fpcWebPublishingProperties.CredentialsDelegationPersistence)fpcWebPublishingProperties.CredentialsDelegationPersistence = WScript.Arguments.Named("Value")fpcArray.SaveWScript.Echo "CredentialsDelegationPersistence set to : " & (fpcWebPublishingProperties.CredentialsDelegationPersistence)

3. TMG サーバー上で管理者権限のコマンドプロンプトを開き、下記コマンドを実行します。

> Cscript.exe credentialdelegationpersistence.vbs /Rule:<rulename> /Value:1

<rulename> は、TMG に作成された Web サーバー公開ルールの名前で置き換えます。
なお、設定変更を元に戻す場合には、下記コマンドを実行します。

> Cscript.exe credentialdelegationpersistence.vbs /Rule:<rulename> /Value:0


4. IIS および TMG の再起動を行い、設定変更を有効化します。
状況
詳細
本技術情報の対処方法は、下記 ISA Server 製品チーム ブログにも掲載しております。
ブログは ISA Server 2006 に関する記述ですが、その動作は Forefront TMG 2010 と共通しており、同じ設定変更が有効です。

Reducing Kerberos requests when using KCD for web publishing.
http://blogs.technet.com/b/isablog/archive/2009/12/11/reducing-kerberos-requests-when-using-kcd-for-web-publishing.aspx
関連情報
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2830216 - 最終更新日: 10/31/2016 09:36:00 - リビジョン: 4.0

Microsoft Forefront Threat Management Gateway 2010 Standard, Microsoft Forefront Threat Management Gateway 2010 Enterprise

  • KB2830216
フィードバック