首页 > 代码库 > IIS安全加固
IIS安全加固
1 删除IIS默认站点
把IIS默认安装的站点删除或禁用掉。
2 禁用不必要的Web服务扩展
打开IIS 管理器,检查是否有不必要的“Web服务扩展”,如果有则禁用掉。如下图所示:
3 IIS访问权限配置
如果IIS中有多个网站,建议为每个网站配置不同的匿名访问账户。
方法:
a. 新建一个账号,加入Guests组
b. “网站属性”--->“目录安全性”--->“身份验证和访问控制”,把“启用匿名访问”处,用刚新建的账户代替默认账户,下图所示。
4 网站目录权限配置
原则(如图10):
目录有写入权限,一定不要分配执行权限
目录有执行权限,一定不要分配写入权限
网站上传目录和数据库目录一般需要分配“写入”权限,但一定不要分配执行权限
其他目录一般只分配“读取”和“记录访问”权限即可
5 只保留必要的应用程序扩展
根据网站的实际情况,只保留必要的应用程序扩展,其他的一律删除,尤其是像cer、asa这样极其危险的扩展,而且一般网站也不需要它,如图11。
6 修改IIS日志文件配置
无论是什么服务器,日志都是应该高度重视的部分。当发生安全事件时,我们可以通过分析日志来还原攻击过程,否则将无从查起。有条件的话,可以将日志发送到专门的日志服务器保存。
先检查是否启用了日志记录,如未启用,则启用它。日志格式设置为W3C扩展日志格式,IIS中默认是启用日志记录的。
接着修改IIS日志文件保存路径,默认保存在“C:\WINDOWS\system32\LogFiles”目录下,这里修改为自定义路径。建议保存在非系统盘路径,并且IIS日志文件所在目录只允许Administrators组用户和SYSTEM用户访问,如图12。
7 防止信息泄露
a. 禁止向客户端发送详细的ASP错误信息
“IIS管理器”--->“属性”--->“主目录”--->“配置”--->“调试”,选择“向客户端发送下列文本错误消息”项,自定义出错时返回的错误信息,如图13。
b. 修改默认错误页面
“IIS管理器”--->“属性”--->“自定义错误”,用自定义的错误页面替换默认的默认页面。下面是我自定义的一个404错误页面,当网站发生404错误时,将向客户端返回这个页面,如图14。
8 自定义IIS Banner信息
默认Banner信息会泄露服务器类型、版本等相关信息,我们需要对其进行修改,这样可以防止信息泄露,还可以骗过一些自动化扫描、攻击工具。
a. 修改默认HTTP头信息
在修改之前,我们先来看下默认的HTTP头信息是什么样的。我们向IIS服务器发一个请求,然后用抓包工具分析它返回的数据,就可以发现HTTP头信息,如图15所示:
IIS安全加固