IIS的安全设置和加固

概述

Web服务器直接与Internet相连,而Windows服务器一般提供Web服务的就是IIS,所以IIS自身的安全性至关重要。

最小安装原则

在IIS安装过程中,根据具体的业务需求,只安装必要的组件,以避免安装其他一切不必要的组件带来的安全风险。如网站正常运行只需要ASP环境,那我们就没必要安装.net组件。

删除默认站点

关闭并删除默认FTP站点,默认Web站点等默认的东西,一般也不建议在默认站点上建立自己地站点。

禁用不必要的Web扩展

检查是否有不必要的Web服务扩展,禁用掉不需要用到的。

站点文件不要放在系统盘

新站点的网站文件,不要放在系统盘,要放在其他分区里。

IIS访问权限设置

如果IIS中有多个网站,建议为每个网站配置不同的匿名访问账户。新建一个账号test,加入Guests组。

1
2
net user test test /add
net localgroup guests test /add

在“网站属性”—>“目录安全性”—>“身份验证和访问控制”,把“启用匿名访问”处,用刚新建的账户代替默认账户,如下图:

网站目录权限配置

网站目录权限配置也是很重要的一部分,某些目录有写入权限,一定不要分配执行权限;某些目录有执行权限,一定不要分配写入权限;网站上传目录和数据库目录一般需要分配“写入”权限,但一定不要分配执行权限;其他目录一般只分配“读取”和“记录访问”权限即可。

某些需要保存用户上传的图片等目录,必须在执行权限里设为无,否则上传的木马文件或者变形木马都有可能被调用执行。

只保留必要的应用程序扩展

根据网站的实际情况,只保留必要的应用程序扩展,其他的一律删除,尤其是像cer、asa这样极其危险的扩展,而且一般网站也不需要它。
属性->主目录->执行权限右边的配置:

日志文件配置

无论是什么服务器,日志都是应该高度重视的部分。当发生安全事件时,我们可以通过分析日志来还原攻击过程,否则将无从查起。有条件的话,可以将日志发送到专门的日志服务器保存。先检查是否启用了日志记录,如未启用,则启用它。日志格式设置为W3C扩展日志格式,IIS中默认是启用日志记录的。接着修改IIS日志文件保存路径,默认保存在“C:\WINDOWS\system32\LogFiles”目录下,这里修改为自定义路径。建议保存在非系统盘路径,并且IIS日志文件所在目录只允许Administrators组用户和SYSTEM用户访问。

防止信息泄露禁止向客户端发送详细的ASP错误信息

可以在“IIS管理器”—>“属性”—>“主目录”—>“配置”—>“调试”,选择“向客户端发送下列文本错误消息”项,自定义出错时返回的错误信息。

修改默认错误页面

“IIS管理器”—>“属性”—>“自定义错误”,用自定义的错误页面替换默认的默认页面。

自定义IIS Banner信息

默认Banner信息会泄露服务器类型、版本等相关信息,我们需要对其进修改,这样可以防止信息泄露,还可以骗过一些自动化扫描、攻击工具。修改默认HTTP头信息方法: