繁体   English   中英

赋予ASP.NET Web应用程序网络服务帐户读/写权限的危险是什么?

[英]What are the dangers of giving the Network Service account read/write permissions to your ASP.NET Web application?

赋予ASP.NET Web应用程序网络服务帐户读/写权限的危险是什么? 我必须为我的应用程序需要写入的任何目录执行此操作,例如我的VistaDb数据库的App_Data和一些随机目录,以上传图像和更改文本文件等。执行此操作有什么危险? 只是为网络服务的整个Web应用程序授予读/写权限是可以接受的吗?

共享主机中或在同一服务器上运行多个网站时,会遇到为网络服务帐户写入文件夹权限的最大安全风险。

基本上,如果您授予修改权限,则服务器配置为作为网络服务运行的所有其他ASP.NET应用程序(默认情况下都是)也将具有对该文件夹的写入权限,这可能被利用。

这样做的危险是网络服务是一个共享帐户,在此帐户下运行的任何应用程序或服务都可以访问该目录。

根据您使用的IIS版本,您可以将Web应用程序放在单独的应用程序池中,并使其在不同的用户帐户下运行。 然后,您可以专门为该用户授予访问权限,而不是网络服务。 这仅适用于IIS 6或更高版本。

当然,直接危险是网络服务可以读取/写入这些文件夹,但每个微软 - 此帐户是权限有限的权限最低的计算机帐户。 如果您在域中,更好的方法可能是使用域帐户 - 有关这两者的详细信息,请访问http://msdn.microsoft.com/en-us/library/ms998320.aspx

好吧,如果我能弄清楚如何让你的应用程序将文件写入文件系统,因为你授予对整个应用程序的虚拟目录的读/写权限,我现在可以在你的网站上编写一个aspx文件,调用它并运行任意代码,包括WMI调用和COM互操作等酷炫的东西。

您是否有足够的时间和资源来证明我不能使用您的应用程序(包括您未编写的部分,例如框架本身)来为您的网站编写文件? 为什么不排除设置ntfs权限如此便宜(按时间)的可能性?

现在,如果你只是向App_Data授予权限,即使我确实将aspx文件写入该文件夹,我也无法调用它,因为运行时将App_data文件夹视为特殊文件,并且不会从那里提供任何文件(以免有人只是通过简单地下载文件来调用http://yourserver.com/app_data/data.mdb并破解你的数据库。 显然,可以使用ADO等来访问App_Data中的这些文件,但这不是安全问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM