問題タブ [impersonation]
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.
c# - C# からの Windows 偽装
LocalSystem として実行されている C# プログラムは、一時的に別のユーザーのログイン ID になりすますことができますか? 大まかに言えば、LocalSystem として実行したい Windows サービスがありますが、ユーザー XYZ になりすますことがあります (Windows 統合セキュリティを使用してデータベースに接続する場合)。
最も重要なこと: 他のユーザーのパスワードを知らずにこれを行う方法はありますか?
注: パスワードが必須の場合、パスワードを安全に保存するための推奨される戦略はありますか (c# および/または vbscript)。
sql-server - Windows 認証ユーザー名が 2 つのサーバー間で機能 (フロー) できるようにするものは何ですか?
一般的な ISP のセットアップ。1 つのサーバーは Web サーバーで、もう 1 つは DB SQL サーバーです。両方のマシンで作成されたローカル管理者アカウント (XYZ としましょう) があります。したがって、リモートでログインすると、ログインする場所に応じて、WebServer\XYZ または DBServer\XYZ になります。
ここで、Windows 認証を使用して DBServer 上の SQL Server SSMS にログインし、「SELECT SUSER_NAME()」を実行すると、DBServer\XYZ が取得されます。私がそれらの資格情報でログインしたという事実を拾っているので、それは理にかなっています.
次に、WebServer に移動します。リモートで WebServer\XYZ としてログインします。そこに SQL クライアント コンポーネントをインストールしました。SSMS を起動し、DBServer を選択し、Windows 認証でログインし、「SELECT SUSER_NAME()」を実行すると、WebServer\XYZ と想定する代わりに、DBSERVER\XYZ を取得します。
どういうわけか、WebServer の XYZ は DBServer の XYZ になります。何故ですか?それはどのように起こりますか?きっと、たまたま名前が同じだからじゃないの?
信頼できるドメインについて聞いたことがありますが、どちらのマシンもドメイン コントローラーではないため、その情報にアクセスできません。GUI ツールを使用せずに、信頼できるかどうかを確認するにはどうすればよいですか?
私が質問する理由は、(Virtual PC を使用して) XP ラップトップに同じことを実装しようとしているため、実稼働環境を模倣することができますが、運が悪いからです。
c# - この zip ファイルにデバッグ モードでしかアクセスできないのはなぜですか?
私にはあまり意味のない問題があります。デバッグ モードでは完全に動作する ASP.NET アプリケーションがありますが、通常の実行時に Access Denied エラーがスローされます。ASPNET アカウントと、Web アプリケーションが呼び出すファイルに対するフル コントロール権限をアプリケーションが偽装するアカウント (Process オブジェクトを使用) を指定しました。
エラーをスローするファイルはzipファイルにあり、実行中のプロセスはzipファイル以外の場所を検索しないと判断しました。しかし、zipファイルを解凍するまで、その内容にアクセス許可を設定できないようです. これは他の人にとって意味がありますか?そして、誰かが解決策を知っていますか?
c++ - リモート コンピューターから有効なトークンを取得することは可能ですか?
リモート コンピューターで au/p になりすますことはできますか?
理想的には、リモート コンピューターへのログインから取得するトークンを使用してImpersonateLoggedOnUserを呼び出したいと考えています。
wnet 関数を使用して有効な接続を確立できることは知っていますが、なりすましについては知りません。
iis - IIS で偽装された資格情報をアプリ プールの資格情報に昇格させる
IIS のアプリケーションで偽装を使用しています。ファイル システムにファイルを書き込む必要がありますが、この 1 つのケースでは、偽装されたユーザーの資格情報を使用したくありません。アプリ プールの資格情報を使用する必要があります。
ワーカー プロセスの資格情報を、偽装された資格情報からアプリ プールの資格情報に一時的に昇格させるにはどうすればよいですか?
asp.net - ADSI/IIS の管理と ASP.NET の偽装
ネットワーク上のさまざまなサーバーにインストールされている複数の IIS を管理できる小さな Web アプリケーションを作成中です。ドメインコントローラーはありません。
win32 API とその LogonUser メソッドを使用する小さな偽装コントローラーを作成しました。次に、System.DirectoryServices と IIS ADSI プロバイダーを使用して、新しいサイトを作成します。
次のルーチンがあります (読みやすくするために、いくつかの値を平文の文字列と交換しています)。
このルーチンは、Web アプリがホストされているサーバー (SRV6) を使用すると機能します。新しいサイトが作成されます。
たとえば、ネットワーク上の別のサーバー (ドメインなし) で SRV5 を使用すると、ImpersonateValidUser が機能し、DirectoryEntry が作成されますが、w3svc.Invoke は次のエラーで失敗します。
[COMException (0x80070005): アクセスが拒否されました]
...
どうすればこれを解決できるか知っている人はいますか?
c# - サーバー上の WCF サービスへの接続に関する問題
独自のワークグループにあるサーバーに WCF サービスをセットアップしました。企業ドメインに存在するクライアントから TCP/IP 接続を確立しようとしました。接続を開こうとすると、次のメッセージとともに SecurityNegotiationException が発生します。
「認証中にリモート側のセキュリティ要件が満たされませんでした。ProtectionLevel および/または ImpersonationLevel を増やしてみてください。」内部例外の読み取り:「ネットワーク ログオンに失敗しました」
この問題について何人かの同僚と話し、Google で調査を行った結果、問題は、クライアントが企業ネットワークのログインとパスワードを使用してサーバーにログオンしようとしていることにあるという結論に達しました。サーバーは企業ネットワークの一部ではないため、私の企業 ID を認識せず、ログイン/接続試行を拒否します。この分析が正しいかどうか、私にはわかりません。
Google の結果によると、おそらく解決策は、サーバー マシンに存在するユーザー アカウントを偽装する必要があることです。-- また、ユーザーのなりすましを示すこの codeproject の記事も偶然見つけました。サーバー上の唯一のアカウントはパスワードのない管理者であるため、コンピューターの IP アドレスとしてドメインを「10.0.0.11」、ユーザー名を「管理者」、パスワードを「」としてみました。 http://www.codeproject.com/KB/dotnet/UserImpersonationInNET.aspx?display=Print 残念ながら、次のメッセージで失敗します。
「ログオン失敗: 不明なユーザー名または間違ったパスワード」
問題に対するもう 1 つのヒント: クライアントとサーバーが両方とも企業ネットワーク上のマシンである場合、接続の問題はまったくありません。
エラーを解決してサーバーへの接続を完了するにはどうすればよいですか? ベストプラクティスではありませんが、セキュリティを削除しても問題ないので、このプロジェクトを前進させ続けることができます
sharepoint - 特定のユーザーのお知らせリストに要素を追加する
別のデータベースのデータに基づいて多数のアナウンスを作成するよう顧客から要求されました。ほとんどは簡単に思えますが、新しい要素は入力データで指定されたユーザー (ログイン) によって作成される必要があります。リスト Web サービスを使用してお知らせを追加する予定でしたが、ユーザーの作成権限を取得するために偽装を使用することは避けたいと思います。なりすましを使用せずに正しいユーザーを作成者として割り当てる方法はありますか?
sql - WCF の偽装と SQL の信頼できる接続?
IIS7 でホストされているサービスがあります。SQL サーバーの接続文字列は Trusted に設定されています。認証を行うには、サービスで偽装をセットアップし、クライアントに偽装接続を開始させる必要があります。
偽装を設定せずに、サービスが信頼できる接続を介して SQL サーバーにログインできるようにする方法はありますか? クライアントがサービスにログインすることは避けたいと考えています。彼らがプロキシとして何を使用するのかはわかりません。クライアントから SQL サーバーへのサービスというよりも、SQL サーバーとのサービス レベル アグリーメントのようなものだと思います。
何かご意見は?
ありがとう