問題タブ [kerberos]
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.
java - Java からの kerberos - 現在認証されているユーザーのサブジェクトの取得
私の会社には kerberos ドメインがあり、Java/Kerberos の例をいくつか実行しています。私が持っている質問は、サーバーの観点からのログインメカニズムに関するものです。サーバーの例を実行するときは、 ;GssServer.java
を取得する必要があります。javax.security.auth.Subject
提供されたコードでは、これは次のようにLoginContext
なります。
これで問題ありません。サンプルを実行すると、素敵なログイン プロンプトが表示されます。ただし、私の問題は、これが実際にはサーバーの実行方法ではなく、kerberos ドメイン内からサービスを提供する方法を理解するように導かれた方法でもないことです。このGssServer
例では、問題は、私のサーバー (読み取り: サービス) が、そのサービスをクライアントに提供するために自身を認証する必要がないことです。KDC
これを行うには、サーバー側keytab
ファイルへのアクセスで十分です。したがって、構成例の場合:
Java コードでは次のようになります。
これに関する問題は、次の行で自分自身を認証しない限り、ファイルserver
内の情報を利用できないことです。jaas-krb5.conf
この認証を通過する必要はありません。しかし、自分自身を認証しないと、次のようになります。
問題があっても不思議ではありません。結局のところ、私がこの件について理解していない限り、自分がどこにいるのか、どのようなサービスを提供しているserver
のかをどうやって知ることができるでしょうか?keytab
私の質問は、コードで自分自身を認証せずにキータブ/サービスについてどのように伝えることができますか?GSS API
java - JavaでのKerberos認証-Javaでの「ログイン」アクションは「kinit」と同じですか?
Kerberos認証を使用してLDAPサーバーにログインするために、JavaでGSSAPIを使用しています。私はKerberosの初心者なので、これが明白な質問である場合は申し訳ありませんが、インターネット上で十分に明確なものを見つけることができませんでした。
次の手順を実行します。
- システムプロパティ
"java.security.auth.login.config"
を構成ファイルパスに設定して、ログイン構成を定義します。 - 構成の名前と自己定義のコール
LoginContext.login()
バックハンドラーを使用して呼び出します - ログインが成功した場合は、(を使用して)サブジェクトに「なりすまして」、適切な環境変数を使用し
Subject.doAs()
て新しいものを作成することにより、LDAPサーバーに接続します。InitialLDAPContext
さて、私の問題は、どのステップがどのkerberosアクションに相関するのかわからないということです。ログインアクションの後、私はTGTしか持っていないと言うのは正しいですか?サービス固有のチケットはいつ入手できますか?
ありがとう、ディクラ
web-services - Delphi で Kerberos チケットを取得するにはどうすればよいですか?
Delphi が Active Directory Kerberos サーバーを呼び出してチケット許可チケット/通常チケットを要求する方法を示す例はありますか?
背景: チケットは、機密情報を交換する Web サービスへの認証に必要です。
編集: 短いソース コードの例は非常に役立ちます。非常に印象的なJEDI Windows Security Code Libraryを見つけました。Kerberos のサポートが含まれているかどうかはわかりません。
sharepoint - ADAM に対して SharePoint エクストラネット サイトを認証できない
プロジェクトの背景: イントラネットが独自のアプリケーションである小さなファームをセットアップしています。最小限の特権を持つアカウントのセットアップ原則に従い、プロセス/アプリごとにドメイン ユーザー アカウントを作成しました。プール。サービス認証は、Kerberos でうまく機能します。
プロジェクトの 1 つは、別の Web アプリケーション (イントラネットとは別) をインターネット経由でクライアントに公開する必要があります。AD 構造を分離しておくために、ADAM を使用することにしました。アプリ。プール アカウントは別のものであり、Kerberos も使用します。https://blogs.pointbridge.com/Blogs/morse_matt/Pages/Post.aspx?_ID=2に従って、元のアプリケーションを拡張し、記事で説明されているように LDAPMembership プロバイダーを割り当てるエクストラネット ゾーンとして構成しました。
ユーザー ピッカーが機能し、AD と ADAM の両方のデータ ストアからコレクション管理者、サイト所有者、メンバーなどを指定できるのに、ユーザーをログインさせることができません。ユーザーを認証できませんというエラー. うまくいけば、LOG はディレクトリ ルックアップに関連するエラーを生成しません。ADAM データ ストアがヒットすることはないようです。
MS の記事に基づく私自身の考えでは、NTLM を使用していないため、クローラーがエクストラネット ゾーンに到達することはありません。それでも、Kerberos が NTLM よりも優れていることがわかっている場合、アプリケーションを保護するにはどうすればよいでしょうか。
どんなアイデアでも大歓迎です。
注: SPN は適切にセットアップされ、必要に応じてアクセス許可が割り当てられました。ADAM ユーザーは false に設定され、アプリを無効にしました。プール アカウントは、ADAM 内の閲覧者ロール コンテナーに一覧表示されます。
ありがとう、ジャック
internet-explorer - 1 台のコンピューターが TFS または Exchange に対して認証できない
複数のコンピューターがあります... Exchange サーバーまたは TFS サーバーに対して認証できないのはそのうちの 1 つだけです。(2台のコンピューターが自宅にあり、職場のexchange/tfsサーバーに接続しようとしていますが、そのうちの1台が問題です)。他の何人かの従業員には、接続の問題はありませんでした。
私が見ているエラーは
401 2 2148074254
401 1 0
401 1 2148074252
約2日間探し回った後、コンピューターを再作成して最初からやり直す準備が整いました。私が知る限り、それらは同じように設定されています。
IE ではなく Firefox を使用して Exchange OWA に接続できません。TFS についても同様です。IE をリセットしました (次の URL のツールを使用します: http://support.microsoft.com/kb/923737 -- 見たことがない場合は、説明を読む必要があります。非常に興味深いものです)。信頼済みサイトの設定を、機能するものと機能しないものとで比較しました。「高度な」設定も比較しましたが、違いはありません。資格情報は 2 台目のコンピューターから完全に機能するため、ファイアウォールに関連するフィルタリングの問題が解消されます。
私は他に何を試すべきかについて完全に途方に暮れています。誰にもアイデアはありますか?
wcf - サーバーがユーザー アカウントを使用する WCF Kerberos クライアントのパターン
WCF (Windows Communication Foundation) クライアントとサービス アプリケーションがあります。Kerberos で Windows 認証を使用しています。
問題は、サービスが多数のアカウント (ネットワーク サービス、特定のユーザー アカウントなど、IT グループによって異なります) のいずれかで実行される可能性があることです。このアカウントは毎日変更される可能性は低いですが、場合によっては (数か月ごとに) 変更される可能性があります。さらに、このクライアント/サービス パッケージを複数のグループに提供します。各グループは、サービスを実行するために使用する独自のアカウントを持っている場合があります (これは、1 つのチームに対してカスタム ソリューションを実行できないことをお知らせするためのものです)。 )。
上記の段落が問題である理由は、サービスが SYSTEM または NETWORK SERVICE アカウント、つまりユーザー アカウントで実行されていない場合、クライアントはそのエンドポイントの ID でユーザー アカウントの名前を指定する必要があるためです。
この制限の詳細については、http: //social.msdn.microsoft.com/Forums/en-US/wcf/thread/feb6bc31-9a4b-4f8d-a887-ef6d2c7abe41 およびhttp://www.vistax64.com/indigoを参照してください。 /146204-using-localhost-vs-environment-machinename.html
これにより、IT 部門がサービスを実行するアカウントを変更する状況に対処することが難しくなっているようです。ある場合、これを処理するためのパターンは何ですか? 他の人々はこれをどのように処理しましたか? 私が考えた 1 つの解決策は、サービスのユーザー アカウントが変更されたときに管理者がメールを送信することです。これには、クライアントまたは構成ファイルを更新するアプリケーションへの Web リンクが含まれているため、クライアントは新しいユーザー アカウントを参照します。 . しかし、それはハックのようです。
確かに、これは移動するエンドポイントの URI によく似ています。例外として、URI の変更はクライアントが知っておくべきことであるが、サービスが実行されているアカウントの変更は、クライアントに対して比較的透過的であるべきものであるという人々に代わって、より多くの期待があると思います。
ところで、これが重要な場合は、IIS 7.0 でホストする必要があります。
java - java UrlConnectionを使用してntlm(またはkerberos)で認証する
ドメインユーザーアカウントのクレデンシャルを渡して、Javaで残りのWebサービスを利用する必要があります。
今、私は古典的なaspでそれをやっています
とasp.netで
Javaでこれをどのように達成できますか?現在ログインしているユーザーの資格情報を使用していないことを考慮して、ドメインアカウントを指定しています(パスワードを持っています)
従来のaspやasp.netと同じくらい簡単だと言ってください。
windows - Silverlight 内で現在の Windows ユーザー名を取得する
現在ログインしているユーザーのユーザー名を Silverlight で取得することはできますか? ユーザーが Windows OS を使用しており、Silverlight アプリケーションが Internet Explorer でホストされていると想定できます。ASP.NET を使用してサーバー側から ID を取得することはできません。この Silverlight アプリケーションは、静的な HTML ファイルでホストされます。
windows - Windows 資格情報を使用した Web ログイン
企業ネットワーク (SharePoint 3) にイントラネット サイトがあります。Internet Explorer で見ると、すでにログインしています。Firefox で見ると、Windows のユーザー名とパスワードを入力する必要があります。
私の質問はこれです:
ブラウザ間でこのような相違があるのはなぜですか? Microsoft は、IE にこの自動ログインを有効にする独自のプラグインを持っていますか? Firefox で自動ログインを実現できますか?
どうもありがとう。
asp.net - SQLサーバーへのkerberos統合Windows認証を介したasp.net
ASP.NET> Kerberos> Sql Serverを有効にする簡単で簡単な方法を教えてください。
clientMachine > webServer > databaseServer があります。クライアントは、サイトがプロンプトではなく Windows ログインをプルする必要があると主張しているため、Kerberos と統合認証が必要です。また、ダブルホップを誘発して、ユーザーを db サーバーに偽装する必要があります。
私たちのドメインは Windows 2003 ドメインです。私がオンラインで知る限り、これは Kerberos が有効になっていることを意味します。また、ドメインに参加しているコンピューターでログインすると、kerbtray は大量のチケットを持っていることを示しているので、どうやら機能しているようです。
AD の Web およびデータベース サーバー コンピューター アカウントは、どちらも「委任に対して信頼されています」。
システムにアクセスする必要がある AD ユーザー アカウントは、どちらも「委任に対して信頼されています」。
すべてが機能するようになったら、さらにユーザーを追加します。今のところ 2 人です。
Sql Server インスタンスは、データベース サーバーの LocalSystem の下で実行されています。これは、オンラインでわかる限り、これらの SPN をいじる必要がないことを意味します。
それでも、どちらかのユーザーでログインしようとすると、
ダブルホップの失敗を示します。これは、db サーバーのアプリケーション ログに、同じことを言っている "MSSQL" からの多数のエントリがあるという事実によって促進されます。
これがどれだけ大変なことか、本当に信じられません... つまり、IIS、SQL、および Windows はすべて Microsoft です。
要約すると、私は
- ケルベロス ドメイン、
- db と web サーバーの両方が委任に対して信頼されている
- 委任に対して信頼されているユーザー
- AD グループのユーザー
- SQLのログインとしてのADグループ(およびdbのユーザー)
- 匿名がオフ、統合がオン、基本およびダイジェストがオフの IIS
- Enable Integrated をオンにした IE