为ASP.NET网站的根文件夹授予IIS_IUSRS完全控制权限的安全影响是什么?
为什么我不能仅向IUSR提供完全控制权限,这是IIS_IUSER组的一部分?
任何答案都澄清了这种冲突,真的很感激。
答案 0 :(得分:19)
由于名称很容易混淆IUSR和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上的权限。完全控制可能太多了。
答案 1 :(得分:10)
想象一个允许用户上传任意文件的网站,该网站有一个错误导致这些文件保存在应用程序目录中。
在这种情况下,攻击者可以使用任意代码上传aspx文件,覆盖您的web.config文件等。
最好只提供对根文件夹的只读访问权限,并且只对您知道不包含可执行代码的特定文件夹进行完全控制,例如App_Data的子文件夹。