PowerScale:OneFS:Active Directoryで重複するサービス プリンシパル名(SPN)を検索して、SMBクライアントのクラスターへの認証を妨げる方法
Summary: Kerberos認証が失敗する可能性があるActive Directoryで重複するサービス プリンシパル名を識別する方法(英語)」を参照してください。
Symptoms
Active Directoryドメイン内の重複SPNを特定します
SPN名が重複していると、クラスターへの認証時に、サービス アカウント ログインとクライアント ログインのログインが失敗する可能性があります。
SPNが重複していると、クライアントが間違ったシステムに対して認証を試みたり、間違ったKerberosキーを取得したりする可能性があります。
参照:SmartConnectゾーン名またはエイリアスを使用して認証する http://technet.microsoft.com/en-us/library/cc772897%28v=ws.10%29.aspx
SMBクライアントは、クラスター共有に対して認証できない場合があります。
ドメイン コントローラー ログまたは「/var/log/lsassd.log」では、 次のメッセージは重複するSPNが存在することを示している可能性があります。
KDC_ERR_PRINCIPAL_NOT_UNIQUE - Multiple entries in database
KRB_AP_ERR_MODIFIED Message stream modified errors
Event ID 11 and/or Event ID 4 on Domain controllers can indicate duplicate SPNs.Cause
Active Directory環境でSPNが正しく構成されていないと、重複が発生する可能性があります。
Resolution
手順
重複するSPNを検索するために使用できるオプションは2つあります。Setspnはコマンドラインユーティリティであり、LDPはWindows Server 2003以降でのみ使用できるグラフィカルインターフェイスです。
setspnを使用します
Windows 7、8、Server 2008、および2012にあるSetspn。Windows Server 2003 の場合は、次のリンクを使用して取得できます。 http://support.microsoft.com/kb/970536
Windows コマンドライン インターフェイスから、コマンドの追加オプションについては "setspn /?" を使用します
「setspn -x」を使用すると重複が検出されます。これはフォレスト全体を検索します。大規模な環境では処理に時間がかかる場合があります
コマンド「setspn q」は SPN名でクエリーを実行するため、大規模な環境に適している場合があります
例1:
SPN 「HOST/chomper.test.isilon.com」 は、「isicluster1」という名前のクラスターと「win2k1」という名前のWindows Serverの両方に登録されています。
C:>setspn -x
Checking domain DC=test,DC=isilon,DC=com
Processing Entry 0
HOST/chomper.test.isilon.com is registered on these accounts
CN=isicluster1,CN=Computers,DC=test,DC=isilon,DC=com
CN=win2k1,CN=Computers,DC=test,DC=isilon,DC=com
Found 1 group of duplicate SPNs.
例2:
大規模な環境では、「setspn q <SPN>」を使用してクエリを実行するか、次に示すようにLDPを使用します。
C:>setspn -q HOST/chomper.test.isilon.com
Checking domain DC=test,DC=Isilon,DC=com
CN=isicluster1,CN=Computers,DC=test,DC=isilon,DC=com
HOST/chomper.test.isilon.com
HOST/isicluster1
HOST/isicluster1.test.isilon.com
CN=win2k1,CN=Computers,DC=test,DC=isilon,DC=com
HOST/chomper.test.isilon.com
HOST/win2k1
HOST/win2k1.test.isilon.com
Existing SPN found!
環境内の別の場所に、異なるサービス クラス識別子(CIFSなど)を持つSPNがある場合、「setspn -x」では見つかりません。ワイルドカード検索を実行して検索できます。
C:\>setspn -q */isilon
Checking domain DC=test,DC=Isilon,DC=com
CN=isicluster2,CN=Computers,DC=test,DC=isilon,DC=com
cifs/chomper.test.isilon.com
LDPの使用: http://support.microsoft.com/kb/321044
- [スタート]ボタン、[ファイル名を指定して実行]の順にクリックし、「LDP」と入力して[OK]をクリックします。
- [接続] をクリックし、[接続] をクリックします。
- デフォルト設定のままにして、[ OK]をクリックします。
注:期待した結果が得られない場合は、デフォルト設定(389)ではなく、グローバル カタログ ポート(3268)を使用して、別の検索を試してください。 - [接続] をクリックし、[バインド] をクリックします。
- デフォルト設定のままにして、[ OK]をクリックします。
- 表示をクリックし、ツリーをクリックします。
- [Tree View]ダイアログ ボックスで、[BaseDN]ボックスに「DC=test,DC=isilon,DC=com」と入力します
- 参照をクリックし、検索をクリックします。
- [検索]ダイアログ ボックスで、BaseDNボックスに「DC=test,DC=isilon,DC=com」と入力します。
- [検索]ダイアログ ボックスで、[フィルター]ボックスに「(serviceprincipalname=HOST/<sczonename>)」と入力します
- 属性ダイアログ ボックスに「servicePrincipalName」と入力します。
- Scopeで、Subtreeをクリックします。
- [実行] をクリックし、[検索] ダイアログ ボックスを閉じます。
- 重複SPNには、2つの異なるDnを指す2つのエントリーがリストされています
***Searching
ldap_search_s(Id, DC=test,DC=isilon,DC=com ,2,
(serviceprincipalname=HOST/chomper.test.isilon.com) ,attrList, 0 &msg)
Getting 2 entries:
Dn: CN=ISICLUSTER1,CN=Computers,DC=test,DC=isilon,DC=com
servicePrincipalName (3): HOST/isicluster1; HOST/isicluster1.test.isilon.com;
HOST/chomper.test.isilon.com
Dn: CN=WIN2K1,CN=Computers,DC=test,DC=isilon,DC=com
servicePrincipalName (3): HOST/win2k1; HOST/win2k1.test.isilon.com;
HOST/chomper.test.isilon.com
解像度:
「HOST/chomper.test.isilon.com」のwin2k1の重複エントリーは、Active Directoryドメインから削除する必要があります。
重複するエントリーは、Active Directoryドメインでドメイン管理者、エンタープライズ管理者、または指定されたドメイン管理者権限を持つユーザーが削除できます
重複するエントリーを削除するコマンドは「setspn -D <spn><accountname>です。
C:>setspn D HOST/chomper.test.isilon.com win2k1
Unregistering ServicePrincipalnames for CN=win2k1,CN=Computers,DC=test,DC=isilon,DC=com
HOST/chomper.test.isilon.com
Updated object
上記の出力は、「HOST/chomper.test.isilon.com」がコンピューターwin2k1から登録解除されたことを確認します。現在は、ISICLUSTER1 マシン アカウントにのみ登録されています。
Additional Information
関連記事:
「Authentication services can fail if the Service Principal Name (SPN) is incorrect or missing,」89649
「OneFS: SmartConnect DNSエントリーを使用してKerberos認証を許可するSPNアカウントを作成する方法,"16528
"Microsoft Active Directory環境でSPNリストを表示する方法,"16589
"SQLクライアントではIsilonクラスターからSQLデータベースにファイルを"一括挿入"できません。" 89574
「OneFS 5.5.x - 6.5.xでActive Directory対応CIFS共有へのMac OS Xシングル サインオン(SSO)を有効にする方法」"16675
「Isilon OneFS 7.1.0.0: SMB2クライアントがKerberos認証を使用してクラスターに接続できない」、174024
"OneFS: Service Principal Names for Kerberos Authentication」、 187999