首页 | 免费域名 | 个人服务器 | 一流信息监控拦截系统 | 虚拟主机知识库 | ASP 空间 | ASP技术大全 | 下载中心 | 客户服务中心
  7i24 > 虚拟主机知识库 > 服务器安全知识 >
    7i24 .Com  
  确保 Internet 信息服务 5.0 和 5.1 的安全

7i24.Com不停为您服务
来源:http://www.microsoft.com/china/technet/security/sgk/sec_IIS_5_0_5_1.mspx
本页内容
简介
准备工作
减少 Web 服务器攻击面
配置帐户
确保文件和目录的安全
确保 Web 站点和虚拟目录的安全
配置 Web 服务器中的安全套接字层 (SSL)
相关信息

简介
Web 服务器经常是各种安全攻击的对象。有些攻击非常严重,企业资产、生产力和客户关系常因此损失惨重。事实上,所有的攻击都给人们带来了诸多不便与困挠。确保 Web 服务器的安全是企业成功的关键。

本文档说明了如何确保在 Microsoft® Windows® 2000 Server Standard Edition 操作系统上运行 Internet 信息服务 (IIS) 5.0 或者在 Microsoft® Windows® XP 操作系统上运行 Internet 信息服务5.1 的 Web 服务器的安全。本部分首先描述了一些最常见的影响 Web 服务器的攻击,然后提供了防范这些攻击的说明性指导,帮助用户进一步增强 Web 服务器的安全。

本文档在增强 Web 服务器安全方面提供了下列指导:

• 减少攻击面或 Web 服务器暴露给潜在攻击者的程度

• 针对访问 Web 站点的用户和组设置帐户和权限

• 确保 IIS 元数据库和日志文件更安全,防止未经授权的用户访问

• 在 Web 服务器中配置安全套接字层 (SSL)

要点:本文档中所有的分步指导都是从使用安装操作系统时默认出现的“开始”菜单开始进行操作的。如果您修改过“开始”菜单,则这些步骤会稍有不同。


在完成本文档中的步骤后,您的 Web 服务器抵御下列时常威胁 Internet 服务器的攻击的能力将极大提高:

• 配置文件攻击(收集 Web 站点信息)。阻止不必要的端口并停用多余协议可减少此类攻击。

• 拒绝服务攻击(向 Web 站点大量发送请求)。应用安全修补程序和软件更新可最大限度减少此类攻击。

• 未授权的访问(用户没有正确的权限)。通常,设置 Web 和 NTFS 权限可阻止这种攻击。

• 在 Web 服务器中随意执行恶意代码。禁止访问系统工具和命令可最大限度减少这种攻击。

• 权限提高(允许恶意用户使用高权限帐户来运行程序)。使用权限最低的服务和用户帐户可减少这种攻击。

• 感染病毒、蠕虫和特洛伊木马。禁用不必要的功能、使用权限最低的帐户并迅速应用最新的安全修补程序可防范此类攻击。


注意:由于确保 Web 服务器的安全是一项复杂持续的过程,绝对安全是无法实现的。

返回页首
准备工作
本节详述了系统需求,并给出本文档 Web 服务器示例的主要特征。

系统需求
本文档的 Web 服务器示例应满足下列系统需求:

• 操作系统安装在 NTFS 分区。有关 NTFS 的信息,请在 Windows Server 2003 的“帮助和支持中心”搜索“NTFS”。

• 服务器已应用 Windows 2000 Server 或 Windows XP 的必要修补程序和升级程序。

• 服务器运行 Windows 2000 Server Service Pack 4 或 Windows XP Service Pack 1。

要点:如果某台计算机没有安装 Service Pack 1 或 Service Pack 4,或者不知道是否已安装,请访问网址为 http://go.microsoft.com/fwlink/?LinkID=22630 的 Microsoft 网站上的 Windows Update(英文)页面,然后通过 Windows Updates 扫描计算机中的可用更新。如果显示 Service Pack 1 或 Service Pack 4 的可用更新,请先安装任意一种,然后继续本文档的操作步骤。


本文档是配置安全 Web 服务器的第一步。为了尽量确保 Web 服务器的安全,您必须了解服务器中运行的应用程序的特点。本文档内容不涉及配置具体应用程序的安全设置。

Web 服务器特征
本文档的 Web 服务器示例有下列特征:

• 运行 IIS 5.0(用于 Windows 2000 Server)或 IIS 5.1(用于 Windows XP)。

• 驻留一个面向 Internet 的 Web 站点。

• 专用 Web 服务器。

• 位于防火墙背后。该防火墙仅允许在 HTTP 端口 80 和 HTTPS 端口 443 传递数据。

• 允许匿名访问 Web 站点。

• 支持 HTML 和 ASP 页。

• 不支持 FTP(文件上传和下载)、SMTP(电子邮件)和 NNTP(新闻组)协议。

• 不使用 Internet Security and Acceleration Server。

• 要求管理员通过本地登录管理 Web 服务器。


除了上述要求,Web 服务器示例还要求:

• 在 Web 服务器上不配置 Microsoft 的 FrontPage® 2002 Server Extensions。

• Web 服务器上的应用程序不需要连接数据库。


返回页首
减少 Web 服务器攻击面
下面通过减少服务器的攻击面来确保 Web 服务器的安全。首先,仅启用保证 Web 服务器正常运行的必要组件、服务和端口。

本节提供的分步指导来指导您实现减少 Web 服务器攻击面的目标:

• 运行 IIS Lockdown Tool

• 自定义 UrlScan 配置


运行 IIS Lockdown Tool
借助 IIS Lockdown Tool,您可以根据 Web 服务器中应用程序的类型来选择特定的服务器任务,然后通过禁用相关功能或保护相关功能的自定义模板来提高服务器的安全性。

IIS Lockdown Tool 可使许多确保 Web 服务器安全的工作自动化。但切记,任何工具都不能替代适时安装 Service Pack 和热修补程序。

注意:建议您先阅读 IIS Lockdown Tool 附带的相关文档,然后再使用该工具。

本节提供下列分步指导来指导运行 IIS Lockdown tool:

• 安装 IIS Lockdown tool

• 确定 Web 服务器是否支持动态内容

• 确定 Web 服务器是否已运行 IIS Lockdown Tool

• 运行 IIS Lockdown Tool


要求

• 凭据:您必须以 Web 服务器 Administrators 组成员的身份登录。

• 工具:必须安装 IIS Lockdown Tool 和 Internet 服务管理器。

• 安装 IIS Lockdown Tool

1.
访问位于 http://go.microsoft.com/fwlink/?LinkId=22848 的 Microsoft下载中心下载 IIS Lockdown Tool(英文)。

2.
单击“保存”,将文件保存到本地硬盘的文件夹中。例如,C:\WINNT\system32\inetsrv。

3.
单击“开始”、“运行”,键入 cmd,再单击“确定”。

4.
在命令提示符窗口,定位到保存 IIS Lockdown Tool 的位置,键入命令:iislockd.exe/q/c

此命令将解包下列文件:

• IISLockd.chm:已编译的 IIS Lockdown Tool 帮助文件。

• RunLockdUnattended.doc:包括“无人值守”方式运行 IIS Lockdown Tool 的指导。

• UrlScan.exe 和关联文件:这些文件用于安装 UrlScan。默认情况下,这些文件解包后保存在 C:\WINNT\system32\inetsrv\urlscan。有关 UrlScan 的详细信息,请参阅本文档后面的“自定义 UrlScan 配置”。



• 确定 Web 服务器是否支持动态内容

1.
右键单击桌面的“我的电脑”,单击“资源管理器”,然后浏览存储 Web 服务器内容的目录。

2.
搜索下列文件扩展名:

    
.asp
.ida
.idq

.htw
.shtml
.shtm

.stm
.idc
.htr

.cgi
.dll
.exe


如果搜索到任何内容,表示 Web 服务器支持动态内容。例如,本文档的 Web 服务器示例支持 .asp 文件,搜索结果有相应的文件扩展名。


• 确定 Web 服务器是否已运行 IIS Lockdown Tool

1.
右键单击桌面的“我的电脑”,单击“资源管理器”,定位到 C:\WINNT\system32\inetsrv 文件夹,然后查找 Oblt-rep.log 文件。

2.
浏览 C:\WINNT|System32\Inetsrv\MetaBack,然后查找 Oblt-once.md0 和 Oblt-mb.mdo0 文件。
如果不存在,表明 Web 服务器未运行 IIS Lockdown Tool。您可以继续执行下一项任务,即“运行 IIS Lockdown Tool”。

3.
要重新运行 IIS Lockdown Tool,请忽略先前的任何安装,然后删除这些文件或将它们移到其他地方。



如果 Web 服务器已运行 IIS Lockdown Tool,请跳过后面的步骤,直接转至“自定义 UrlScan 配置”。

注意:建议您查看本文档的其他部分,确保 Web 服务器中的 IIS Lockdown Tool 设置提供了您所需的安全等级。

• 运行 IIS Lockdown Tool

1.
右键单击桌面的“我的电脑”,单击“资源管理器”,浏览存储 IIS Lockdown Tool 文件的目录。例如,C:\WINNT\system32\inetsrv。

2.
双击 IISlockd.exe,单击“下一步”,阅读“End User License Agreement”(EULA)(最终用户许可协议),单击“I agree”(我同意),然后单击“下一步”。

3.
在“Select Server Template”(选择服务器模板)主页,单击“Dynamic Web Server (ASP enabled)”(动态 Web 服务器(启用 ASP)),选中“View template settings”(查看模板设置)复选框,然后单击“下一步”。


注意:本文档中的屏幕快照仅反映一种测试环境,其中的信息可能与您的屏幕不同。

4.
在“Internet Services”(Internet 服务)页,单击“Remove unselected services”(删除未选择的服务),在随后弹出的“Warning”(警告)消息框中,单击“Yes”(是),然后单击“下一步”。

5.
在“Script Maps”(脚本映射)页,验证“Active Server Pages”(活动服务器页)复选框已清除,然后单击“下一步”。

6.
在“Additional Security”(其他安全)页,确保选中所有复选框,然后单击“下一步”。

7.
在“UrlScan”页,选中“Install UrlScan filter on the server”(在服务器上安装 UrlScan 筛选器)复选框,然后单击“下一步”。

8.
在“Ready to Apply Settings”(准备应用设置)页,查看选定的更改,然后单击“下一步”。

注意:若要更改选择,请单击“上一步”,然后进行必要的改动。IIS Lockdown Tool 将按您指定的选项升级服务器配置。

9.
在“Apply Security Settings”(应用安全设置)页,单击“View Report”(查看报告),查看由 IIS Lockdown Tool 所作的更改列表,然后单击“Next”。

10.
单击“完成”。



验证新的设置

验证本地计算机应用了正确的 IIS Lockdown Tool 安全设置。

• 验证由 IIS Lockdown Tool 所作的更改

1.
右键单击桌面的“我的电脑”,单击“资源管理器”,然后浏览 C:\WINNT\System32\inetsrv 目录。

2.
双击 oblt-log.log 文件,查看由 IIS Lockdown Tool 所作的更改。



下表显示了由 IIS Lockdown Tool 根据您的更改所作的相应更改,同时指明锁定这些对象后将缓解的漏洞。

IIS Lockdown Tool 使安全问题最小化的相应更改

页 措施 最小化的安全问题
Internet 服务
禁用 FTP、SMTP 和 NNTP 服务
任何正在运行的服务都是潜在的攻击点。 这里列出的服务尤其易受攻击。

脚本映射
通过将下列文件扩展名映射到 404.dll 来达到禁用的目的:
索引服务 (.idq、.htw、.ida)
服务器端包括 (.shtml、.shtm、.stm)
Internet 数据连接器 (.idc)
HTR 脚本 (.htr)、Internet 打印 (.printer)
.idq、.ida: 缓冲区溢出向攻击者提供了完全控制服务器的可能性。
.htw:用户可能无意间通过浏览器或支持 HTML 的电子邮件客户端打开恶意链接。
.shtml、.shtm、.stm:ssiinc.dll 安全问题可向浏览器返回任何 Web 服务器中的攻击者指定内容。
.Idc:跨站点脚本安全问题可在错误页中提供完整的 URL,使攻击者能在服务器中随意运行脚本代码。
.htr:显示 ASP 文件的源代码。
.printer: 向攻击者提供目标 IIS 系统的远程控制台。

附加安全性
删除 Internet 打印的如下虚拟目录:
ISS Samples
MSADC
IISHelp
Scripts
IISAdmin
Printers

删除 IISAdmin Web 站点

限制匿名访问系统工具

限制匿名用户向 Web 内容目录写入

创建称为 Web Anonymous Users 和 Web Applications 的两个新本地组,将二者的“拒绝”访问控制条目 (ACE) 添加到关键工具和目录的访问控制列表 (ACL) 中。

将默认的匿名 Internet 用户帐户
IUSR_ComputerName 添加到 Web Anonymous Users 中。

将 Web 应用程序标识 IWAM_ComputerName 添加到 Web Applications 中。

禁止 WebDAV (Web Distributed Authoring and Versioning)。
安装 UrlScan ISAPI 筛选器。
 

• 验证 Web 服务器的 IIS Lockdown Tool 配置有效

1.
右键单击桌面的“我的电脑”,单击“资源管理器”,然后浏览 C:\WINNT\system32\inetsrv 目录。

2.
查找 oblt-undo.log 和 oblt-undone.log 文件。



如果没有日志文件,或虽然存在但数据和时间戳早于 oblt-log.log 文件,表示 Web 服务器的 IIS Lockdown Tool 配置已生效。

运行 IIS Lockdown Tool 之后,您可以手动重新启动文件扩展名。如果要重新运行 IIS Lockdown Tool 删除其配置,这种方法最可取。

• 运行 IIS Lockdown Tool 后手动重新映射文件扩展名

1.
单击“开始”>“程序”>“管理工具”>“Internet 服务管理器”。

2.
右键单击 Web 站点,然后单击“属性”。

3.
单击“主目录”选项卡,然后单击“配置”。

4.
查找要重新映射的文件扩展名。

5.
双击文件,然后将路径从 404.dll 更改到 C:\WINNT\system32\inetsrv\file name.dll,其中都是要重新映射的文件扩展名。例如:idq.dll。



自定义 UrlScan 配置
UrlScan 在 IIS Lockdown Tool 运行时安装。UrlScan 是一种 Internet 服务应用程序编程接口 (ISAPI) 筛选器,它可以根据一组规则来筛选或拒绝 HTTP 请求,从而使 Web 服务器远离攻击。这些规则适用于 Web 服务器驻留的所有 Web 站点。正确安装 UrlScan 之后,无论是否启动 IIS,UrlScan 都将自动运行。

您可以通过编辑 UrlScan.ini 文件来更改 UrlScan 规则。此文件必须与 UrlScan.dll 文件位于同一目录,UrlScan.dll 是运行 UrlScan 的文件。

本节提供下列分步指导来实现自定义 UrlScan 配置:

• 自定义 UrlScan 配置

• 验证新的 UrlScan 设置


要求

• 凭据:您必须以 Web 服务器 Administrators 组成员的身份登录。

• 工具:我的电脑、UrlScan.ini 文件、记事本、iisreset 命令。

• 自定义 UrlScan 配置

1.
右键单击桌面的“我的电脑”,单击“资源管理器”,然后浏览 C:\WINNT\system32\inetsrv\urlscan 目录。

2.
双击 UrlScan.ini 文件并在记事本中打开。完成相应更改,然后保存文件并关闭。

下表列出了 UrlScan.ini 文件中的各部分。

UrlScan.ini 文件中的各部分

部分 说明
[Options]
一般 UrlScan 选项例如,目录遍历攻击已攫取了包含多个句点 (".") 的项目路径名称。如果您的某些目录名称包含多个句点,您必须在 UrlScan.ini 中设置 AllowDotInPath=1。UrlScan 拒绝的字符包括逗号 (,) 和英镑标记 (#)。

[AllowVerbs] 和 [DenyVerbs]
UrlScan 允许的动词(包括知名的 HTTP 方法,如 GET 和 POST)。

[DenyHeaders]
HTTP 请求中不允许的 HTTP 标题。如果 HTTP 请求包含禁用标题,则 UrlScan 拒绝该请求。

[AllowExtensions] 和 [DenyExtensions]
UrlScan 允许的文件扩张名(例如,.exe、.dll、.cgi)。

[DenyURLSequences]
HTTP 请求不允许的字符串。UrlScan 拒绝包含此节中列出的字符串的 HTTP 请求。


3.
打开命令提示符,键入 iisreset,回收 IIS 并接受 UrlScan.ini 文件的更改。



验证新的设置

验证本地计算机是否应用了正确的 UrlScan 安全设置。

• 验证 UrlScan 配置

1.
右键单击桌面的“我的电脑”,单击“资源管理器”,然后浏览 C:\WINNT\system32\inetsrv\urlscan 目录。

2.
要查看更改记录,双击 UrlScandate.log 文件并在记事本中打开。



停用不必要的协议
停用不必要的协议可以减少受攻击的可能性。

本节提供了下列分步指导来帮助您停用不必要的协议:

• 停用基于 Internet 连接的 SMB 协议

• 停用 TCP/IP 服务中的 NetBIOS 协议


停用 SMB 和 NetBIOS 协议
主机枚举 (host enumeration) 攻击可通过扫描网络来确定潜在目标的 IP 地址。为了降低主机枚举成功攻击您 Web 服务器中面向 Internet 的端口的可能性,请停用除传输控制协议 (TCP) 以外的其他所有网络协议。Web 服务器的网络适配器不需要服务器信息块 (SMB) 和 NetBIOS。

注意:一旦停用 SMB 和 NetBIOS,服务器将无法实现文件服务器或打印服务器的功能,您不能浏览任何网络,也无法远程控制 Web 服务器。如果服务器是要求管理员在本地登录的专用 Web 服务器,这些限制不影响服务器的运行。

SMB 使用下列端口:

• TCP 端口 139

• TCP 和 UDP 端口 445(SMB Direct Host)


NetBIOS 使用下列端口:

• TCP 和用户数据报协议 (UDP) 端口 137(NetBIOS 名称服务)

• TCP 和 UDP 端口 138(NetBIOS 数据报服务)

• TCP 和 UDP 端口 139(NetBIOS 会话服务)


仅停用 NetBIOS 无法完全阻止 SMB 通信,因为如果没有标准的 NetBIOS 端口,SMB 便使用 TCP 端口 445,即众所周知的 SMB Direct Host。您必须分别停用 NetBIOS 和 SMB。

要求

• 凭据:您必须以 Web 服务器 Administrators 组成员的身份登录。

• 工具:我的电脑、系统工具、设备管理器。

• 停用面向 Internet 连接的 SMB 协议

1.
单击“开始”,单击“设置”,然后单击“网络和拔号连接”。

2.
右键单击面向 Internet 的连接,然后单击“属性”。

3.
清除“Microsoft 网络客户端”复选框。

4.
清除“Microsoft 网络的文件和打印机共享”复选框,然后单击“确定”。


• 停用 TCP/IP 服务中的 NetBIOS 协议

1.
右键单击桌面的“我的电脑”,然后单击”管理”。

2.
展开“系统工具”,然后选择“设备管理器”。

3.
右键单击“设备管理器”,单击“查看”,然后单击“显示隐藏的设备”。

4.
展开“非即插即用驱动程序”。

5.
右键单击“NetBios over Tcpip”,单击“停用”,然后单击“是”。


本步骤将停用 TCP 端口 445 和 UDP 端口 445 中 SMB 直接主机侦听程序。此外,它也将停用 Nbt.sys 驱动程序,并要求重新启动系统。

一旦重新启动系统,您可能看到服务控制管理程序中的错误信息。这些信息都是停用 NetBIOS 后的预期结果。



验证新的设置

验证 Web 服务器是否应用了正确的安全装置。

• 验证 SMB 是否已停用

1.
单击“开始”>“设置”>“网络和拔号连接”。

2.
右键单击面向 Internet 的连接,然后单击“属性”。

3.
确认是否已清除“Microsoft 网络客户端”和“Microsoft 网络的文件与打印机共享”复选框,然后单击“确定”。


• 验证 NetBIOS 是否已停用

1.
单击“开始”,右键单击“我的电脑”,然后单击”管理”。

2.
双击“系统工具”,选择“设备管理器”。

3.
右键单击“设备管理器”,单击“查看”,然后单击“显示隐藏的设备”。

4.
双击“非即插即用驱动程序”,然后右键单击“NetBios over Tcpip”。

当前上下文菜单显示“启动”选项,表示 TCP/IP 中的 NetBIOS 已停用。

5.
单击“确定”,关闭“设备管理器”。



禁用空会话,防止匿名登录
为了防止匿名访问,请禁用空会话。空会话是未经身份验证或匿名的用户在两台计算机间建立的会话。如果不禁用空会话,攻击者可以不通过身份验证匿名连接到您的服务器。

建立空会话的攻击者将实施各种攻击手段(包括使用枚举技术)来收集目标计算机中与系统相关的信息,这些信息大大帮助了攻击者实施后续攻击。空会话返回的信息包括:域和信任的详细信息、共享、用户信息(包括组和用户权限)、注册表项。

要求

• 凭据:您必须以 Web 服务器 Administrators 组成员的身份登录。

• 工具:本地安全策略。

• 禁用空会话

1.
单击“开始”>“程序”>“管理工具”>“本地安全策略”。

2.
在安全设置下方,双击“本地策略”,然后单击“安全选项”。

3.
双击“对匿名连接的额外限制”,然后在“本地策略设置”中选择“没有显式匿名权限就无法访问”。

4.
重新启动 Web 服务器,使更改生效。



验证新的设置

验证本地计算机是否应用了禁用空会话的正确安全设置。

• 验证是否已禁用空会话

1.
在一台远程计算机中,单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。

2.
在命令提示符中,键入以下命令:net use\\ <IP address of your Web server>
您将收到下列消息:

系统发生错误 5 。
拒绝访问。



返回页首
配置帐户
您应删除不用的帐户,因为攻击者可能发现这些帐户并加以利用。始终使用强密码,因为弱密码增加了强制攻击或字典攻击的成功机率。使用运行权限最少的帐户。否则,攻击者将利用权限较多的帐户获取访问未经授权的资源的权限。

本节提供了下列分步指导来帮助您配置帐户:

• 停用不用的帐户

• 禁用空会话,防止匿名访问


停用不用的帐户
攻击者可以利用不用的帐户及其权限获取访问服务器的机会。您应定期审核服务器中的本地帐户,停用那些不再使用的帐户。停用生产服务器中的无用帐户之前,请先在测试服务器中停用它们,这确保了停用帐户不影响应用程序的正常运行。如果在测试服务器停用无用帐户没有任何问题,则可在生产服务器中停用。

注意:如果选择删除无用帐户而并非停用,您将无法恢复已删除的帐户。Administrator 帐户和 Guest 帐户是不能删除的。此外,请确保在生产服务器中删除帐户前已在测试服务器中删除该帐户。

本节提供了下列分步指导来帮助您停用不用的帐户:

• 停用 Guest 帐户

• 重命名 Administrator 帐户

• 停用 IUSR_ComputerName 帐户


停用 Guest 帐户
服务器的匿名连接都使用内置 Guest 帐户。要限制匿名连接计算机,请停用 Guest 帐户。在 Windows 2000 中,Guest 帐户在默认情况下停用。

注意:您不能停用域控制器中的 Guest 帐户。

要求

• 凭据:您必须以 Web 服务器 Administrators 组成员的身份登录。

• 工具:我的电脑。

• 停用 Guest 帐户

1.
右键单击桌面的“我的电脑”,单击“管理”。

2.
展开“本地用户和组”,双击“用户”文件夹。通常,Guest 帐户有红色的 x 图标,表明已停用。如果 Guest 帐户未停用,请继续步骤 3。

3.
右键单击 Guest 帐户,选择“属性”。

4.
单击“常规”选项卡,选中“帐户已停用”,然后单击“确定”。此时,Guest 帐户将出现红色的 x 图标。



重命名 Administrator 帐户
默认的本地 Administrator 帐户由于享有很高的计算机控制权限,因此常常是攻击者利用的目标。为了增强安全性,请重命名默认的 Administrator 帐户并设置强密码。

注意:您不能重命名域控制器中的本地 Administrator 帐户。

要求

• 凭据:您必须以 Web 服务器 Administrators 组成员的身份登录。

• 工具:我的电脑。

• 重命名 Administrator 帐户并设置强密码

1.
右键单击桌面的“我的电脑”,单击“管理”。

2.
展开“本地用户和组”,双击“用户”。

3.
右键单击 Administrator 帐户,单击“重命名”。

4.
在字段中输入名称,然后按 Enter。

5.
右键单击 Administrator 帐户,单击“设置密码”。

6.
在“新密码”字段中输入新的密码。

7.
在“确认密码”字段输入同样的密码,然后单击“确定”。



重命名 IUSR_ComputerName 帐户
IUSR_ComputerName 是系统默认的匿名 Internet 用户帐户,它在安装 IIS 时创建。ComputerName 的值是安装 IIS 时服务器的 NetBIOS 名称。

要求

• 凭据:您必须以 Web 服务器 Administrators 组成员的身份登录。

• 工具:我的电脑。

• 重命名 IUSR 帐户

1.
右键单击桌面的“我的电脑”,单击“管理”。

2.
展开“本地用户和组”,双击“用户”文件夹。

3.
右键单击 IUSR_ComputerName 帐户,单击“重命名”。

4.
在编辑框输入新名称,然后单击框外。



验证新的设置

验证本地计算机是否应用了正确的安全设置。

• 验证帐户是否已停用

1.
按 Ctrl+Alt+Del 组合键,单击“注销”退出 Web 服务器。

2.
在“登录到 Windows”对话框的“用户名”框中键入已停用的帐户名,输入已停用帐户的密码,然后单击“确定”。
您将收到下列消息:

您的帐户已被停用。请向系统管理员咨询。


• 验证帐户是否已重命名

1.
按 Ctrl+Alt+Del 组合键,单击“注销”退出 Web 服务器。

2.
在“登录到 Windows”对话框的“用户名”框中键入重命名前的帐户名,输入重命名后的帐户密码,然后单击“确定”。
您将收到下列消息:

系统无法让您登录。请确定您的用户名及域无误,然后再次输入密码。密码的字母必须使用正确的大小写。

3.
单击“确定”,在“用户名”框中键入重命名后的帐户名。

4.
键入重命名后的帐户密码,单击“确定”。
然后您就可用已更名的帐户登录计算机了。



返回页首
确保文件和目录的安全
使用强大的访问控制可确保文件和目录不受攻击。在大多数情况下,许可访问特定的帐户要比拒绝访问特定的帐户更有效。请尽可能在目录级设置访问权限。文件一旦添加到文件夹中便继承了文件夹的相应权限,因此您无需再完成任何设置。

本节提供了下列分步指导来帮助您确保文件和目录的安全:

• 重新分配并设置 IIS 日志文件权限

• 配置 IIS 元数据库权限


重新分配并设置 IIS 日志文件权限
要增强 IIS 日志文件的安全性,您应将它们重新分配到使用 NTFS 文件系统的非系统驱动器。这里的非系统驱动器不应与您的 Web 站点同址。

本节提供了下列分步指导来帮助您重新分配并设置 IIS 日志文件权限:

• 将 IIS 日志文件移至非系统分区。

• 设置 IIS 日志文件的 ACL。

• 验证新的设置


要求

• 凭据:您必须以 Web 服务器 Administrators 组成员的身份登录。

• 工具:我的电脑,Internet 服务管理器。

• 将 IIS 日志文件移至非系统分区

1.
右键单击桌面的“我的电脑”,单击“资源管理器”。

2.
浏览 IIS 日志文件将重新分配到的目标位置。

3.
右键单击目标位置的上一级目录,单击“新建”,然后单击“文件夹”。

4.
命名文件夹,例如“ContosoIISLogs”,然后按 Enter。

5.
单击“开始”>“程序”>“管理工具”>“Internet服务管理器”。

6.
右键单击 Web 站点,选择“属性”。

7.
单击“Web 站点”选项卡,在“启用日志记录”帧中单击“属性”。

8.
在“常规属性”选项卡中,单击“浏览”,选择刚才创建的文件夹来保存 IIS 日志文件。

9.
单击“确定”两次。



注意:如果 IIS 日志文件已在原位置 C:\WINNT\System32\logfiles,您必须手动将这些文件移至新位置。IIS 不会自动移动那些文件。

• 设置 IIS 日志文件的 ACL

1.
右键单击桌面的“我的电脑”,单击“资源管理器”。

2.
浏览包含 IIS 日志文件的目录。

3.
右键单击此文件夹,单击“属性”,然后单击“安全”选项卡。

4.
在顶部窗格中选择“Administrators”,确保底部窗格中的权限已设定“完全控制”。

5.
在顶部窗格中选择“System”,确保底部窗格中的权限已设定“完全控制”。

6.
在顶部窗格中选择“Everyone”,单击“删除”,然后单击“确定”。



验证新的设置

验证本地计算机是否应用了正确的安全设置。

• 验证日志文件是否已移走,是否安全

1.
单击“开始”>“搜索”>“文件或文件夹”。

2.
在“要搜索的文件或文件夹名为”中键入部分或完整的文件名,在“搜索范围”中选择地址,然后单击“立即搜索”。
搜索结果将返回日志文件的新地址。

3.
按 Ctrl+Alt+Del 组合键,单击“注销”。

4.
使用没有日志文件访问权限的帐户登录 Web 服务器。

5.
右键单击“我的电脑”,单击“资源管理器”,然后浏览受保护的日志文件的位置。

6.
右键单击日志文件,单击“打开”。
通常,您将看到下面的消息:

访问被拒绝。



设置 IIS 元数据库权限
IIS 元数据库是一种二进制文件,其中包括了大多数的 IIS 配置信息。只有 Administrators 组的成员和 LocalSystem 帐户才有完全控制元数据库的权限。您必须审核 Everyone 组成员的所有元数据库访问操作,这一点非常重要。

本节提供了下列分步指导来帮助您配置 IIS 元数据库:

• 限制 MetaBase.bin 文件的访问权限

• 审核 MetaBase.bin 文件的访问权限

• 禁用 FileSystemObject 组件


要求

• 凭据:您必须以 Web 服务器 Administrators 组成员的身份登录。

• 工具:我的电脑。

• 限制 MetaBase.bin 文件的访问权限

1.
右键单击桌面的“我的电脑”,单击“资源管理器”。

2.
查找 C:\WINNT\system32\inetsrv\MetaBase.bin 文件,右键单击文件,然后单击“属性”。

3.
在“安全”选项卡中,删除元数据库的所有文件权限,然后将“完全控制”权限仅授予 Administrators 和 LocalSystem。


• 审核 MetaBase.bin 文件的访问权限

1.
右键单击桌面的“我的电脑”,单击“资源管理器”。

2.
查找 C:\WINNT\system32\inetsrv\MetaBase.bin 文件,右键单击文件,然后单击“属性”。

3.
单击“安全”选项卡,单击“高级”,单击“审核”,最后单击“添加”。

4.
选择“Everyone”,单击“添加”,然后单击“确定”。

5.
为下列访问类型选择“允许”或“拒绝”,然后单击“确定”。

• 遍历文件夹/运行文件

• 列出文件夹/读取数据

• 创建文件/写入数据




验证新的设置

验证本地计算机是否应用了正确的安全设置来审核并限制 MetaBase.bin 文件的访问权限。

• 验证是否已限制 MetaBase.bin 文件的访问权限

1.
按 Ctrl+Alt+Del 组合键,单击“注销”。

2.
使用没有 MetaBase.bin 文件访问权限的帐户登录 Web 服务器。

3.
右键单击“我的电脑”,单击“资源管理器”,查找 MetaBase.bin 的地址。

4.
右键单击 MetaBase.bin 文件,单击“打开”。
您将看到下面的消息:

访问被拒绝。



禁用 FileSystemObject 组件
ASP、Windows 脚本宿主和其他脚本应用程序都使用 FileSystemObject (FSO) 组件来创建、删除和获取相关信息并操作驱动程序、文件夹和文件。请考虑禁用 FSO 组件,但注意这将删除字典对象。此外,请确认没有其他程序必须使用该组件。

要求

• 凭据:您必须以 Web 服务器 Administrators 组成员的身份登录。

• 工具:命令提示符。

• 禁用 FileSystemObject 组件

1.
单击“开始”>“运行”,在“打开”字段键入 cmd,单击“确定”。

2.
将目录更改到 C:\WINNT\system32。

3.
在命令提示符中,键入 regsvr32 scrrun.dll /u,然后按 Enter。
您将看到下面的消息:

DllUnregisterServer in scrrun.dll succeeded.

4.
单击“确定”。

5.
在命令提示符中,键入 exit,关闭命令提示符窗口。



返回页首
确保 Web 站点和虚拟目录的安全
将 Web 根目录和虚拟目录重新分配到非系统分区可使它们免受目录遍历 (directory traversal) 攻击。攻击者利用这种攻击可执行运行操作系统的程序和工具。由于不可能跨驱动器遍历,因此将 Web 站点内容重新分配到其他驱动器可增强防御此攻击的能力。

本节提供了下列分步指导来帮助您确保 Web 站点和虚拟目录安全:

• 将 Web 站点移至非系统驱动器

• 禁用父路径设置

• 配置 Web 站点权限


将 Web 站点移至非系统驱动器
请不要使用默认的 \inetpub\wwwroot 目录保存 Web 站点内容。例如,如果系统安装在 C 盘,请考虑将 Web 站点和内容目录移至 D 盘,这可缓解目录遍历带来的风险,防止攻击者浏览 Web 服务器的目录结构。

要求

• 凭据:您必须以 Web 服务器 Administrators 组成员的身份登录。

• 工具:Internet 服务管理器,命令提示符。

• 将 Web 站点移至非系统驱动器

1.
单击“开始”>“程序”>“管理工具”>“Internet 服务管理器”。

2.
右键单击要移动内容的 Web 站点,单击“停止”。

3.
在任务栏中,单击“开始”,单击“运行”,然后键入 cmd,单击“确定”。

4.
在命令提示符中键入下列命令:

xcopy c:\inetpub\wwwroot\<site name>
<drive>:\wwwroot\<site name> /s /i /o

5.
返回 Internet 服务管理器管理单元。

6.
右键单击 Web 站点,单击“属性”。

7.
单击“主目录”选项卡,单击“浏览”,找到刚才已复制的文件的新目录位置。

8.
右键单击 Web 站点,单击“开始”。



验证新的设置

验证本地计算机是否应用了正确的安全设置。

• 验证是否已将 Web 站点内容移至非系统驱动器或文件夹

1.
单击“开始”>“程序”>“管理工具”>“Internet 服务管理器”。

2.
右键单击包含移动内容的 Web 站点,单击“属性”。

3.
单击“主目录”选项卡,确认“本地路径”中是否包含文件的新位置,然后单击“确定”。



禁用父路径设置
IIS 元数据库设置可防止在脚本和应用程序调用中使用父路径。禁用父路径有助于防御目录遍历攻击。下例显示了 ASP 文件中的父路径:

<!--#include file="../<filename.ext>"-->

一旦禁用父路径,ASP 文件将包含下面格式的路径声明:

<!--#include virtual="/<virtual path>/<filename.ext>"-->

其中,<virtual path> 是文件驻留在 Web 服务器中的虚拟目录的名称。

要求

• 凭据:您必须以 Web 服务器 Administrators 组成员的身份登录。

• 工具:Internet 服务管理器

• 禁用父路径

1.
单击“开始”>“程序”>“管理工具”>“Internet 服务管理器”。

2.
右键单击 Web 站点的根目录,单击“属性”。

3.
单击“主目录”选项卡,单击“配置”。

4.
单击“应用程序选项”选项卡,清除“启用父路径”复选框。



验证新的设置

验证本地计算机是否应用了正确的安全设置。

• 验证是否已禁用父路径

1.
单击“开始”>“程序”>“管理工具”>“Internet 服务管理器”。

2.
右键单击 Web 站点的根目录,单击“属性”。

3.
单击“主目录”选项卡,单击“配置”。

4.
单击“应用程序选项”选项卡,确保“启用父路径”复选框已清除,然后单击“确定”。



设置 Web 站点权限
您可以针对特定站点、目录和文件配置 Web 服务器访问权限。这些权限适用于所有用户,无论用户的具体访问权限如何。

配置文件系统目录的权限
Internet 信息服务依靠 NTFS 权限使各文件和目录拒绝未经授权的访问,从而确保了安全性。与 Web 站点权限(应用于所有用户)不同,NTFS 权限精确定义了有 Web 站点内容访问权限的具体用户,以及用户如何处理这些内容。

访问控制列表 (ACL) 指出了哪些用户或组有权访问或修改特定的文件。如果不想在每个文件中设置 ACL,不妨考虑为每种文件类型创建一个新目录,然后在新目录上设置 ACL,并允许文件继承 ACL 的设置。

要求

• 凭据:您必须以 Web 服务器 Administrators 组成员的身份登录。

• 工具:我的电脑。

• 将 Web 站点内容复制到独立的文件夹中

1.
右键单击桌面的“我的电脑”,单击“资源管理器”。

2.
查找含 Web 站点内容的文件夹。

3.
选择 Web 站点内容的最高一级文件夹。

4.
在“文件”菜单中,单击“新建”,然后单击“文件夹”。

5.
命名此文件夹,然后按 Enter。

6.
按住 Ctrl,选择要复制的页。

7.
右键单击页,然后单击“复制”。

8.
右键单击新文件夹,单击“粘贴”。

注意:如果有这些页的超级链接,请务必更新这些链接来反映新地址。


• 设置物理目录的权限

1.
右键单击桌面的“我的电脑”,单击“资源管理器”。

2.
单击包含要保护的页的内容文件夹。

3.
右键单击文件夹,单击“属性”,然后单击“安全”选项卡。

4.
在顶部窗格,将“Everyone”组从名称列表中删除,然后单击“添加”。

5.
键入要授予内容访问权限的用户或组的名称,然后单击“确定”。

注意:这些用户和组必须是 Web 服务器所驻留的域的一部分。如果不是,请务必在继续操作前添加它们。

6.
在顶部窗格中,选择刚才添加的用户或组;在下方窗格框选择要授予的相应权限,然后单击“确定”。
对于大多数的用户或组,权限“读取及执行”已足够。但在一些特定情况下,也许还要授予用户写入或完全控制的权限。



配置虚拟目录的权限
大多数用户并不需要访问 Web 服务器的所有内容。为了保护 Web 服务器的内容,您必须为 Web 服务器的虚拟目录设置适当的访问权限。

• 设置虚拟目录的权限

1.
单击“开始”>“程序”>“管理工具”>“Internet 服务管理器”。

2.
右键单击要设置虚拟目录权限的 Web 站点,单击“所有任务”,然后单击“权限向导”。

3.
根据向导中的步骤进行设置。



验证新的设置

验证本地计算机是否应用了正确的安全设置。

• 验证是否已拒绝物理或虚拟目录的写入权限

1.
按 Ctrl+Alt+Del 组合键,单击“注销”。

2.
使用物理或虚拟目录的“读取及运行”权限帐户登录 Web 服务器。

3.
右键单击桌面的“我的电脑”,单击“资源管理器”,查找要复制到物理或虚拟目录下的文件。

4.
右键单击文件,然后单击“复制”。

5.
定位到物理或虚拟目录位置,右键单击目录。上下文菜单中此时应没有“粘贴”选项。这表示您没有此目录的写入权限。



返回页首
配置 Web 服务器中的安全套接字层 (SSL)
在 Web 服务器中配置安全套接字层 (SSL) 安全功能可验证内容的完整性和用户的身份,同时对网络传输进行加密。SSL 安全依赖于服务器证书,服务器证书可在用户传输个人信息(如信用卡号)前验证 Web 站点。

本节提供了下列指导来帮助您在 Web 服务器中配置 SSL:

• 获取并安装服务器证书

• 执行并启用 Web 服务器中的 SSL 连接


获取并安装服务器证书
证书是由不属于 Microsoft 的证书颁发机构 (CA) 颁发的。通常,服务器证书与您的 Web 服务器有关,尤其是配置了 SSL 的 Web 站点。要获取 CA 颁发的证书,您必须首先创建证书请求并发送给 CA,然后在收到证书后进行安装。

证书要求有一对加密密钥,即公钥和私钥。这可增强安全性。一旦创建了服务器证书请求,实际上便已生成私钥。CA 颁发的服务器证书则包含公钥。

要求

• 凭据:您必须以 Web 服务器 Administrators 组成员的身份登录。

• 工具:Internet 服务管理器、Web 服务器证书向导。

• 创建服务器证书请求

1.
右键单击桌面的“我的电脑”,单击“管理”。

2.
展开“服务和应用程序”,然后展开“Internet 信息服务”。

3.
右键单击要安装服务器证书的 Web 站点,单击“属性”。

4.
在“目录安全性”选项卡的“安全通信”中,单击“服务器证书”,打开 Web 服务器证书向导,单击“下一步”。

5.
选择“创建新的证书”,单击“下一步”。

6.
选中“现在准备证书请求,但稍后发送”,单击“下一步”。

7.
在“名称”字段输入容易记的名称。在默认情况下,系统使用创建证书请求的 Web 站点名称。例如,http://www.contoso.com。

8.
指定位长,单击“下一步”。
加密密钥的位长决定了加密程度。大多数不属于 Microsoft 的 CA 都比较偏爱最少 1024 位的值。

9.
在“组织”部分,输入组织和组织单位信息。确保信息正确,然后单击“下一步”。

10.
在“站点公用名称”部分输入带域名的主机名称,然后单击“下一步”。

11.
输入地理信息,然后单击“下一步”。

12.
将文本保存为 .txt 格式。系统默认的文件名和位置是 C:\certreq.txt。
下例显示了证书请求文件的样子。

-----BEGIN NEW CERTIFICATE REQUEST----- MIIDATCCAmoCAQAwbDEOMAwGA1UEAxMFcGxhbjgxDDAKBgNVBAsTA1BTUzESMBAG A1UEChMJTWljcm9zb2Z0MRIwEAYDVQQHEwlDaGFybG90dGUxFzAVBgNVBAgTDk5v cnRoIENhcm9saW5hMQswCQYDVQQGEwJVUzCBnzANBgkqhkiG9w0BAQEFAAOBjQAw gYkCgYEAtW1koGfdt+EoJbKdxUZ+5vE7TF1ZuT+xaK9jEWHESfw11zoRKrHzHN0f IASnwg3vZ0ACteQy5SiWmFaJeJ4k7YaKUb6chZXG3GqL4YiSKFaLpJX+YRiKMtmI JzFzict5GVVGHsa1lY0BDYDO2XOAlstGlHCtENHOKpzdYdANRg0CAwEAAaCCAVMw GgYKKwYBBAGCNw0CAzEMFgo1LjAuMjE5NS4yMDUGCisGAQQBgjcCAQ4xJzAlMA4G A1UdDwEB/wQEAwIE8DATBgNVHSUEDDAKBggrBgEFBQcDATCB/QYKKwYBBAGCNw0C AjGB7jCB6wIBAR5aAE0AaQBjAHIAbwBzAG8AZgB0ACAAUgBTAEEAIABTAEMAaABh AG4AbgBlAGwAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBp AGQAZQByA4GJAGKa0jzBn8fkxScrWsdnU2eUJOMUK5Ms87Q+fjP1/pWN3PJnH7x8 MBc5isFCjww6YnIjD8c3OfYfjkmWc048ZuGoH7ZoD6YNfv/SfAvQmr90eGmKOFFi TD+hl1hM08gu2oxFU7mCvfTQ/2IbXP7KYFGEqaJ6wn0Z5yLOByPqblQZAAAAAAAA AAAwDQYJKoZIhvcNAQEFBQADgYEAhpzNy+aMNHAmGUXQT6PKxWpaxDSjf4nBmo7o MhfC7CIvR0McCQ+CBwuLzD+UJxl+kjgb+qwcOUkGX2PCZ7tOWzcXWNmn/4YHQl0M GEXu0w67sVc2R9DlsHDNzeXLIOmjUl935qy1uoIR4V5C48YNsF4ejlgjeCFsbCoj Jb9/2RM=
-----END NEW CERTIFICATE REQUEST-----

13.
确认请求的详细信息,单击“下一步”。


• 提交服务器证书请求

1.
联系您的 CA,确定提交请求的要求。

2.
按 CA 要求的格式复制前面创建的文本文件内容。

3.
将请求发送给您的 CA。



一旦收到证书,便可以着手在 Web 服务器中安装证书。

• 安装服务器证书

1.
复制收到的证书密钥,保存为文本文件。

2.
使用 Cert.txt 格式保存文件。

3.
右键单击“我的电脑”,单击“管理”。

4.
展开“服务和应用程序”,然后展开“Internet 信息服务”。

5.
右键单击要安装服务器证书的 Web 站点,单击“属性”。

6.
在“目录安全”选项卡的“安全通信”中,单击“服务器证书”,打开 Web 服务器证书向导,然后单击“下一步”。

7.
选中“处理挂起的请求并安装证书”,单击“下一步”。

8.
定位到步骤 1 保存的文本文件。单击“下一步”两次,然后单击“完成”。



验证新的设置

验证本地计算机是否应用了正确的安全设置。

• 验证 Web 服务器是否已安装证书

1.
单击“开始”>“程序”>“管理工具”>“Internet 服务管理器”。

2.
右键单击包含要查看的证书的 Web 站点,单击“属性”。

3.
在“目录安全”选项卡的“安全通信”中,单击“查看证书”,然后审查证书,最后单击“确定”两次。



启用并执行 Web 服务器中的 SSL 连接
安装服务器证书后,您必须在 Web 服务器中启用 SSL 连接,然后执行 SSL 连接。

要求

• 凭据:您必须以 Web 服务器 Administrators 组成员的身份登录。

• 工具:Internet 服务管理器 MMC 管理单元。

• 启用 Web 服务器中的 SSL 连接

1.
右键单击“我的电脑”,单击“管理”。

2.
展开“服务和应用程序”,然后展开“Internet 信息服务”。

3.
右键单击要安装服务器证书的 Web 站点,单击“属性”。

4.
在“Web 站点”选项卡的“Web 站点标识”部分,确认“SSL Port”字段是否已写入数字 443,然后单击“高级”。
通常,您将在“此网站的多个标识”字段中看到两个字段,即 Web 站点的 IP 地址和端口。

5.
如果端口 443 未列在“此网站的多个标识”字段,请单击“添加”。

6.
选择服务器 IP 地址,在“SSL 端口”字段输入数字 443,然后单击“确定”。


• 执行 SSL 连接

1.
右键单击“我的电脑”,单击“管理”。

2.
展开“服务和应用程序”,然后展开“Internet 信息服务”。

3.
右键单击要安装服务器证书的 Web 站点,单击“属性”。

4.
单击“目录安全”选项卡。在“安全通信”中单击“编辑”。

5.
选中“要求安全通道 (SSL)”,选择加密强度,然后单击“确定”。

注意:如果指定 128 位密码,使用 40 位或 56 位浏览器的用户便无法与您的 Web 站点通信,除非这些用户更新加密程度。



验证新的设置

验证本地计算机是否应用了正确的安全设置。

• 验证 Web 服务器中的 SSL 连接

1.
打开浏览器,尝试使用标准的 http// 协议连接您的 Web 服务器。例如,在“地址”框中键入:http://www.contoso.com
通常,如果未执行 SSL,一般出现下面的错误消息:

此页必须通过安全通道查看。
您正试图查看的页面要求在地址中使用“https”。

2.
键入下列地址尝试连接到同一页:https://www.contoso.com
通常,您将看到 Web 服务器的默认页。



返回页首
相关信息
有关确保 IIS 5.0 和 5.1 安全的详细信息,请参阅下列内容:

• TechNet 网站上的 From Blueprint to Fortress: A Guide to Securing IIS 5.0,其网址为 http://go.microsoft.com/fwlink/?LinkId=22688(英文)。

• TechNet 网站上的 Secure Internet Information Services 5 Checklist,其网址为
http://go.microsoft.com/fwlink/?LinkId=22689(英文)。

• TechNet 网站上的 Microsoft Security Bulletin Search,其网址为
http://go.microsoft.com/fwlink/?LinkId=22690(英文)。


有关 IIS 5.0 和 IIS 5.1 的详细信息,请参阅下列内容:

• TechNet 网站上的 Internet Information Services (IIS) Security Center,其网址为
http://go.microsoft.com/fwlink/?LinkId=22691(英文)。

• Microsoft 网站上的 Windows 2000 Web and Application Services 技术中心,其网址为
http://go.microsoft.com/fwlink/?LinkId=22692(英文)。

• Microsoft 网站上的 Internet Information Services 5.1,其网址为
http://go.microsoft.com/fwlink/?LinkId=22693(英文)。



  2004年5月4日  阅读 1221 次  发送此页给朋友  来源:    版权争议  删除

相关文章:   近期热点:

上一篇: 在 Windows 2000 中加固 TCP/IP 协议栈以抵御拒绝服务的攻击
下一篇: 保护 Internet Information Services 6.0
返回上一层...
搜索:

(C)2001-2005 7i24.Com 保留所有权利