「作者简介」:冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础著作 《网络安全自学教程》,适合基础薄弱的同学系统化的学习网络安全,用最短的时间掌握最核心的技术。
这一章节我们需要知道IIS基线检查的标准以及对应的加固方式。
IIS(Internet Information Server)是因特网信息服务器,是 Windows Server 自带的 Web 服务器,默认使用80端口提供Web服务。
IIS基线检查
1、卸载无关组件
按照软件安全设计原则中攻击面最小化原则,卸载不需要的IIS组件,比如:
- FTP服务
- SMTP Server
- Internet打印
- NNTP Server
- FontPage 2022 Server Extensions
服务器管理器 - 删除角色和功能。
删除不需要的服务器角色、功能。
2、设置匿名账户
IIS7.0开始默认开启匿名身份验证,匿名身份默认是IUSR用户。
匿名身份验证模式下,客户端(用户)访问站点时不做身份验证,而是以匿名的形式映射到服务端的IUST账户上。
扩展:IUSR自IIS7引入,取代IIS6的 IUSR_主机名
账户。
不开启匿名身份验证时,访问网站资源会提示401无权限。
匿名身份验证只能给IUSR用户。IIS6则只给IUSR_主机名
用户
【控制面板】-【管理工具】-【IIS管理器】- 双击打开【身份验证】。
【匿名身份验证】-【编辑】-【特定用户】- 检查是否设置了其他用户。
3、绑定监听地址
IIS只对监听的IP地址和端口提供Web服务,当你的服务器上有多个网卡时,访问未监听的IP地址就会无法访问。
只监听提供服务的IP地址。
【控制面板】-【管理工具】-【IIS管理器】-【操作】-【编辑网站】-【绑定】- 检查是否绑定IP地址。
4、传输加密
启用SSL,加密传输数据,防止嗅探。
【控制面板】-【管理工具】-【IIS管理器】-【SSL设置】- 检查SSL是否启用。
5、限制权限
设置网站目录权限,防止用户上传的脚本文件在服务器上执行。
5.1、文件系统
Web目录所在磁盘建议使用NTFS格式。
5.2、Web目录
Web目录除了SYSTEM和Administrators有完全控制权限外,其他用户和组只给读取和执行权限。
【控制面板】-【管理工具】-【IIS管理器】-【编辑权限】- 【安全】- 检查用户权限。
5.3、网站目录
IIS6中,网站目录权限只开启读取、记录访问、索引资源;应用程序设置中执行权限设置为纯脚本。
写入和脚本资源访问会导致IIS Put上传;目录浏览会导致目录遍历。
IIS7中,网站目录权限只开启读取权限。
【控制面板】-【管理工具】-【IIS管理器】- 左侧找到需要设置权限的目录 - 打开处理和映射程序 - 编辑权限 - 取消勾选【脚本】。
5.4、文件上传目录
询问研发文件上传目录位置,取消执行权限。
IIS6中:【IIS管理器】-【文件上传目录】- 右键属性 - 【目录】-【应用程序设置】-【执行权限】选择无。
IIS7中:【控制面板】-【管理工具】-【IIS管理器】-【文件上传目录】-【编辑权限】-【安全】- 取消执行权限。
6、应用程序扩展
删除不使用的应用程序扩展,比如.acx
、.htm
等。
IIS6中:【IIS管理器】- 站点右键属性 - 【主目录】-【应用程序设置】-【配置】- 按需求删除应用程序扩展。
IIS7中:【控制面板】-【管理工具】-【IIS管理器】- 【MIME类型】-【打开功能】- 选中不使用的扩展名 - 【删除】
7、访问控制
对网站或敏感目录做IP访问限制。
IIS6中:IIS管理器】- 站点右键属性 - 【目录安全性】-【IP地址和域名限制】-【编辑】
IIS7中:【控制面板】-【管理工具】-【IIS管理器】-【IP地址和域限制】
扩展:IIS7安装时,默认功能不包含【IP地址和域限制】,需要到服务器管理器中重新安装。安装过程和安装IIS时一样,只在服务器角色那里多勾选IP和域控制就行了。
8、Web服务扩展
禁用不使用的Web服务扩展。
IIS6中:【IIS管理器】-【Web服务扩展】
IIS7中:【控制面板】-【管理工具】-【IIS管理器】-【本地服务器】-【ISAPI和GCI限制】-【打开功能】
扩展:IIS7安装时,默认功能不包含【ISAPI和CGI限制】,需要到服务器管理器中重新安装。安装过程和安装IIS时一样,只在服务器角色那里多勾选CGI、ISAPI扩展就行了。
9、日志
【控制面板】-【管理工具】-【IIS管理器】-【日志】-【打开功能】- 开启日志,格式选W3C。
日志默认保存在网站目录的logs下面,每天一个日志文件。
10、默认错误处理
按照软件安全设计中默认故障处理保护原则,自定义IIS的报错页面。
控制面板】-【管理工具】-【IIS管理器】-【错误页】-【打开功能】- 选中对应的状态代码 - 【编辑】- 将文件路径设置到自定义的报错页面。