为IIS_IUSRS提供完全控制权限有哪些安全影响?

时间:2014-04-27 06:00:52

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

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

为什么我不能仅向IUSR提供完全控制权限,这是IIS_IUSER组的一部分?

任何答案都澄清了这种冲突,真的很感激。

2 个答案:

答案 0 :(得分:19)

由于名称很容易混淆IUSR和IIS_IUSRS,但这些是两回事:

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

    在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上的权限。完全控制可能太多了。

答案 1 :(得分:10)

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

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

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