現象
Microsoft Forefront Threat Management Gateway (TMG) 2010 サーバーをアレイに参加させようとすると、アレイの結合操作は失敗します。 さらに、以下のエラー メッセージが表示されます。
注
操作は失敗しました。 エラー コード - 0x80070002 - 指定されたファイルがシステムで見つかりません。
原因
この問題は、BUILTIN\Administrators グループがエンタープライズ管理者ロールから削除されたために発生し、この削除はサポートされていません。 さらに、Enterprise Administrators ロールからの BUILTIN\Administrators グループの削除をブロックする修正プログラムが Threat Management Gateway Service Pack 2 (SP2) 用にリリースされました。
詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2595999 修正: BUILTIN\Administrators グループが TMG Enterprise Administrators ロールから削除されたために配列結合操作が失敗すると、Forefront Threat Management Gateway 2010 で「0x80070002」エラーが発生する
解決策
ドメイン環境で、Enterprise Administrators ロールからの BUILTIN\Administrators グループの削除がサポートされるようになりました。 このような環境には、次の要件を満たすサーバーが含まれます。
- サーバーは Threat Management Gateway と Enterprise Management Server を実行しています。
- サーバーはドメインに参加しています。
このサポートを追加するには、次のマイクロソフト サポート技術情報に記載されている修正プログラム パッケージをインストールします。
Forefront Threat Management Gateway (TMG) 2010 Service Pack 2 の2689195ロールアップ 2重要: ワークグループ シナリオでは、BUILTIN\Administrators グループの削除はサポートされていません。
Enterprise Administrators ロールから BUILTIN\Administrators グループを削除するには、次の手順を実行します。
この修正プログラム パッケージを適用した後、次のスクリプトを Notepad.exe などの新しいテキスト エディター ファイルにコピーし、ファイルを SetBuiltInAdminsRemoval.vbs として保存します。
'------------------------------------------------------------------------------ ' Copyright (c) 2012 Microsoft Corporation. All rights reserved. ' ' Filename: SetBuiltInAdminsRemoval.vbs ' ' Description: Set the flag that allows removing the BUILTIN\Administrators group ' from the TMG Enterprise/Array Administrators list '------------------------------------------------------------------------------ const DELEGATED_ADMIN_VPS_GUID = "{65d64720-510e-4fce-8625-4050dcae45dd}" const ALLOW_BUILT_IN_ADMINS_REMOVAL_VP_NAME = "AllowBuiltIntAdminsRemoval" const fpcConfigurationStandalone = 0 const fpcConfigurationEnterprise = 1 Set objArgs = wscript.Arguments if objArgs.Count <> 1 then wscript.echo "Usage: SetBuiltInAdminsRemoval.vbs <0|1>" wscript.echo wscript.echo " 0 - Do not allow removal of the BUILTIN\Administrators group from TMG Admins list." wscript.echo " 1 - Allow the removal of the BUILTIN\Administrators group from TMG Admins list." wscript.Quit 2 end if if objArgs(0) = 0 then fAllowBuiltInAdminsRemoval = 0 else fAllowBuiltInAdminsRemoval = 1 end if Set root = CreateObject("FPC.Root") if root.ConfigurationMode = fpcConfigurationStandalone then strScope = "Array" Set objDelegatedAdmins = root.GetContainingArray.AdminSecurity.DelegatedAdmins elseif root.ConfigurationMode = fpcConfigurationEnterprise then strScope = "Enterprise" Set objDelegatedAdmins = root.Enterprise.AdminSecurity.DelegatedAdmins else wscript.echo "Error: Could not determine whether the local TMG host belongs to an enterprise or it is a standalone server/array." wscript.Quit 1 end if ' It is assumed here that if the BUILTIN\Administrators group is assigned to a role, it is ' necessarily a TMG Administrator role if fAllowBuiltInAdminsRemoval = 0 AND not IsBuiltInAdminsAssignedRole(objDelegatedAdmins) then wscript.echo "the BUILTIN\Administrators group must be assigned to " & strScope & " Admin role" wscript.echo "before the default setting that blocks its removal can be restored." wscript.Quit 1 end if GetVPSet(objDelegatedAdmins, DELEGATED_ADMIN_VPS_GUID).Value(ALLOW_BUILT_IN_ADMINS_REMOVAL_VP_NAME) = fAllowBuiltInAdminsRemoval objDelegatedAdmins.Save if fAllowBuiltInAdminsRemoval = 0 then wscript.echo "Done. Removal of the BUILTIN\Administrators group from admin list is now not allowed." else wscript.echo "Done. Removal of the BUILTIN\Administrators group from admin list is now allowed." end if function GetVPSet(obj, strVPSetGUID) On Error resume next Set GetVPSet = obj.VendorParametersSets(strVPSetGUID) On Error GoTo 0 if IsEmpty(GetVPSet) Then Set GetVPSet = obj.VendorParametersSets.Add(strVPSetGUID) End if end function function IsBuiltInAdminsAssignedRole(objDelegatedAdmins) IsBuiltInAdminsAssignedRole = False for each objAdmin in objDelegatedAdmins if objAdmin.Account = "S-1-5-32-544" then IsBuiltInAdminsAssignedRole = True end if Next end function管理者特権を持つコマンド プロンプトで次のコマンドを入力し、Enter キーを押します。
cscript SetBuiltInAdminsRemoval.vbs 1Microsoft 管理コンソール (MMC) で、BUILTIN\Administrators グループを削除します。 これを行うには、配列プロパティまたは Enterprise プロパティの [ ロール ] タブをクリックします。
メモ
スクリプトの使用方法については、パラメーターを使用せずにスクリプトを実行してください。
既定の設定に戻して BUILTIN\Administrators グループの削除が許可されないようにする場合は、BUILTIN\Administrators グループを TMG 管理者ロールに割り当てる必要があります。 それ以外の場合、スクリプトは失敗し、次のエラー メッセージが生成されます。 (このエラー メッセージは、このセクションで説明するスクリプトを使用してグループの削除を有効にせずに BUILTIN\Administrators グループを削除しようとしたときに生成されるのと同じです)。
注
Forefront TMG の構成には、Forefront TMG の完全な管理者の役割を委任された組み込みの管理者グループが含まれている必要があります。
スタンドアロンの Threat Management Gateway サーバーまたはスタンドアロンの Threat Management Gateway アレイのスタンドアロン構成では、既定の BUILTIN\Administrators グループの割り当てはアレイ レベルにあります。 Enterprise 構成では、既定の BUILTIN\Administrators グループの割り当ては Enterprise レベルです。 このスクリプトは、構成を自動的に検出し、それに応じてグループの割り当て設定を行います。 構成が変更された場合は、スクリプトを再度実行する必要があります。 たとえば、サーバーがエンタープライズから切断され、スタンドアロン サーバーになった場合、スクリプトを再実行する必要があります。
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の制限であることを確認しました。
追加情報
管理者に指定されたユーザーは、Threat Management Gatewayサーバー上で暗黙的に非常に強力になります(注1を参照)。 ファイアウォール ポリシーを使用すると、ユーザーは、Threat Management Gateway サーバーとの間で送受信できるネットワーク トラフィックだけでなく、Threat Management Gateway サーバーとの間で送受信できるネットワーク トラフィックも制御できます。 ユーザーは、VPN や NLB の構成など、通常のユーザーが行うことができない構成変更を行うことができます。 ユーザーは、「LOCAL SYSTEM」のコンテキストで任意のプログラムを実行する TMG アラート アクションを構成することもできます。 したがって、ユーザーが BUILTIN\Administrators グループのメンバーでなくても、Threat Management Gateway 管理者は事実上サーバー管理者です。 これを反映するために、すべての Threat Management Gateway 管理者が BUILTIN\Administrators グループのメンバーである必要があります。
BUILTIN\Administrators グループのメンバーは、Threat Management Gateway サーバー上で何でも実行できます。 これには、Threat Management Gateway 管理者として指定されていない場合の有効な Threat Management Gateway ファイアウォール ポリシーの変更が含まれます。 これを反映し、Threat Management Gateway ロールの割り当てセキュリティ境界に関する誤解を防ぐために、BUILTIN\Administrators プリンシパルは Threat Management Gateway 管理者ロールに割り当てられ、既定では削除できません (注 2 を参照してください)。
ただし、一部の組織では、BUILTIN\Administrators の異なるメンバーを異なるアプリケーションの管理者として割り当てることによって、アプリケーションごとの管理分離モデルを使用しています。 たとえば、1 人の管理者を Microsoft SQL Server 管理者として割り当て、もう 1 人の管理者を SharePoint 管理者として割り当てます。 このような構成では、BUILTIN\Administrators のメンバーとアプリケーション管理の間にセキュリティ境界が作成されないことに注意してください。 BUILTIN\Administrators のメンバーは、サーバー上の任意のアプリケーションに対する所有権を意図的に取得できます。 したがって、このような構成は、ユーザーが管理者として割り当てられていないアプリケーションでの偶発的な構成ミスを防ぐためにのみ役立ちます。 Threat Management Gateway では、Threat Management Gateway 管理者の役割の割り当てから BUILTIN\Administrators グループを削除できるようにすることで、この管理分離モードがサポートされるようになりました。 ただし、Threat Management Gateway 管理のセキュリティ境界に関する混乱や誤解を防ぐために、これはデフォルトでは有効になっていません。 スクリプトを使用して、Threat Management Gateway 管理者の役割の割り当てから BUILTIN\Administrators グループの削除を有効または無効にします。
注 1 たとえば、"Forefront TMG Array Administrator" の役割が割り当てられているユーザー、またはエンタープライズ展開の場合は "Forefront TMG Enterprise Administrator" の役割が割り当てられているユーザーなどです。
注2「セキュリティ境界とは何ですか? これは、セキュリティ ポリシーの承認なしにコードとデータが通過できない壁です」(PsExec、ユーザー アカウント制御とセキュリティ境界)。
参考資料
ソフトウェア更新プログラムに関する用語の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
824684 Microsoft のソフトウェア更新プログラムの説明で使用される一般的な用語の解説