​安全服务之安全基线及加固(五)IIS篇

此文章为原创连载文章,关注公众号,持续更新

欢迎投稿及转载,标明来源作者即可。

0x01 前言

又到了木偶人哈克尔的笔记分享~有人期待吗~

这次的内容接之前中间件方面的加固,分享一下IIS加固的笔记。就以手里的IIS6.0为例了。

0x02 卸载不需要的IIS组件

检查方法:

“控制面板”-“添加删除程序”-“Windows组件向导”-“应用程序服务器”-“Internet信息服务”

加固方法:

卸载不需要的IIS组件:

FontPage 2002 ServerExtensions

Internet打印

NNTP Service

SMTP Service

文件传输协议FTP服务

0x03 IIS用户

在命令行下使用netuser命令查看IIS服务的用户信息

查看IIS匿名访问用户是否属于guest组:netuser IUSR_主机名

查看IIS启动用户是否属于IIS_WPG组:netuser IWAM_主机名

查看asp.net用户是否属于user组:netuser aspnet

在IIS6管理器中,右键选择站点的“属性”,点击“目录安全性”选项卡,点击“身份验证和访问控制”的编辑按钮,查看匿名访问账号是否正确设置为IUSR_主机名

0x04 监听地址

操作目的:服务器有多个IP地址时,只监听提供服务的IP地址

检查方法:

在IIS6管理器中,右键选择站点的“属性”,点击“网站”选项卡,查看“IP地址”中是否绑定IP地址

0x05 SSL加密

操作目的:对敏感数据的传输,应该使用SSL加密,防止数据被嗅探

检查方法:

在IIS6管理器中,右键选择站点的“属性”,点击“目录安全性”选项卡,点击“安全通信”的编辑按钮,查看是否启用SSL

0x06 网站权限

操作目的:正确设置网站目录权限和IIS权限

检查方法:

(1)检查网站目录的文件系统权限

(2)在IIS6管理器中,右键选择站点的“属性”,点击“主目录”选项卡,查看设置

加固方法:

(1)网站目录所在磁盘应该是NTFS格式,网站目录除SYSTEM用户和administrators组有完全控制权限外,其余用户和组都只应设置为读取和执行权限

(2)IIS6管理器中设置:

只选择“读取、记录访问、索引资源”

禁止“写入”和“脚本资源访问”,避免IISPut上传攻击

禁止“目录浏览”,避免目录遍历攻击

应用程序设置中的“执行权限”设置为“纯脚本”

0x07 限制IP访问

操作目的:对网站或敏感目录的访问IP进行限制

检查方法:

在IIS6管理器中,右键选择站点的“属性”,点击“目录安全性”选项卡,点击“IP地址和域名限制”的编辑按钮,查看是否设置IP地址访问限制

0x08 应用程序扩展

操作目的:删除不使用的应用程序扩展

检查方法:

在IIS6管理器中,右键选择站点的“属性”,点击“主目录”选项卡,点击“应用程序设置”的配置按钮

加固方法:

删除不使用的应用程序扩展

例如:如果只使用xxx.asp的程序,则可以删除“.asa、.cdx、.cer”扩展名的映射;还有“.shtm、.shtml、.stm”映射,如果不使用也可以删除

0x09 Web应用扩展

操作目的:禁用不使用的web服务扩展

检查方法:在IIS6管理器中,点击左侧的“web服务扩展”菜单

0x10 上传目录设置

操作目的:禁止动态脚本在上传目录的运行权限,防止攻击者绕过过滤系统上传webshell

检查方法:询问开发工程师,找到存放上传文件的目录

加固方法:

在IIS6管理器中,右键选择站点中上传目录的“属性”,点击“主目录”选项卡,点击“应用程序设置”的“执行权限”下拉菜单,选择“无”

0x11 日志设置

操作目的:正确设置IIS日志

检查方法:

在IIS6管理器中,右键选择站点的“属性”,点击“网站”选项卡,确认已经选择“启用日志记录”,活动日志格式为“W3C扩充日志文件格式”

点击“属性”按钮可以查看新日志记录间隔和日志文件目录,如下:

切换到“高级”选项卡可以查看扩充日志记录的选项

加固方法:

如果没有启用日志记录,请立即启用;可以修改日志文件的目录及日志记录的内容;还可以在扩展日志选项中勾选上“Cookie(Cookie)”和“引用站点(Referer)”,但需要确定此操作是否影响IIS服务性能。

0x12 自定义错误信息

操作目的:自定义IIS返回的错误信息

检查方法:

在IIS6管理器中,右键选择站点的“属性”,点击“自定义错误”选项卡,查看HTTP错误信息

0x13 后记

只能尽我所能,把自己学习过的为大家分享一下,目的只是能够共同进步,又不恰当的地方欢迎指正,大佬轻喷~~