【问题标题】:What are the security effects of giving the IIS_IUSRS a Full Control permission?授予 IIS_IUSRS 完全控制权限有什么安全影响?
【发布时间】:2014-04-27 06:00:52
【问题描述】:

为 IIS_IUSRS 授予对 ASP.NET 网站根文件夹的完全控制权限有什么安全影响?

为什么我不能只将完全控制权限授予属于 IIS_IUSER 组的 IUSR?

任何答案都能澄清这个冲突,非常感谢。

【问题讨论】:

  • 该组(其他网站)中的任何用户都可以查看/修改 foot 文件夹及以下文件夹中的任何文件。这通常是不希望的,但在某些情况下实际上可能是需要的。通过授予单个用户(例如 IUSR)权限,它允许您保持您的站点隔离并使用多个用户,这些用户可能共享对 C:\Inetpub 的相同基本访问权限,但除了 C:\Inetpub\wwwroot 等单个站点之外的任何其他位置都不能共享\site1.com\ 归IUSR1 所有,C:\Inetpub\wwwroot\site2.com\ 归IUSR2 所有,以获取最佳实践。
  • @BrockHensley,说,IIS_IUSRS 对所有网站都有完全控制权限,我们有 site1 和 site2,你的意思是 site1 用户将能够查看/修改 site2 中的任何文件吗?这应该由 IIS 自己处理吧?

标签: asp.net asp.net-mvc security iis


【解决方案1】:

IUSR 和 IIS_IUSRS 很容易因为它们的名字而混淆,但这是两个不同的东西:

  1. IIS_IUSRS 是 IIS 工作进程帐户组。这意味着应用程序池本身运行的身份。
  2. IUSR 是匿名用户身份。这意味着 IIS 认为是访问该站点的用户的身份。默认情况下,此用户不是 IIS_IUSRS 组的成员。

在 IIS 7.0 中,内置帐户 (IUSR) 取代了 IUSR_MachineName 帐户。此外,名为 IIS_IUSRS 的组替换了 IIS_WPG 组。 [...] IUSR 帐户类似于网络或本地服务帐户。仅当安装了 Windows Server 2008 DVD 中包含的 FTP 6 服务器时,才会创建和使用 IUSR_MachineName 帐户。如果未安装 FTP 6 服务器,则不会创建帐户。 http://support.microsoft.com/kb/981949

IIS_IUSRS 是一个内置组,可以访问所有必要的文件和系统资源,因此一个帐户在添加到该组时可以无缝地充当应用程序池身份。

阅读similar thread,其中解释了为什么授予对 IIS_IUSRS 的访问权限与授予对 IUSR 相同的访问权限的效果不同:

Here 是关于 IIS 7 中使用的组和用户的一个很好的文档。

默认情况下,IIS_IUSRS 仅对 wwwroot 具有读取和执行(并因此列出文件夹内容)权限。完全控制可能太多了。

【讨论】:

    【解决方案2】:

    想象一个允许用户上传任意文件的网站,该网站存在导致此类文件保存在应用程序目录中的错误。

    在这种情况下,攻击者可以上传带有任意代码的 aspx 文件,覆盖您的 web.config 文件等。

    最好授予对根文件夹的只读访问权限,并且只授予对您知道不包含可执行代码的特定文件夹的完全控制权,例如 App_Data 的子文件夹。

    【讨论】:

    • 我会扩展答案以包括阅读和审查权限。暴露的所有连接字符串、数据库名称、Web 远程服务。就像给你房子的钥匙一样。
    • 但是,最好的选择是将上传移动到临时文件夹,而不是应用程序根目录下的任何文件夹。
    • @Joe,是这样吗?给 IIS_IUSERS 完全权限时,什么样的用户可以上传?网站访问者?请您提供有关此冲突的更多详细信息。
    猜你喜欢
    • 2011-12-14
    • 2012-01-28
    • 1970-01-01
    • 2012-10-21
    • 2021-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 1970-01-01
    相关资源
    最近更新 更多