在应用程式池里有个"标识"选项,可以选择应用程式池的安全性帐户,默认才用网路服务这个帐户,大家就不要动它,能尽量以最低许可权去运行大,隐患也就更小些。在一个站点的某些目录里,譬如这个"uploadfile"目录,不需要在里面运行asp程式或其他脚本的,就去掉这个目录的执行脚本程式许可权,在"应用程式设置"的"执行许可权"这里,默认的是"纯脚本",我们改成"无",这样就只能使用静态页面了。依次类推,大凡是不需要asp运行的目录,譬如数据库目录,图片目录等等里都可以这样做,这样主要是能避免在站点应用程式脚本出现bug的时候,譬如出现从前流行的upfile漏洞,而能够在一定程度上对漏洞有扼制的作用。
在默认情况下,我们一般给每个站点的web目录的许可权为IIS用户的读取和写入,如图:
但是我们现在为了将SQL注入,上传漏洞全部都赶走,我们可以采取手动的方式进行细节性的策略设置。
1. 给web根目录的IIS用户只给读许可权。如图:
然后我们对响应的uploadfiles/或其他需要存在上传文件的目录额外给写的许可权,并且在IIS里给这个目录无脚本运行许可权,这样即使网站程式出现漏洞,入侵者也无法将asp木马写进目录里去,呵呵,不过没这么简单就防止住了攻击,还有很多工作要完成。如果是MS-SQL数据库的,就这样也就OK了,但是Access的数据库的话,其数据库所在的目录,或数据库文件也得给写许可权,然后数据库文件没必要改成.asp的。这样的后果大家也都知道了把,一旦你的数据库路径被暴露了,这个数据库就是一个大木马,够可怕的。其实完全还是规矩点只用mdb尾码,这个目录在IIS里不给执行脚本许可权。然后在IIS里加设置一个映射规律,如图:
这里用任意一个dll文件来解析.mdb尾码名的映射,只要不用asp.dll来解析就可以了,这样别人即使获得了数据库路径也无法下载。这个方法可以说是防止数据库被下载的终极解决办法了。