关于asp.net:授予IIS_IUSRS完全控制权限有什么安全影响?

What are the security effects of giving the IIS_IUSRS a Full Control permission?

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

为什么我不能仅将完全控制权限授予IIS_IUSER组的一部分IUSR?

任何答案都可以澄清这一冲突,非常感谢。


由于名称很容易混淆IUSR和IIS_IUSRS,但这是两个不同的东西:

  • IIS_IUSRS是IIS工作进程帐户的组。这意味着应用程序池本身将以其身份运行。
  • IUSR是匿名用户身份。这意味着IIS认为是正在访问该站点的用户的身份。默认情况下,该用户不是IIS_IUSRS组的成员。
  • In IIS 7.0, a built-in account (IUSR) replaces the IUSR_MachineName account. Additionally, a group that is named IIS_IUSRS replaces the IIS_WPG group. [...] The IUSR account resembles a network or local service account. The IUSR_MachineName account is created and used only when the FTP 6 server that is included on the Windows Server 2008 DVD is installed. If the FTP 6 server is not installed, the account is not created.
    http://support.microsoft.com/kb/981949

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

    阅读类似的主题,它解释了为什么授予对IIS_IUSRS的访问权与赋予对IUSR的相同访问权具有不同的作用:

    这里是有关IIS 7中使用的组和用户的很好的文档。

    默认情况下,IIS_IUSRS仅读取


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

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

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