(同様の静脈の質問がされました 前 しかし質問と受け入れられた答えの両方が私が探している詳細を提供しません)
専用ドメインアカウントでasmxWebサービスを実行する目的で、使用シナリオとは何ですか? /またはドメインアカウントのIDと偽装を使用してアプリケーションプールを使用することの長所と短所?
比較的低い負荷で実行される3つの小さな内部Webサービスがあり、それらを独自のドメインアカウントで実行するように切り替えたいと考えています(SQL Serverとの統合セキュリティの目的など)。アプリケーションごとに専用のアプリプールを作成するか、すべてのアプリケーションに単一のアプリプールを用意して、それぞれに偽装を使用するかを選択できるようです。
アプリプールがワーカープロセスの分離を提供し、偽装を使用する際のパフォーマンスに関する考慮事項があることを理解していますが、他に何が正しいオプションを指示するのでしょうか?
通常、特定のアクセス許可を必要とするローカル/ネットワークリソースにアクセスする必要があるため、ワーカープロセスに異なるIDを選択します(またはASP.NETの偽装を行います)。明らかな欠点は、アプリケーションコードが必要以上の権限で実行される可能性があるため、悪意のある攻撃に対する脆弱性が高まることです。
ASP.NETの偽装では、要求ごとにユーザーコンテキストを切り替える必要があるため、オーバーヘッドが大きくなります。個別のアプリプールアプローチを使用することをお勧めします。アプリプールアプローチの唯一の欠点は、それぞれにプロセスがあるため、プロセスごとに(OSの観点から)オーバーヘッドが発生することです。アプリケーションが小さく、強いメモリ需要がない場合、これは問題にはならないはずです。
WebサービスをWindows認証を介してSQLに接続する場合は、ほぼ確実に、専用のアプリプールオプションを使用して各アプリケーションをセットアップする必要があります。これには、最小限のセットアップと管理が必要です。
なりすましルートを使用する場合は、「2ホップ」の問題を考慮する必要があります。ユーザーが偽装を使用しているWebサービスを呼び出すと、Webサービスはそのユーザーとしてlocalリソースにアクセスできます。ただし、Webサービスが非ローカルリソース(別のサーバーで実行されているデータベースなど)に接続しようとすると、認証エラーが発生します。その理由は、NTLMにより、資格情報が複数の「ホップ」を作成できないようにするためです。これを回避するには、Kerberos委任を使用する必要があります。委任の設定は難しくありませんが、ドメイン管理者権限が必要であるため、一部の企業環境では問題が発生する可能性があります。
さらに、偽装を使用するということは、Webサービスにアクセスする可能性のある各ユーザーのデータベース権限を管理する必要があることを意味します。データベースの役割とADグループの組み合わせは、これを単純化するのに大いに役立ちますが、実行したくない追加の管理手順です。また、特定のユーザーがWebサービスの予想よりも高い特権を取得する可能性があるため、セキュリティリスクの可能性もあります。
アプリケーションプールの長所:
何が起こっているのかを理解するために、.Netプログラマーである必要はありません。
セキュリティの側面はプログラマーの領域を離れ、インフラストラクチャの権限に該当します
IIS適切な安全対策を講じれば、アプリプールの設定時にユーザー名が正しいかどうかを簡単に確認できます。つまり、間違ったユーザー名を入力することはできません。
なりすましの長所:
なりすましの短所:
他にもたくさん考えられるかわかりません。
私の直感では、Webサイトごとに異なるアプリケーションプールを使用するように言っていますが、それはあなたのパーティーです。
偽装は、Windowsセキュリティに基づく他のWindowsサービスとの共通のエンドユーザーエクスペリエンスが必要な場合に役立ちます。
たとえば、Microsoft SharePointサーバーは偽装を使用します。これは、Webブラウザーおよびを使用して標準のWindows共有UI(ネットワークへの接続/切断)を使用してSharePointドキュメントライブラリにアクセスできるためです。 [〜#〜] smb [〜#〜] プロトコルに基づく共有。 2つの間でセキュリティの一貫性を確保するには、この場合、なりすましが必要です。
この種のシナリオを除いて、なりすましはほとんどの場合役に立ちません(ただし、スケーラビリティの点で多くのコストがかかる可能性があります)
セキュリティの詳細については、次のページを確認することをお勧めします...
https://www.attosol.com/sample-aspx-page-to-show-security-details-in-asp-net/
これが完了すると、なりすましによってIDがどのように変化するかが「正確に」わかります。