风险评估:IIS的安全配置,IIS安全基线检查加固

「作者简介」:冬奥会网络安全中国代表队,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管理器】-【错误页】-【打开功能】- 选中对应的状态代码 - 【编辑】- 将文件路径设置到自定义的报错页面。

相关推荐
风象南42 分钟前
Claude Code这个隐藏技能,让我告别PPT焦虑
人工智能·后端
Mintopia1 小时前
OpenClaw 对软件行业产生的影响
人工智能
陈广亮2 小时前
构建具有长期记忆的 AI Agent:从设计模式到生产实践
人工智能
会写代码的柯基犬2 小时前
DeepSeek vs Kimi vs Qwen —— AI 生成俄罗斯方块代码效果横评
人工智能·llm
Mintopia3 小时前
OpenClaw 是什么?为什么节后热度如此之高?
人工智能
爱可生开源社区3 小时前
DBA 的未来?八位行业先锋的年度圆桌讨论
人工智能·dba
叁两5 小时前
用opencode打造全自动公众号写作流水线,AI 代笔太香了!
前端·人工智能·agent
前端付豪6 小时前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
strayCat232556 小时前
Clawdbot 源码解读 7: 扩展机制
人工智能·开源