IISのIUSRおよびIWAMアカウントは何ですか?


23

ホスティング環境をより適切に構成するために、IISで使用されるIUSRおよびIWAMアカウントの適切な説明を探しています。

  • なぜそこにいるのですか?
  • それらの違いは何ですか?
  • 名前は意味のあるものを表していますか?
  • 行うべきベストプラクティスの変更はありますか?
  • IISには、アプリケーションプールをネットワークサービス、ローカルサービス、またはローカルシステムとして実行するオプションもあります。したほうがいい?
  • 私のWebサーバーはドメインの一部ですが、これにより状況はどのように変わりますか?

サーバーに複数のサイトを展開するときにこれらのアカウントの独自のバージョンを作成することは一般的であるように思われます。

  • いつ自分のIUSRおよびIWAMアカウントを作成したいですか?
  • これらの追加のアカウントを作成して、正しいアクセス許可を与えるにはどうすればよいですか?

私は、IIS 6とIIS 7の両方をほとんどデフォルトの構成で使用しています。

回答:


33

IUSRとIWAMは、IISを(OSコンポーネントとしてではなく)個別にインストールした非常に初期の時代に遡ります。デフォルトでは、Webサイトが匿名認証を許可している場合、OSの権限に関してIUSRアカウントが使用されます。これはデフォルトから変更できます。少なくともアカウントの名前を変更するためのセキュリティ上の推奨事項があるため、サーバー上の管理者アカウントの名前を変更することを推奨するように、「既知の」アカウントではありません。IUSRと認証の詳細については、MSDNをご覧ください。

IWAMは、アウトプロセスアプリケーション用に設計されており、IIS 5.0分離モードの場合にのみIIS 6.0で使用されます。通常、COM / DCOMオブジェクトで見ました。

アプリケーションプールIDに関しては、デフォルトではネットワークサービスとして実行されます。そのアカウントには管理者の権限よりも大きい権限があるため、ローカルシステムとして実行しないでください。したがって、基本的には、ネットワークサービス、ローカルサービス、またはこれら2つ以外のローカル/ドメインアカウントになります。

何をすべきかは、それによって異なります。ネットワークサービスとして残すことの利点の1つは、サーバー上の特権アカウントが制限されることです。ただし、ネットワーク経由でリソースにアクセスすると、Domain \ ComputerName $として表示されます。つまり、ネットワークサービスアカウントが別のボックスで実行されているSQL Serverなどのリソースにアクセスできるアクセス許可を割り当てることができます。また、コンピューターアカウントとして表示されるため、Kerberos認証を有効にすると、サーバー名でWebサイトにアクセスしている場合はSPNが既に配置されています。

WebベースのアプリケーションのSQL Serverにアクセスするサービスアカウントなど、ネットワークリソースにアクセスする特定のアカウントが必要な場合に、アプリケーションプールを特定のWindowsドメインアカウントに変更することを検討する場合。ASP.NETには、アプリケーションプールIDを変更せずにこれを行うためのその他のオプションがあるため、これはもはや厳密には必要ありません。ドメインユーザーアカウントの使用を検討するもう1つの理由は、Kerberos認証を行っていて、Webアプリケーションにサービスを提供する複数のWebサーバーがあったことです。良い例は、SQL Server Reporting Servicesを提供する2つ以上のWebサーバーがある場合です。フロントエンドは、おそらくreports.mydomain.comやreporting.mydomain.comなどの汎用URLになります。その場合、SPNはAD内の1つのアカウントにのみ適用できます。各サーバーのネットワークサービスでアプリプールを実行している場合、サーバーを離れるとDomain \ ComputerName $として表示されるため、機能しません。アプリ。解決策は、ドメインアカウントを作成し、すべてのサーバーのアプリプールIDを同じドメインユーザーアカウントに設定し、1つのSPNを作成して、Kerberos認証を許可することです。ユーザー資格情報をバックエンドデータベースサーバーに渡すことができるSSRSなどのアプリの場合、Kerberos委任を構成する必要があるため、Kerberos認証が必要です。dは、アプリを提供しているサーバーと同じ数のアカウントを持っています。解決策は、ドメインアカウントを作成し、すべてのサーバーのアプリプールIDを同じドメインユーザーアカウントに設定し、1つのSPNを作成して、Kerberos認証を許可することです。ユーザー資格情報をバックエンドデータベースサーバーに渡すことができるSSRSなどのアプリの場合、Kerberos委任を構成する必要があるため、Kerberos認証が必要です。dは、アプリを提供しているサーバーと同じ数のアカウントを持っています。解決策は、ドメインアカウントを作成し、すべてのサーバーのアプリプールIDを同じドメインユーザーアカウントに設定し、1つのSPNを作成して、Kerberos認証を許可することです。ユーザー資格情報をバックエンドデータベースサーバーに渡すことができるSSRSなどのアプリの場合、Kerberos委任を構成する必要があるため、Kerberos認証が必要です。

私はそれを取り入れることがたくさんあることを知っていますが、簡単な答えは、ローカルシステムを除いて、それは依存します。


これらのアカウントの名前を変更するための推奨事項はMicrosoftからのものではないことに注意してください。システムアカウントには静的で十分に文書化されたSIDがあり、表示名に関係なく簡単にハッキングできます。
トーマス

9

IUSR =インターネットユーザー、つまり、匿名で認証されていないWebサイトへの訪問者(つまり、ほぼ全員)

IWAM =インターネットWebアプリケーションマネージャー。つまり、すべてのASPおよび.NETアプリケーションはこのアカウントで実行されます。

一般に、IUSRとIWAMは、必要なものだけに正確にアクセスできる必要があります。これらのアカウントが危険にさらされた場合、重要なものにはアクセスできなくなります。

あなたの質問リストのうち、私がお手伝いできることはこれですべてです。IIS管理の経験が豊富な人があなたをさらに支援できるかもしれません。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.