[解決済み】IIS/ASP.NETのすべてのユーザーアカウントとその違いについて教えてください。
質問
ASP.NET 4.0をインストールしたWindows Server 2008では、関連するユーザーアカウントが多数あり、どれがどれで、どう違うのか、また、私のアプリケーションが本当に実行されるのはどれなのか、理解できません。以下はその一覧です。
- IIS_IUSRS
- IUSR
- デフォルトのAppPool
- ASP.NET v4.0
- ネットワークサービス
- LOCAL SERVICE(ローカルサービス)。
何のことですか?
解決方法は?
これは非常に良い質問です。悲しいことに、多くの開発者は、Web開発者であることとIISを設定することの関連で、IIS/ASP.NETセキュリティについて十分な質問をしていないのが現状です。そこで、ここで....
記載されているIDを網羅すること。
IIS_IUSRS:
これは、昔のIIS6になぞらえたものです。
IIS_WPG
というグループがあります。これは組み込みのグループで、このグループの任意のメンバーがアプリケーションプールのIDとして動作できるようにセキュリティが設定されています。
IUSR:
このアカウントは、昔の
IUSR_<MACHINE_NAME>
ローカルアカウントは、IIS5 および IIS6 ウェブサイトのデフォルトの匿名ユーザー (つまり、サイトのプロパティの Directory Security タブで設定されたもの) でした。
の詳細については
IIS_IUSRS
と
IUSR
をご覧ください。
DefaultAppPool:
アプリケーションプールがアプリケーションプールアイデンティティ機能を使用して実行されるように構成されている場合、quot; synthesised" という名前のアカウントが使用されます。
IIS AppPool\<pool name>
は、プール ID として使用するためにその場で作成されます。この場合、合成されたアカウントとして
IIS AppPool\DefaultAppPool
プールの存続期間中、作成されます。プールを削除すると、このアカウントは存在しなくなる。ファイルやフォルダーにパーミッションを適用する場合、これらは
IIS AppPool\<pool name>
. また、これらのプールアカウントは、コンピュータのユーザーマネージャにも表示されません。詳細については、以下を参照してください。
ASP.NET v4.0:
-
ASP.NET v4.0アプリケーションプールのアプリケーションプールアイデンティティとなります。参照
DefaultAppPool
上記の
NETWORK SERVICE:
-
は
NETWORK SERVICE
アカウントは、Windows 2003 で導入された組み込みの ID です。
NETWORK SERVICE
は、アプリケーションプールやWebサイトを実行するための低権限のアカウントです。Windows 2003プールで動作するWebサイトは、サイトの匿名アカウント(IUSR_または匿名IDとして設定したもの)になりすますことができます。
Windows 2008 より前の ASP.NET では、ASP.NET にアプリケーション プール アカウント (通常、.NET) で要求を実行させることができました。
NETWORK SERVICE
). あるいは、ASP.NET がサイトの匿名アカウントになりすますように
<identity impersonate="true" />
の設定は
web.config
ファイルをローカルに作成する必要があります (その設定がロックされている場合は、管理者が
machine.config
ファイル)。
設定方法
<identity impersonate="true">
は、共有アプリケーションプールを使用する共有ホスティング環境で一般的です (なりすましアカウントの解除を防止するための部分的な信頼設定と併用します)。
IIS7.x/ASP.NETでは、サイトの認証設定機能でなりすまし制御が設定されるようになりました。そのため、プールIDとして実行するように設定することができます。
IUSR
または特定のカスタム匿名アカウント。
LOCAL SERVICE:
は
LOCAL SERVICE
アカウントは、サービス・コントロール・マネージャが使用する組み込みのアカウントです。このアカウントは、ローカルコンピューター上で最小限の権限しか持ちません。使用範囲はかなり限定されています。
LOCAL SYSTEM:
これは質問されませんでしたが、念のため追加しておきます。これはローカルの組み込みアカウントです。かなり広範な権限と信頼性を持っています。WebサイトやアプリケーションプールをこのIDで実行するように設定するべきではありません。
実際に使ってみて
実際には、Webサイトを保護するための好ましいアプローチは、(サイトが独自のアプリケーションプールを取得する場合 - IIS7のMMCで新しいサイトのデフォルトである)以下のように実行されます。
Application Pool Identity
. これは、アプリケーションプールの詳細設定にあるサイトのIDを、以下のように設定することを意味する。
Application Pool Identity
:
次に、WebサイトでAuthentication機能を設定する必要があります。
右クリックし、「Anonymous Authentication」の項目を編集します。
確保すること アプリケーション・プール・アイデンティティ" が選択されています。
ファイルおよびフォルダーのパーミッションを適用する場合、アプリケーションプールのIDに必要なすべての権限を付与します。たとえば、アプリケーション・プールの ID を
ASP.NET v4.0
のプールパーミッションは、エクスプローラから実行することができます。
Check Names"ボタンをクリックします。
または
ICACLS.EXE
ユーティリティを使用します。
icacls c:\wwwrootmysite /grant "IIS AppPoolASP.NET v4.0":(CI)(OI)(M)
...または...サイトのアプリケーションプールが
BobsCatPicBlog
であれば
icacls c:\wwwrootmysite /grant "IIS AppPoolBobsCatPicBlog":(CI)(OI)(M)
これですっきりしたかと思います。
更新しました。
2009年の回答で、有用な情報がたくさん含まれている、この素晴らしい回答に出会いました。
<ブロッククオート関連
-
[解決済み] vti_cnf」「_vti_pvt」「_vti_script」「_vti_txt」フォルダは何ですか?
-
[解決済み] .Net Framework: w3wp.exe で例外が発生しました。
-
[解決済み] IISReset』とは何ですか?
-
[解決済み] ローカルシステムアカウントでCMD.exeを実行する方法を教えてください。
-
[解決済み] 後で平文を取り出すためのユーザーパスワードの保管について、倫理的にどのように取り組むべきでしょうか?
-
[解決済み] JWTは解読できても、安全性はどうなのか?
-
[解決済み] IISのAppPoolIdentityとファイルシステムの書き込みアクセス権
-
[解決済み] [Solved] User 'IIS APPPOOLASP.NET v4.0'のログインに失敗しました。
-
[解決済み】「ローカルシステム」アカウントと「ネットワークサービス」アカウントの違い?
-
[解決済み] IIS8におけるIIS_IUSRSとIUSRのパーミッションについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー :リモートサーバーがエラーを返しました。(401) Unauthorized
-
[解決済み] System.Web.HttpException (0x80004005) のトラブルシューティング方法です。ファイルが存在しません" のトラブルシューティングは?
-
[解決済み] ASP.NETのボタンに画像を追加することはできますか?
-
[解決済み] HttpContext.Current.Cacheはすべてのセッションで利用可能か?
-
[解決済み] Response.Redirect()を呼び出すと「Cannot redirect after HTTP headers have been sent」と表示されるのですが、なぜでしょうか?
-
$.ajax access backend 500 (Internal Server Error)
-
[解決済み] asp.netのページでInvalid viewstateエラーが発生する。
-
[解決済み] Url.Actionのパラメータ?
-
[解決済み] System.OutOfMemoryException' タイプの例外が発生しました。
-
[解決済み】「ローカルシステム」アカウントと「ネットワークサービス」アカウントの違い?