2

1 台のサーバーに Kerberos 認証をセットアップすることができ、問題なく稼働しています。次のように、別のサーバーを Kerberos 構成に追加する必要があるプロジェクトがあります。

1) 広告サーバー

2) サービスが実行されている server1

3) 同じサービスが実行される server2

したがって、setspn コマンドを実行して、両方を単一の「spn」ユーザーに割り当てました。

setspn -s serviceX/server1.domain.com@DOMAIN.COM spn

setspn -s serviceX/server2.domain.com@DOMAIN.COM spn

次に、コマンド ktpass を実行しました。

ktpass -princ serviceX/server1.domain.com@DOMAIN.COM -ptype KRB5_NT_PRINCIPAL -crypto AES256-SHA1 -mapuser serviceX\spn -out C:\keytab +rndPass

それを機能させるには、次に何をすべきですか?server2 に対して ktpass を実行するには? server2 に対して同じコマンドを実行すると、警告が表示されます:

警告: UPN serviceX/server2.domain.com ptype 1 vno 10 etype 0x12 kinits を "serviceX/server2.domain.com" に設定できませんでした。失敗します。

同じサービスの kerberos 認証を別のサーバーでどのようにセットアップしますか? 2 つの spn ユーザーと 2 つのキータブを作成しますか? サービスで必要なため、すべてを 1 つのキータブに含める必要があると思います。何か助けはありますか?

4

2 に答える 2

2

各サーバーではなく、ディレクトリ内のユーザー アカウントに関連付けられた SPN を使用して、同じキータブを使用して 2 つの異なるサーバーでserviceXを実行できます。これを行うには、SPN を実際のサーバー名ではなく仮想サーバー名 (別名 "VIP") に関連付けます。私の現在の組織では、これを常に行っています。したがって、SPN は DNS で仮想サーバー名を使用するため、ロード バランサーを構成して、その仮想名に対するクエリを背後にある実サーバーに送信し、その名前に「応答」します。したがって、この場合、server1 と server2 の両方に一意のキータブを用意することを心配する代わりに、server-vipと呼ぶもの用に 1 つのキータブを作成するだけです。、次に同じキータブを両方のサーバーにコピーします。ロード バランサーがない場合は、DNS ラウンド ロビンを使用するだけでこれを行うことができます。したがって、以下の例は、新しいキータブ作成構文になります。変更されるのは 1 つだけです。これが優れているもう 1 つの理由は、サーバーの変更に対する回復力があるためです。最終的にサーバー 1 とサーバー 2 を廃止するときは、その日が来たらキータブをサーバー 3 とサーバー 4 に簡単にコピーできます。

ktpass -princ serviceX/ server-vip .domain.com@DOMAIN.COM -ptype KRB5_NT_PRINCIPAL -crypto AES256-SHA1 -mapuser serviceX\spn -out C:\keytab +rndPass

于 2017-10-16T00:40:29.037 に答える
0

友達...

SPNをバインドしようとすると:

serviceX/server-vip.domain.com@DOMAIN.COM

UPN

spn

エラー: "serviceX/server2.domain.com" への kinit は失敗します。は何らかの問題を示していますが、正確な場所や方法ではありません。今日も同じ問題が発生しましたが、別のログでエラーの主な原因が明らかになりました。

プロパティ 'userPrincipalName' を設定できませんでした

ktpass を使用してキータブを生成しようとすると、このメッセージが表示されますが、UPN オブジェクトには非常に多くの属性があり、そのうちの 1 つがUserPrincipalNameであるとは思いもしませんでした。では、属性UserPrincipalName"spn"値を設定できないのはなぜでしょうか? 別の UPN 属性で既に構成されているためです。残念ながら、「spn」値を検索して、UPN のすべての属性を確認する必要があります。

adsiedit を使用して手動で検索できます。

adsiedit.msc

または userPrincipalName 属性を検索するユーザーとループを作成します。

$users = get-aduser -filter *
foreach ($var in $users) { $var | select Name, UserprincipalName | fl }

別の UPN で構成されている"UserPrincipalName" 属性が間違っているという問題を解決しました。

► 各 UserPrincipalName は、UPN と同じ名前で構成する必要があります。

UPN=s_user_http、次に UserPrincipalName=s_user_http@YOUR_DOMAIN、これを確認してください!

あなたの質問に答える: 1 つの UPN は複数の SPN になる可能性がありますが、危険です。誤って kvno をインクリメントすると、他のすべてのキータブが無効になります。SPN ごとに 1 つの UPN を使用します。

これが助けになることを願っています。

于 2019-11-13T23:59:43.147 に答える