我正在寻找 IIS 使用的 IUSR 和 IWAM 帐户的一个很好的解释,以帮助我更好地配置我们的托管环境:
- 他们为什么在那里?
- 他们之间有什么区别?
- 这些名字是否代表有意义的东西?
- 我应该做出任何最佳实践更改吗?
- IIS 还为我提供了将应用程序池作为网络服务、本地服务或本地系统运行的选项。我是不是该?
- 我的网络服务器是域的一部分,这会如何改变?
在将多个站点部署到服务器时,创建自己的这些帐户版本似乎很常见,这会引发一些额外的问题:
- 我什么时候可以创建自己的 IUSR 和 IWAM 帐户?
- 我应该如何创建这些额外的帐户,以便他们拥有正确的权限?
我同时使用 IIS 6 和 IIS 7,大部分都是默认配置。
IUSR 和 IWAM 可以追溯到 IIS 的早期,当时您单独安装它(而不是作为操作系统组件)。默认情况下,如果网站允许匿名身份验证,则在操作系统权限方面使用 IUSR 帐户。这可以从默认值更改。有一些安全建议至少要重命名帐户,因此它不是“已知”帐户,就像有建议重命名服务器上的管理员帐户一样。您可以在 MSDN 了解有关IUSR 和身份验证的更多信息。
IWAM 专为任何进程外应用程序而设计,仅当您处于 IIS 5.0 隔离模式时才在 IIS 6.0 中使用。您通常在 COM/DCOM 对象中看到它。
对于应用程序池标识,默认设置为作为网络服务运行。您不应作为本地系统运行,因为该帐户的权限高于管理员的权限。因此,这基本上将您留给网络服务、本地服务或这两个以外的本地/域帐户。
至于怎么做,就看情况了。将其保留为网络服务的一个优点是这是服务器上的有限权限帐户。但是,当它通过网络访问资源时,它会显示为 Domain\ComputerName$,这意味着您可以分配允许网络服务帐户访问资源的权限,例如在不同机器上运行的 SQL Server。此外,由于它显示为计算机帐户,如果启用 Kerberos 身份验证,则如果您通过服务器名称访问网站,则 SPN 已经存在。
如果您希望特定帐户访问网络资源(例如访问基于 Web 的应用程序的 SQL Server 的服务帐户),您会考虑将应用程序池更改为特定 Windows 域帐户的情况。ASP.NET 中还有其他选项可以在不更改应用程序池标识的情况下执行此操作,因此不再严格要求这样做。您考虑使用域用户帐户的另一个原因是您正在执行 Kerberos 身份验证,并且您有多个 Web 服务器为 Web 应用程序提供服务。一个很好的例子是,如果您有两个或多个 Web 服务器为 SQL Server Reporting Services 提供服务。前端可能会指向一个通用的 url,例如reports.mydomain.com 或reporting.mydomain.com。在这种情况下,SPN 只能应用于 AD 中的一个帐户。如果您在每台服务器上的网络服务下运行应用程序池,那将无法正常工作,因为当它们离开服务器时,它们会显示为 Domain\ComputerName$,这意味着您拥有的帐户数量与提供服务的服务器数量一样多应用程序。解决方案是创建一个域帐户,将所有服务器上的应用程序池标识设置为相同的域用户帐户并创建一个 SPN,从而允许 Kerberos 身份验证。对于像 SSRS 这样的应用程序,您可能希望将用户凭据传递到后端数据库服务器,那么 Kerberos 身份验证是必须的,因为您将不得不配置 Kerberos 委派。d 拥有与为应用程序提供服务的服务器一样多的帐户。解决方案是创建一个域帐户,将所有服务器上的应用程序池标识设置为相同的域用户帐户并创建一个 SPN,从而允许 Kerberos 身份验证。对于像 SSRS 这样的应用程序,您可能希望将用户凭据传递到后端数据库服务器,那么 Kerberos 身份验证是必须的,因为您将不得不配置 Kerberos 委派。d 拥有与为应用程序提供服务的服务器一样多的帐户。解决方案是创建一个域帐户,将所有服务器上的应用程序池标识设置为相同的域用户帐户并创建一个 SPN,从而允许 Kerberos 身份验证。对于像 SSRS 这样的应用程序,您可能希望将用户凭据传递到后端数据库服务器,那么 Kerberos 身份验证是必须的,因为您将不得不配置 Kerberos 委派。
我知道有很多东西需要考虑,但简短的回答是,除了本地系统,这取决于。
IUSR = 互联网用户,即您网站的任何匿名、未经身份验证的访问者(即几乎所有人)
IWAM = Internet Web Application Manager,即您的所有 ASP 和 .NET 应用程序都将在此帐户下运行
一般来说,IUSR 和 IWAM 应该只能准确地访问他们需要的东西。他们永远不应该被授予访问任何其他内容的权限,以防这些帐户遭到入侵,那么他们将无法访问任何重要内容。
这就是我在您的问题列表中所能提供的全部帮助,其他在 IIS 管理方面有更多经验的人可能会为您提供进一步的帮助!
我总是求助于本指南-
http://learn.iis.net/page.aspx/140/understanding-the-built-in-user-and-group-accounts-in-iis-70/
你可以在 iis.net 上找到很多
简而言之 - IUSR 是开箱即用的访客帐户,默认情况下对 c:\inetpub\wwwroot 具有权限。