IIS安全配置.docx
《IIS安全配置.docx》由会员分享,可在线阅读,更多相关《IIS安全配置.docx(15页珍藏版)》请在冰豆网上搜索。
![IIS安全配置.docx](https://file1.bdocx.com/fileroot1/2022-10/29/7e70eeac-50b6-4413-accb-77aa180e46c4/7e70eeac-50b6-4413-accb-77aa180e46c41.gif)
IIS安全配置
IIS的安全:
删掉c:
/inetpub目录,删除iis不必要的映射
首先是每一个web站点使用单独的IIS用户,譬如这里,新建立了一个名为,权限为guest的。
在IIS里的站点属性里"目录安全性"---"身份验证和访问控制"里设置匿名访问使用下列Windows用户帐户"的用户名密码都使用这个用户的信息.在这个站点相对应的web目录文件,默认的只给IIS用户的读取和写入权限(后面有更BT的设置要介绍)。
在"应用程序配置"里,我们给必要的几种脚本执行权限:
ASP.ASPX,PHP,
ASP,ASPX默认都提供映射支持了的,对于PHP,需要新添加响应的映射脚本,然后在web服务扩展将ASP,ASPX都设置为允许,对于php以及CGI的支持,需要新建web服务扩展,在扩展名(X):
下输入php,再在要求的文件(E):
里添加地址C:
/php/sapi/php4isapi.dll,并勾选设置状态为允许(S)。
然后点击确定,这样IIS就支持PHP了。
支持CGI同样也是如此。
要支持ASPX,还需要给web根目录给上users用户的默认权限,才能使ASPX能执行。
另外在应用程序配置里,设置调试为向客户端发送自定义的文本信息,这样能对于有ASP注入漏洞的站点,可以不反馈程序报错的信息,能够避免一定程度的攻击。
在自定义HTTP错误选项里,有必要定义下譬如404,500等错误,不过有有时候为了调试程序,好知道程序出错在什么地方,建议只设置404就可以了。
IIS6.0由于运行机制的不同,出现了应用程序池的概念。
一般建议10个左右的站点共用一个应用程序池,应用程序池对于一般站点可以采用默认设置,
可以在每天凌晨的时候回收一下工作进程。
新建立一个站,采用默认向导,在设置中注意以下在应用程序设置里:
执行权限为默认的纯脚本,应用程序池使用独立的名为:
315safe的程序池。
名为315safe的应用程序池可以适当设置下"内存回收":
这里的最大虚拟内存为:
1000M,最大使用的物理内存为256M,这样的设置几乎是没限制这个站点的性能的。
在应用程序池里有个"标识"选项,可以选择应用程序池的安全性帐户,默认才用网络服务这个帐户,大家就不要动它,能尽量以最低权限去运行大,隐患也就更小些。
在一个站点的某些目录里,譬如这个"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来解析就可以了,这样别人即使获得了数据库路径也无法下载。
这个方法可以说是防止数据库被下载的终极解决办法了。