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

相关推荐
聚客AI6 分钟前
系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
人工智能·pytorch·python·rnn·神经网络·机器学习·自然语言处理
云盾安全防护10 分钟前
CC攻击与WAF的对抗战
网络·安全·ddos
穆易青25 分钟前
2025.06.09【读书笔记】|PromptBio:让生信分析更简单的AI平台
人工智能
音程25 分钟前
矩阵和向量范数的区别分析
人工智能·线性代数·矩阵
Zheng.Zeng27 分钟前
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)
人工智能·paddlepaddle
杨过过儿29 分钟前
【使用LLM搭建系统】5 处理输入: 链式 Prompt Chaining Prompts
人工智能·prompt
Chirp39 分钟前
代码层面上解读ACE-Step
人工智能·机器学习
MPCTHU40 分钟前
机器学习的数学基础:线性模型
数学·机器学习
海底火旺1 小时前
探索扣子:解锁中间技能模块的无限可能
前端·人工智能·coze
机器之心2 小时前
大模型是「躲在洞穴里」观察世界? 强化学习大佬「吹哨」提醒LLM致命缺点
人工智能