問題タブ [spn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
encryption - Kerberos キータブ ファイルに複数のエントリが含まれている
kerberos を使用してサービスのユーザーを認証しようとしています。を使用して SPN をユーザーにアタッチしましたsetspn -s HTTP/<hostname> <Username>
。
次に、上記の SPN 接続ユーザーに対して ktpass コマンドを使用しました。しかし、生成されたキータブ ファイルには複数のエントリがあり、複数のキーが作成されているようです。
ここで何が問題なのですか?
ktpass コマンドの出力は次のとおりです。
キーが作成されました。
キーが作成されました。
キーが作成されました。
キーが作成されました。
キーが作成されました。
keytab を c:\tomcat.keytab に出力します。
キータブのバージョン: 0x502
sql-server - ASP.NET 偽装シナリオ。IIS 8.5 から SQL 2012 への移行では、どの SPN を設定する必要がありますか?
IIS サーバーで認証済みユーザーを SQL に渡す方法に関する多くのブログや記事を読みました。ただし、SPN を設定する必要があるものについては、行き詰まっています。これが私の設定です...
IIS:
アプリケーション プール .Net v4.0
Integrated Pipepline
Identity = NetworkService
認証:
ASP.NET Impersonation = True (有効)
Windows Authentication Enabled
Provider = Negotiate:Kerberos
Disabled Kernel-mode authentication
IIS サーバー:
あらゆるサービスの委任に対して信頼されています (kerberos のみ)
SQL サーバー:
すべてのサービスの委任に対して信頼されています (kerberos のみ)
これらの設定で理解していることから、現在ログインしている Windows アカウントを IIS サーバーに渡し、そのトークンを SQL に渡して認証する必要があります。自分。ただし、サイトからユーザー/パスを継続的に要求するだけです。この記事http://blog.reveille.org.uk/2010/01/asp-net-impersonation-delegation-2/
を見つけました。これは、次のようなものを使用して「マシン」に SPN を設定する必要があることを示しています。
必要な SPN が正確にわかりません。誰か助けてくれませんか?のようなものだと思います
それとも、SPN が設定されたアプリケーション プールでドメイン アカウントを使用する方がよいでしょうか?
windows - New-ADUser、サービス プリンシパル名の設定中にエラーが発生しました
Windows サーバーで新しいユーザー作成プロセスをスクリプト化しようとしていますが、このスクリプトの一部は、その特定のユーザーの SPN レコードを設定することです。しかし、SPN パラメータに値を入力しようとすると、「New-ADUser: The name reference is invalid」というエラーが表示され続けます。私はマイクロソフトのウェブサイト(リンク)の例に従おうとしています。
ServicePrincipalNames パラメーター自体を削除すると、正常に機能します。
ありがとう、
ラフル
kerberos - SPN を指定する正しい形式は何ですか?
最初に、setspn コマンドを使用してユーザーのサービス プリンシパル名を登録します。
setspn -a CS/dummy@abc.com ダミーユーザー
setspn -l ダミーユーザー
出力を次のように与えます
CS/dummy@abc.com
次に、/mapUser オプションを指定して ktpass コマンドを実行すると、ユーザー アカウントのサービス プリンシパル名が変更され、ドメイン コンポーネントが削除されます。
ktpass /pass Password@123 -out dummy.1.keytab -princ CS/dummy@abc.com -crypto DES-CBC-MD5 +DumpSalt -ptype KRB5_NT_PRINCIPAL +desOnly /mapOp セット /mapUser dummyuser
setspn -l ダミーユーザー
出力を次のように与えます
CS/ダミー
次のコマンドはどちらも正しく、同じように機能しますか?
setspn -a CS/ダミーのダミーユーザー
setspn -a CS/dummy@abc.com ダミーユーザー
SPN でサービス名を指定する場合、ドメイン コンポーネントも含める必要がありますか? 明確にしていただけますか?
authentication - Kerberos プリンシパルについて
Kerberos の基本概念を理解しようとしています。私はこちらのプリンシパルについて読みました。通常は次のようになります。
プライマリ、インスタンス、およびレルムとは正確には何ですか。もちろん、上記のページやインターネット上の他のいくつかの場所で定義されていますが、誰かが例を挙げることができますか?
私が理解しているのはこれです:プライマリは消費者(ユーザーまたはサービス)です。インスタンスは、アクセス制御に使用されるものです。プライマリは、複数のインスタンスの一部になることができます。レルムはインスタンスのコレクションですか? 間違っている場合は修正してください。
サーバーがある場合:これにfoo.bar.com
という 2 つのレルムを持つことができます: REALM1、REALM2。これらはそのように名前を付けることができますか?または、ここでFOO.BAR.COMとして 1 つのレルムのみを使用できますか? これで、相互に通信するs1、s2、s3
という 3 つのサービスができました。kerberos が有効になっているため、それぞれに独自の keytab ファイルを持つプリンシパルが必要ですか? または、各サービスが他のサービスと通信しているため、各キータブ ファイルには他のサービスごとにプリンシパルが必要ですか?
authentication - kerberos: チケットを要求するサービス名をクライアントがどのように知るか?
クライアントが HTTP プロキシに対して自分自身を認証することを望んでいると仮定しましょう。プロキシは kerberos で構成されており、その構成でサービス名HTTP/proxy.foo.barが明確に設定されています。クライアントは、チケットを要求するサービス名をどのようにして知ることができますか? 彼が要求しているドメイン名へのチケットを要求しますか (この場合は実際にはproxy.foo.bar です)、または認証シーケンスで名前を受け取りますか (この場合は 407 応答で) (これには挑戦を交渉しますが、それを調べる方法があるかどうかはわかりません) ?
一部のクライアントの認証が突然停止したプロキシで kerberos エラーをデバッグしようとしています。問題は、Wireshark を見ると、クライアントがプロキシで構成されたサービス名 (使用するように指示された名前と同じ)、HTTP/proxy.foo.barではなく、その名前のチケットを要求していることがわかります。プロキシ IP はHTTP/host.foo.barに解決されます(まあ、少なくともプロキシが解決する名前であり、クライアントが別の方法で取得する可能性があります)、TGS はそれを見つけることができないため、エラーが発生します。 .