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

相关推荐
筑梦之月7 分钟前
3分钟解决ZAP打开浏览器闪退问题
web安全
fsnine15 分钟前
深度学习——残差神经网路
人工智能·深度学习
荼蘼25 分钟前
迁移学习实战:基于 ResNet18 的食物分类
机器学习·分类·迁移学习
m0_7381207229 分钟前
CTFshow系列——PHP特性Web93-96
开发语言·安全·web安全·php·ctfshow
和鲸社区1 小时前
《斯坦福CS336》作业1开源,从0手搓大模型|代码复现+免环境配置
人工智能·python·深度学习·计算机视觉·语言模型·自然语言处理·nlp
fanstuck1 小时前
2025 年高教社杯全国大学生数学建模竞赛C 题 NIPT 的时点选择与胎儿的异常判定详解(一)
人工智能·目标检测·数学建模·数据挖掘·aigc
cxr8281 小时前
Claude Code PM 深度实战指南:AI驱动的GitHub项目管理与并行协作
人工智能·驱动开发·github
THMAIL1 小时前
深度学习从入门到精通 - LSTM与GRU深度剖析:破解长序列记忆遗忘困境
人工智能·python·深度学习·算法·机器学习·逻辑回归·lstm
Gyoku Mint1 小时前
NLP×第六卷:她给记忆加了筛子——LSTM与GRU的贴靠机制
人工智能·深度学习·神经网络·语言模型·自然语言处理·gru·lstm
Zacks_xdc2 小时前
【前端】使用Vercel部署前端项目,api转发到后端服务器
运维·服务器·前端·安全·react.js