风险评估: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管理器】-【错误页】-【打开功能】- 选中对应的状态代码 - 【编辑】- 将文件路径设置到自定义的报错页面。

相关推荐
大龄程序员狗哥3 小时前
第25篇:Q-Learning算法解析——强化学习中的经典“价值”学习(原理解析)
人工智能·学习·算法
陶陶然Yay3 小时前
神经网络常见层Numpy封装参考(5):其他层
人工智能·神经网络·numpy
极客老王说Agent3 小时前
2026实战指南:如何用智能体实现药品不良反应报告的自动录入?
人工智能·ai·chatgpt
imbackneverdie3 小时前
本科毕业论文怎么写?需要用到什么工具?
人工智能·考研·aigc·ai写作·学术·毕业论文·ai工具
lulu12165440783 小时前
Claude Code项目大了响应慢怎么办?Subagents、Agent Teams、Git Worktree、工作流编排四种方案深度解析
java·人工智能·python·ai编程
大橙子打游戏3 小时前
talkcozy像聊微信一样多项目同时开发
人工智能·vibecoding
deephub3 小时前
LangChain 还是 LangGraph?一个是编排一个是工具包
人工智能·langchain·大语言模型·langgraph
OidEncoder4 小时前
编码器分辨率与机械精度的关系
人工智能·算法·机器人·自动化
Championship.23.244 小时前
Harness工程深度解析:从理论到实践的完整指南
人工智能·harness
扬帆破浪5 小时前
开源免费的WPS AI 软件 察元AI文档助手:链路 002:executeAssistantFromRibbon 与任务进度窗
人工智能·开源·wps