18

(以前に同様の質問がありましたが、質問と受け入れられた回答の両方が、私が探している詳細を提供していません)

専用のドメインアカウントでasmxWebサービスを実行することを目的として、ドメインアカウントと偽装のIDでアプリケーションプールを使用する場合の使用シナリオおよび/または長所と短所は何ですか?

比較的低い負荷で実行される3つの小さな内部Webサービスがあり、それらを独自のドメインアカウントで実行するように切り替えたいと考えています(SQL Serverとの統合セキュリティなどの目的で)。アプリケーションごとに専用のアプリプールを作成するか、すべてのアプリケーションに単一のアプリプールを使用して、それぞれに偽装を使用するかを選択できるようです。

アプリプールがワーカープロセスの分離を提供し、偽装を使用する際のパフォーマンスに関する考慮事項があることを理解していますが、他に何が正しいオプションを指示するのでしょうか?

4

5 に答える 5

10

通常、特定のアクセス許可を必要とするローカル/ネットワーク リソースにアクセスする必要があるため、ワーカー プロセスに別の ID を選択します (または ASP.NET の偽装を行います)。明らかな欠点は、アプリケーション コードが必要以上の権限で実行される可能性があり、それによって悪意のある攻撃に対する脆弱性が高まることです。

ASP.NET の偽装では、要求ごとにユーザー コンテキストを切り替える必要があるため、オーバーヘッドが大きくなります。個別のアプリ プール アプローチを使用することをお勧めします。アプリ プール アプローチの唯一の欠点は、それぞれにプロセスがあるため、プロセスごとに (OS の観点から) オーバーヘッドが発生することです。アプリケーションが小さく、メモリの要求が高くない場合、これは問題になりません。

于 2011-04-29T07:47:42.600 に答える
4

Web サービスを Windows 認証経由で SQL に接続する場合は、ほぼ確実に、専用のアプリ プール オプションを使用して各アプリケーションをセットアップする必要があります。これにより、最小限のセットアップと管理が必要になります。

偽装ルートを使用する場合は、「2 ホップ」の問題を考慮する必要があります。ユーザーが偽装を使用している Web サービスを呼び出すと、Web サービスはそのユーザーとしてローカルリソースにアクセスできます。ただし、Web サービスがローカル以外のリソース (別のサーバーで実行されているデータベースなど) に接続しようとすると、結果は認証エラーになります。その理由は、NTLM により、資格情報が複数の「ホップ」を作成することが防止されるためです。これを回避するには、Kerberos 委任を使用する必要があります。委任の設定は難しくありませんが、ドメイン管理者権限が必要なため、一部の企業環境では難しい場合があります。

さらに、偽装を使用すると、Web サービスにアクセスする可能性のある各ユーザーのデータベース権限を管理する必要があります。データベース ロールと AD グループの組み合わせは、これを簡素化するのに大いに役立ちますが、実行したくない追加の管理手順です。また、特定のユーザーが、Web サービスが予想しているよりも大きな権限を持つことになる可能性があるため、セキュリティ リスクの可能性もあります。

于 2011-05-10T06:18:50.053 に答える
2

偽装は、Windows セキュリティに基づく他の Windows サービスと共通のエンド ユーザー エクスペリエンスが必要な場合に役立ちます。

たとえば、Microsoft SharePoint サーバーは、Web ブラウザーと標準の Windows 共有 UI ( SMBプロトコル に基づくネットワーク共有への接続/切断) を使用してSharePoint ドキュメント ライブラリにアクセスできるため、偽装を使用します。この 2 つの間でセキュリティの一貫性を確保するには、偽装が必要です。

この種のシナリオ以外では、ほとんどの場合、偽装は役に立ちません (ただし、スケーラビリティの点で多くのコストがかかる可能性があります)。

于 2011-05-05T06:45:32.493 に答える
2

アプリケーション プールの利点:

何が起こっているのかを理解するために、.Net プログラマである必要はありません。

セキュリティの側面はプログラマーの領域を離れ、インフラストラクチャーの権限に該当します

アプリケーション プールの設定時にユーザー名が正しいことを適切に確認することで、IIS を介して簡単に変更できます。つまり、間違ったユーザー名を入力することはできません。

なりすましの長所:

  1. 構成ファイルがソース管理履歴に保存されている場合、特権を文書化し、ソース管理履歴を介して構成への変更を追跡できます。

なりすましの短所:

  1. ユーザーを変更するには、Web サイトをセットアップするだけでなく、.Net 構成に精通している必要があります。

他に多くのことを考えることができるかどうかはわかりません。

私の直感では、Web サイトごとに異なるアプリケーション プールを使用するように言われていますが、それはあなた次第です。

于 2011-05-06T16:40:14.857 に答える
0

セキュリティの詳細については、次のページを確認することをお勧めします...

https://www.attosol.com/sample-aspx-page-to-show-security-details-in-asp-net/

これが完了すると、なりすましがアイデンティティをどのように変更するかを「正確に」確認できます。

于 2011-05-06T09:33:35.970 に答える