問題タブ [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.
asp.net - Kerberos で「なりすましを取り消す」(委任を取り消す) 方法
ASP.NET 3.5 と IIS を使用して、Kerberos を使用して外部リソースにアクセスする Web アプリケーションがあります。
ユーザーがアプリケーションに接続すると、Kerberos 認証により、委任を使用してユーザーとして機能する外部リソースに自動的に接続できます。これは簡単ではありませんでした。それはいいのですが、私には問題があります。ユーザーよりも多くの権限を持つアカウントを使用して、外部リソースに接続する必要がある場合があります。app-pool が実行されているサービス アカウントには、必要な追加権限があります。ユーザーの Kerberos ID を削除し、アプリケーション プールを実行しているサービス アカウントを使用して Kerberos に接続するにはどうすればよいですか?
アップデート
なぜ私はまったく応答を得ていないのか分かりません。私は前にそれを見たことがありません。質問を投稿してください。問題が明確になる場合があります(私にも)。
Kerberos を使用していて、委任の概要が必要ですか? この回答の最初の部分を読んでください: https://stackoverflow.com/a/19103747/215752。
apache - Firefox が kerberos サービス チケットのネゴシエーションを続けるのはなぜですか?
Kerberos でいくつかのテストを実行したところ、Firefox と Kerberos に関連するいくつかの奇妙な動作が見つかりました。クライアントからのリクエストを処理するときに kerberos 資格情報をチェックするように構成された Apache + mod_auh_kerb を実行しているサーバーがあります。Kerberos 認証が実行され、有効な資格情報を持たないユーザーは拒否されます。ただし、次の点がわかりません。
最初のリクエストが行われると、TGS はクライアントの /tmp/krb5ccXXXX にキャッシュされますが、ネットワーク キャプチャにより、firefox がすべての接続に対して TGS をリクエストすることが明らかになりました。サービス チケットがキャッシュされているのに、他のリクエストに再利用されないのはなぜですか? すべての接続は次のとおりです。
クライアント = GET index.html => サーバー
クライアント <= 401 認証が必要 = サーバー
クライアント = TGS-REQ => KDC
...
クライアント <= TGS-REP = KDC
クライアント = GET index.html + kerberos ペイロード => サーバー
クライアント < = 200 OK = サーバー
Konqueror は期待どおりに動作するため、これは構成の問題ではありません。
何か案は ?
前もって感謝します。
PS: これは GET リクエストではそれほど大きな問題ではありませんが、フォームベースのアップロード (POST) データがサーバーに 2 回送信されないように注意してください !!
asp.net - ASP.Net で Kerberos (Apple Open Directory) サーバーに対して認証する方法
この作業では、Apple Open Directory サーバーを実装しました。全員のユーザー名とパスワードを保存し、LDAP と Kerberos を実装します。私は、すべての ASP.Net Web アプリケーションを認証するように構成する任務を負っています。これにより、ユーザーは Open Directory のユーザー名とパスワードを使用して ASP.Net アプリケーションにログインできるようになります。
IIS と ASP.Net を除いて、mod_auth_kerb のようなものが必要で、フォームベースの認証を使用したいと考えています。
これは可能ですか?
asp.net - 偽装と委任を使用して SQL Server に接続しようとする ASP.Net Web アプリケーション
認証されたユーザーの資格情報を SQL Server に渡すために、イントラネット ASP.Net Web アプリで偽装と委任を使用しようとしています。
Web サーバーと SQL サーバーは 2 つの別個のマシンですが、同じドメイン内にあるため、委任が必要です。
私は次のことをしました:
- 私のWebアプリのweb.configに設定
<authentication mode="Windows"/>
してください。<identity impersonate="true"/>
- Active Directory で、Web サーバーから SQL Server 上の MSSQLSvc サービスへの制約付き委任を有効にしました。
- IIS を介して、Web サイトで Windows 認証のみを有効にしました。
どうやらこれはすべて機能するはずですが、機能しません (SQL Server が匿名ユーザーへのアクセスを拒否しています - 「ユーザー 'NT AUTHORITY\ANONYMOUS LOGON' のログインに失敗しました」)。
IIS7 では、アプリケーション プールは統合パイプライン モードを使用するように設定され、NetworkService ID で実行されます。Web サイトでは、Windows 認証のみが有効になっており、拡張保護がオフになっており、カーネルモード認証が有効になっており、プロバイダーは NTLM です。
私が読んだすべての Web ページは、私のセットアップが機能するはずであることを示しているようです。私は何が欠けていますか?
authentication - サーバーが使用している認証の種類を確認するにはどうすればよいですか?
http://someserverで Web サーバーにアクセスする必要があり、認証が必要です。NTLM、Kerberos、またはその他のものを使用しているかどうかを確認するにはどうすればよいですか?
iis-7 - IIS7Windows2008サーバーでの従来のASP偽装の問題
IIS7(webadmin)上のWindows 2008 sererで実行されている従来のaspサイトからサーバー(web05)上のファイルに書き込もうとしています。これは失敗し、web05は保存操作の過程で匿名ログオンの試行をログに記録します。
Webadminのサイトは、プロセスアカウントとしてドメインユーザーを使用して、クラシックモードのアプリプールで実行されています。プロセスアカウントには、「このユーザーを任意のサービスへの委任について信頼する(Kerberosのみ)」という権限があります。同じことがweb05サーバーとwebadminサーバーにも当てはまります。
このサイトはWindows認証を使用しており、ドメインユーザーを使用してサイトにログオンする場合、ユーザーの権限によって、IISサイトのコンテキストで実行できる操作を定義する必要があります。基本認証をオンにすると、すべてが正常に機能します。
また、setspn.exeを使用してURLのSPNを追加しました。setspn.exe -L webadminと入力すると、次のようになります。
したがって、私が理解していることから、SPNは正しく設定されています。
保存操作の実行中にwebadminでprocessmonitorを実行すると、プロセスが実際にドメインユーザーになりすましていると表示されますが、「アクセスが拒否されました」(前に述べたように、web05は匿名ログオンの試行をログに記録します)。
これを引き起こす原因は何ですか?
よろしく、サイモン
firefox - Kerberos トークンを送信するように Firefox 3.0.x を構成する
Firefox 3.0.14 に Kerberos トークンを送信するよう説得しようとしています。私はサービスを正しく構成し、IE は Kerberos トークンを送信します (つまり、YI を開始します..)。 :config、Firefox は NTLM トークンのみを送信します。Live Headers からの (省略された) 出力は次のとおりです。
サーバーへ ->
<- サーバーから
サーバーへ ->
<- サーバーから
サーバーは Kerberos トークン、つまり YI で始まるトークンのみに関心があるため、2 番目のリクエストで Unauthorized を発行し、その時点で Firefox はあきらめます。
Windows 2003 を使用しています。
J
java - Javaでサーバーに対してKerberosチケットを検証する方法は?
JAAS を使用して、Windows Kerberos チケット キャッシュを使用する Java アプリケーションでシングル サインオンを有効にしています。jaas.conf 構成ファイルは次のようになります。
これにより、Jaas LoginContext を作成し、ユーザーの Kerberos チケットを正常に取得できます。このチケットを JMI を使用してサーバー アプリケーションに送信します。ただし、Kerberos チケットが実際に Active Directory によって作成されたものであることをサーバー上で確認することはできません。
現時点では、サーバー プリンシパル (KerberosTicket.getServer()) 名のレルム部分にドメイン名が含まれているかどうかを確認するだけで、非常に安全でないチケットの検証を行っています。しかしもちろん、誰でも同じレルム名で独自の Kerberos サーバーをセットアップし、そのチケットを使用してアプリケーションを開始することができます。
私が見つけたアイデアの 1 つは、Kerberos チケットを使用して Active Directory LDAP に対して認証することでした。残念ながら、Windows 7 を使用しており、Kerberos チケットを再利用して LDAP に対して認証する方法は、レジストリ エントリを設定する場合にのみ機能します ( http://java.sun.com/j2se/1.5.0/docs/guide/security/jgssを参照)。 /tutorials/Troubleshooting.htmlで allowtgtsessionkey を検索します)。これはユーザーにとって受け入れがたいことです。
Active Directory サーバーに対してチケットを検証する方法はありますか? KerberosTicket.getServer() チケットがサーバーのチケットと等しいかどうかを確認する方法があると思いますが、その方法がわかりません。更新: KerberosTicket().getServer() は、サーバー チケット名とレルムのみを含む KerberosPrincipal のみを返すため、検証には適していません。
助けてくれてありがとう、メミンガー
c# - プログラムで Kerberos チケット キャッシュをクリアする方法
管理された\ unmanaegdコードを使用して、ローカルコンピューター上のKerberosチケットキャッシュをクリアする方法を知っている人はいますか?
前もって感謝します!