这是我在微软网站上看到的,觉得满好的,就贴过来了,嘿嘿。。。
简介Web 服务器通常是各种安全攻击的目标。其中一些攻击非常严重,足以对企业资产、工作效率和客户关系造成相当的破坏—所有攻击都会带来不便和麻烦。Web 服务器的安全是企业成功的关键。
本文档说明如何开始保护 Web 服务器的过程。此 Web 服务器在 Microsoft® Windows Server™ 2003 Standard Edition 操作系统上运行 Internet Information Services (IIS) 6.0。首先,本节描述影响 Web 服务器安全的一些最常见威胁。然后,本文档提供说明性指导,使您的 Web 服务器更安全地防御这些攻击。
通过对 IIS 早期版本做以下更改,IIS 6.0 以更加主动的姿态来防御恶意用户和攻击者:
•
安装 Windows Server 2003 Standard Edition 时,默认情况下没有安装 IIS 6.0。
•
初次安装 IIS 6.0 时,Web 服务器仅服务于或显示静态网页 (HTML),这降低了服务于动态网页或可执行文件、内容而带来的风险。
•
万维网发布服务(WWW 服务)是 IIS 6.0 初次安装时在默认情况下支持的唯一服务。您可以在需要时启用所需要的特定服务。
•
IIS 6.0 初次安装时,默认情况下禁用 ASP 和 ASP.NET。
•
对于其他保护,IIS 6.0 中所有默认的安全配置设置都符合或超过由 IIS Lockdown Tool 提供的安全配置设置。IIS Lockdown Tool 在 IIS 的早期版本上运行,旨在通过禁用不必要的特性来减少 Web 服务器的攻击面。有关 IIS Lockdown Tool 的详细信息,请参阅 Security Guidance Kit 中的“确保 Internet 信息服务 5.0 和 5.1 的安全”。
由于 IIS 6.0 的默认设置禁用了 Web 服务通常使用的许多功能,因此,本文档说明如何在降低服务器暴露给潜在攻击者程度的同时配置 Web 服务器的其他功能。
本文档就增强 Web 服务器的安全提供以下指导:
•
减少 Web 服务器的攻击面,或者降低服务器暴露给潜在攻击者的程度。
•
配置匿名访问的用户和组帐户
•
保护文件和目录不接受未经授权的访问
•
保护网站和虚拟目录不接受未经授权的访问
•
配置 Web 服务器上安全套接字层 (SSL)
要点:本文档包括的所有逐步说明都是使用“开始”菜单形成的,此菜单在安装操作系统时默认显示。如果修改过“开始”菜单,则这些步骤可能稍有不同。
在您完成本文档中的步骤之后,Web 服务器将能够服务于以 .asp 页面形式提供的动态内容,而且仍然能够对以下类型的攻击提供强有力的保护,这些攻击有时威胁到面向 Internet 的服务器:
•
配置文件攻击,此攻击搜集网站的有关信息;可通过禁止不需要的端口和禁用不需要的协议来减少这种攻击。
•
拒绝服务攻击,此攻击使 Web 服务器充满各种请求;可通过应用安全修补程序和软件更新来最大限度地减少这种攻击。
•
没有正确权限的用户未经授权的访问;通常通过配置 Web 和 NTFS 权限来阻止这种访问。
•
恶意代码在 Web 服务器上任意执行;可通过防止对系统工具和命令的访问来最大限度地减少这种攻击。
•
特权提升,使恶意用户能够使用具有较高特权的帐户来运行程序;可通过使用最低特权的服务和用户帐户来最大限度地减少这种攻击。
•
来自病毒、蠕虫和特洛伊木马的破坏;可通过禁用不需要的功能、使用最低特权的帐户以及及时应用最新安全修补程序来遏制这种攻击。
注意:由于保护 Web 服务器是一个复杂而长期的过程,完全的安全性很难保证。
准备工作本节说明本文档中描述的 Web 服务器的系统要求和特征。
系统要求本文档中用作示例的 Web 服务器有以下系统要求:
•
此服务器运行 Windows Server 2003 Standard Edition。
•
操作系统安装在 NTFS 分区上。有关 NTFS 的信息,请在 Windows Server 2003 中的帮助和支持中心搜索“NTFS”。
•
Windows Server 2003 所有必需的修补程序和更新都已经应用到此服务器。为了验证 Web 服务器上是否安装了最新的安全更新,请转到位于 Microsoft 网站 http://go.microsoft.com/fwlink/?LinkId=22630 上的 Windows Update 网页,利用 Windows Update 来扫描服务器是否有可用的更新。
•
Windows Server 2003 安全保护已经应用到服务器。
本文档提供介绍性信息,帮助您设置最初的几个步骤,以配置一台更安全的 Web 服务器。不过,为了使 Web 服务器尽可能安全,您必须了解服务器上运行的应用程序的操作。本文档不包括应用程序特定安全配置的有关信息。
Web 服务器特征本文档中用作示例的 Web 服务器有以下特征要求:
•
Web 服务器正在工作进程隔离模式下运行 IIS 6.0 。
•
Web 服务器托管一个面向 Internet 的网站。
•
Web 服务器配有防火墙,仅支持 HTTP 端口 80 和 HTTPS 端口 443 上的流量。
•
此 Web 服务器是专用 Web 服务器,这种服务器只能用作 Web 服务器而不能用于其他目的,例如文件服务器、打印服务器或运行 Microsoft SQL Server® 的数据库服务器。
•
允许匿名访问网站。
•
Web 服务器服务于 HTML 和 ASP 网页。
•
没有在 Web 服务器上配置 Microsoft 的 FrontPage® 2002 Server Extensions。
•
Web 服务器上的应用程序不需要数据库连接。
•
Web 服务器不支持 FTP(文件上传和下载)、SMTP(电子邮件)或 NNTP(新闻组)协议。
•
Web 服务器不使用 Internet Security and Acceleration Server。
•
管理员必须本地登录以管理 Web 服务器。
减少 Web 服务器的攻击面通过减少 Web 服务器的攻击面,或者降低服务器暴露给潜在攻击者的程度,来开始保护 Web 服务器的过程。例如,仅启用 Web 服务器正常运行所必需的组件、服务和端口。
禁用 SMB 和 NetBIOS主机枚举攻击扫描网络,以便确定潜在目标的 IP 地址。要降低主机枚举成功攻击 Web 服务器上面向 Internet 的端口的可能性,应禁用除传输控制协议 (TCP) 以外的所有网络协议。Web 服务器中的面向 Internet 的网络适配器上不需要服务器消息块 (SMB) 和 NetBIOS。
本节提供以下逐步说明,以降低 Web 服务器的攻击面:
•
禁用面向 Internet 连接上的 SMB
•
禁用基于 TCP/IP 的 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 驱动程序,并需要重新启动系统。
验证新的设置验证正确安全设置是否已经应用于您的 Web 服务器。
•
验证 SMB 是否已禁用
1.
单击“开始”,单击“设置”,然后单击“网络和拨号连接”。
2.
右键单击您的面向 Internet 的连接,然后单击“属性”。
3.
验证是否清除了“Microsoft 网络客户端”和“Microsoft 网络的文件和打印机共享”复选框,然后单击“确定”。
•
验证 NetBIOS 是否已禁用
1.
单击“开始”,右键单击“我的电脑”,然后单击“管理”。
2.
双击“系统工具”,然后选择“设备管理器”。
3.
右键单击“设备管理器”,单击“查看”,然后单击“显示隐藏的设备”。
4.
双击“非即插即用驱动程序”,然后单击“NetBios over Tcpip”。
上下文菜单中现在出现“启用”选择,这表示 NetBIOS over TCP/IP 目前已禁用。
5.
单击“确定”关闭“设备管理器”。
只选择基本的 IIS 组件和服务IIS 6.0 除了包括 WWW 服务之外,还包括一些子组件和服务,例如 FTP 服务和 SMTP 服务。为了最大限度地降低针对特定服务和子组件的攻击风险,建议您只选择网站和 Web 应用程序正确运行所必需的服务和子组件。
下表显示用作本文档示例的 Web 服务器上 IIS 子组件和服务在“添加或删除程序”中的推荐设置。
IIS 子组件和服务的推荐设置
子组件或服务
默认设置
Web 服务器设置
后台智能传输服务 (BITS) 服务器扩展
禁用
不更改
公用文件
启用
不更改
FTP 服务
禁用
不更改
FrontPage 2002 Server Extensions
禁用
不更改
Internet 信息服务管理器
启用
不更改
Internet 打印
禁用
不更改
NNTP 服务
禁用
不更改
SMTP 服务
启用
禁用
万维网服务
启用
不更改
要求•
凭据:您必须作为 Web 服务器 Administrators 组成员登录。
•
工具:添加或删除程序。
•
配置 IIS 组件和服务
1.
单击“开始”,单击“控制面板”,然后单击“添加或删除程序”。
2.
单击“添加/删除 Windows 组件”。
3.
在“Windows 组件向导”页面中的“组件”下,单击“应用程序服务器”,然后单击“详细信息”。
4.
单击“Internet 信息服务 (IIS)”,然后单击“详细信息”。
5.
参考上表,然后通过选择或清除相应组件或服务的复选框,来选择或取消相应的 IIS 组件和服务。
6.
按照“Windows 组件向导”中的以下说明来完成此向导。
验证新的设置验证正确安全设置是否已经应用于您的 Web 服务器。
•
验证是否选择了 IIS 组件和服务
•
单击“开始”,单击“控制面板”,然后单击“管理工具”。
在“管理工具”菜单中出现“Internet 信息服务 (IIS) 管理器”。
只启用基本的 Web 服务扩展服务于动态内容的 Web 服务器需要 Web 服务扩展。每种动态内容都响应特定的 Web 服务扩展。由于安全原因,IIS 6.0 允许您启用和禁用单独的 Web 服务扩展,因此,只启用您的内容所需要的扩展。
警告:不要启用所有的 Web 服务扩展。尽管启用所有的 Web 服务扩展可确保最大限度地兼容现有的网站和应用程序,但却大幅增加了 Web 服务器的攻击面。您可能需要分别测试您的网站和应用程序,以确保只启用必需的 Web 服务和扩展。
假设配置 Web 服务器来服务于作为默认网页的 Default.asp 文件。尽管配置了默认网页,但您必须启用 Active Server Pages Web 服务扩展才能查看 .asp 网页。
要求•
凭据:您必须作为 Web 服务器 Administrators 组成员登录。
•
工具:Internet 信息服务 (IIS) 管理器 (Iis.msc)。
•
启用 Active Server Pages Web 服务扩展
1.
单击“开始”,单击“控制面板”,单击“管理工具”,然后双击“Internet 信息服务 (IIS) 管理器”。
2.
双击“本地计算机”,然后单击“Web 服务扩展”。
3.
单击“Active Server Pages”,然后单击“允许”。
验证新的设置验证正确安全设置是否已经应用于您的 Web 服务器。
•
验证是否启用了 Active Server Pages Web 服务扩展
1.
打开“文本编辑器”,键入文本,然后将文件作为 Default.asp 保存到 C:\inetpub\wwwroot 目录。
2.
在 Internet Explorer 地址栏中,键入以下 URL,然后按 Enter 键: http://localhost。
浏览器中出现 Default.asp 文件。
配置帐户建议您删除未使用的帐户,因为攻击者可能发现这些帐户,然后利用这些帐户来获取您服务器上的数据和应用程序的访问权。始终使用强密码,因为弱密码增加了成功进行强力攻击或字典攻击(即攻击者竭尽全力地猜密码)的可能性。使用以最低特权运行的帐户。否则,攻击者可以通过使用以高级特权运行的帐户来获取未经授权的资源的访问权。
本节对配置帐户提供以下逐步说明:
•
禁用未使用的帐户
•
使用应用程序池来隔离应用程序
禁用未使用的帐户未使用的帐户及其特权可以被攻击者用来获取服务器的访问权。您应该定期审核服务器上的本地帐户,并禁用未使用的任何帐户。在生产服务器上禁用这些帐户之前,先在测试服务器上禁用帐户,以确保禁用帐户不会对应用程序的操作方式带来不利影响。如果在测试服务器上禁用帐户没有出现任何问题,则在生产服务器上禁用帐户。
注意:如果您选择删除而不是禁用未使用的帐户,则一定要知道您不能恢复已删除的帐户,因而不能删除管理员帐户和来宾帐户。而且,一定要在生产服务器上删除帐户之前,先在测试服务器上删除此帐户。
本节对删除或禁用未使用的帐户提供以下逐步说明:
•
禁用来宾帐户
•
重命名管理员帐户
•
重命名 IUSR_ComputerName 帐户
禁用来宾帐户采用匿名连接来访问 Web 服务器时,使用来宾帐户。在默认安装 Windows Server 2003 时,禁用来宾帐户。 要限制对服务器的匿名连接,请确保禁用来宾帐户。
要求•
凭据:您必须作为 Web 服务器 Administrators 组成员登录。
•
工具:计算机管理
•
禁用来宾帐户
1.
单击“开始”,右键单击“我的电脑”,然后单击“管理”。
2.
双击“本地用户和组”,然后单击“用户”文件夹。来宾帐户应该以红色的 X 图标显示,以指示此帐户已禁用。如果来宾帐户未禁用,则继续步骤 3 来禁用此帐户。
3.
右键单击“Guest”(来宾)帐户,然后单击“属性”。
4.
在“常规”选项卡上,选中“帐户已停用”复选框,然后单击“确定”。
来宾帐户现在应该以红色 X 图标显示。
重命名管理员帐户默认的本地管理员帐户因其在计算机上的更高特权而成为恶意用户的目标。要增强安全性,请重命名默认的管理员帐户并分配一个强密码。
要求•
凭据:您必须作为 Web 服务器 Administrators 组成员登录。
•
工具:我的电脑。
•
重命名默认的管理员帐户并分配一个强密码
1.
单击“开始”,右键单击“我的电脑”,然后单击“管理”。
2.
双击“本地用户和组”,然后单击“用户”文件夹。
3.
右键单击“Administrator”(管理员)帐户,然后单击“重命名”。
4.
在框中键入名称,然后按 Enter 键。
5.
在桌面上,按 Ctrl+Alt+Del,然后单击“更改密码”。
6.
在“用户名”框中键入管理员帐户的新名称。
7.
在“旧密码”框中键入当前密码,在“新密码”框中键入新密码,在“确认新密码”框中重新键入新密码,然后单击“确定”。
警告:不要使用上下文菜单中的“设置密码”菜单项来更改密码,除非您忘记了密码并且没有可用的密码重置磁盘。使用这种方法来更改管理员密码可能导致受此密码保护的信息永久丢失。
重命名 IUSR 帐户默认的匿名 Internet 用户帐户 IUSR_ComputerName 是在 IIS 安装期间创建的。ComputerName 的值是安装 IIS 时服务器的 NetBIOS 名称。
要求•
凭据:您必须作为 Web 服务器 Administrators 组成员登录。
•
工具:我的电脑。
•
重命名 IUSR 帐户
1.
单击“开始”,右键单击“我的电脑”,然后单击“管理”。
2.
双击“本地用户和组”,然后单击“用户”文件夹。
3.
右键单击 IUSR_ComputerName 帐户,然后单击“重命名”。
4.
键入新帐户名称,然后按 Enter 键。
•
在 IIS 元数据库中更改 IUSR 帐户的值
1.
单击“开始”,单击“控制面板”,再单击“管理工具”,然后双击“Internet 信息服务 (IIS) 管理器”。
2.
右键单击“本地计算机”,然后单击“属性”。
3.
选中“允许直接编辑配置数据库”复选框,然后单击“确定”。
4.
浏览至 MetaBase.xml 文件的位置,默认情况下为 C:\Windows\system32\inetsrv。
5.
右键单击 MetaBase.xml 文件,然后单击“编辑”。
6.
搜索“AnonymousUserName”属性,然后键入 IUSR 帐户的新名称。
7.
在“文件”菜单上,单击“退出”,然后单击“是”。
验证新的设置验证正确安全设置是否已经应用于您的 Web 服务器。
•
验证帐户是否已禁用
1.
按 Ctrl+Alt+Del,然后单击“注销”以注销 Web 服务器。
2.
在“登录到 Windows”对话框中,在“用户名”框中键入已禁用帐户的名称,键入已禁用帐户的密码,然后单击“确定”。
出现以下消息:
您的帐户已被停用。请向系统管理员咨询。
•
验证帐户是否已重命名
1.
按 Ctrl+Alt+Del,然后单击“注销”以注销 Web 服务器。
2.
在“登录到 Windows”对话框中,在“用户名”框中键入已重命名帐户以前的名称,键入重命名帐户的密码,然后单击“确定”。
出现以下消息:
系统无法让您登录。请确定您的用户名及域无误,然后再次输入密码。密码的字母必须使用正确的大小写。
3.
单击“确定”,然后在“用户名”框中键入重命名帐户的新名称。
4.
键入重命名帐户的密码,然后单击“确定”。
您应该能够用重命名的帐户登录到计算机。
使用应用程序池来隔离应用程序使用 IIS 6.0,可以将应用程序隔离到应用程序池。应用程序池是包含一个或多个 URL 的一个组,一个工作进程或者一组工作进程对应用程序池提供服务。因为每个应用程序都独立于其他应用程序运行,因此,使用应用程序池可以提高 Web 服务器的可靠性和安全性。
在 Windows 操作系统上运行进程的每个应用程序都有一个进程标识,以确定此进程如何访问系统资源。每个应用程序池也有一个进程标识,此标识是一个以应用程序需要的最低权限运行的帐户。可以使用此进程标识来允许匿名访问您的网站或应用程序。
要求•
凭据:您必须作为 Web 服务器 Administrators 组成员登录。
•
工具:我的电脑。
•
创建应用程序池
1.
单击“开始”,单击“控制面板”,再单击“管理工具”,然后双击“Internet 信息服务 (IIS) 管理器”。
2.
双击本地计算机,右键单击“应用程序池”,单击“新建”,然后单击“应用程序池”。
3.
在“应用程序池 ID”框中,为应用程序池键入一个新 ID(例如,ContosoAppPool)。
4.
在“应用程序池设置”下,单击“Use default settings for the new application pool”(使用新应用程序池的默认设置),然后单击“确定”。
•
将网站或应用程序分配到应用程序池
1.
单击“开始”,单击“控制面板”,再单击“管理工具”,然后双击“Internet 信息服务 (IIS) 管理器”。
2.
右键单击您想要分配到应用程序池的网站或应用程序,然后单击“属性”。
3.
根据您选择的应用程序类型,单击“主目录”、“虚拟目录”或“目录”选项卡。
4.
如果您将目录或虚拟目录分配到应用程序池,则验证“应用程序名”框是否包含正确的网站或应用程序名称。
-或者-
如果在“应用程序名”框中没有名称,则单击“创建”,然后键入网站或应用程序的名称。
5.
在“应用程序池”列表框中,单击您想要分配网站或应用程序的应用程序池的名称,然后单击“确定”。
验证新的设置验证正确安全设置是否已经应用于您的 Web 服务器。
•
验证是否创建了应用程序池
1.
使用管理员帐户登录到 Web 服务器。
2.
单击“开始”,单击“控制面板”,再单击“管理工具”,然后双击“Internet 信息服务 (IIS) 管理器”。
3.
双击本地计算机,双击“应用程序池”,然后验证是否在应用程序池节点下出现您所创建的应用程序池。
4.
右键单击您所创建的程序池,然后单击“属性”。
5.
单击“标识”选项卡,验证此应用程序池是否设置为称作“网络服务”的预定义的安全帐户,然后单击“确定”。
•
验证网站或应用程序是否分配到特定的应用程序池
1.
使用管理员帐户登录到 Web 服务器。
2.
单击“开始”,单击“控制面板”,再单击“管理工具”,然后双击“Internet 信息服务 (IIS) 管理器”。
3.
双击本地计算机,双击“网站”,右键单击您想要验证应用程序池设置的网站,然后单击“属性”。
4.
根据您选择的应用程序类型,单击“主目录”、“虚拟目录”或“目录”选项卡。
5.
在“应用程序池”列表框中,验证是否列出您想要将网站分配到的应用程序池的名称,然后单击“取消”。
配置文件和目录的安全使用强访问控制来帮助保护敏感的文件和目录。在多数情况下,允许对特定帐户的访问比拒绝对特定帐户的访问更加有效。如有可能,请将访问设置在目录级。当文件添加到文件夹时,它们继承文件夹的权限,因此您不需要采取进一步的措施。
本节对配置文件和目录提供以下逐步说明:
•
重定位和设置 IIS 日志文件的权限
•
配置 IIS 元数据库权限
•
禁用 FileSystemObject 组件
重新定位和设置 IIS 日志文件的权限为了增强 IIS 日志文件的安全,您应该将文件重新定位到非系统驱动器,此驱动器格式化为使用 NTFS 文件系统。此位置应该与网站内容的位置不同。
要求•
凭据:您必须作为 Web 服务器 Administrators 组成员登录。
•
工具:我的电脑和 Internet 信息服务 (IIS) 管理器 (Iis.msc)。
•
将 IIS 日志文件的位置移动到非系统分区
1.
单击“开始”,右键单击“我的电脑”,然后单击“资源管理器”。
2.
浏览至您想要重新定位 IIS 日志文件的位置。
3.
右键单击您想要重新定位 IIS 日志文件的上一级目录,单击“新建”,然后单击“文件夹”。
4.
键入文件夹的名称,例如 ContosoIISLogs,然后按 Enter 键。
5.
单击“开始”,单击“控制面板”,再单击“管理工具”,然后双击“Internet 信息服务 (IIS) 管理器”。
6.
右键单击网站,然后单击“属性”。
7.
单击“网站”选项卡,然后单击“启用日志记录”框架中的“属性”。
8.
在“常规属性”选项卡中,单击“浏览”,然后导航到您刚才创建的文件夹以存储 IIS 日志文件。
9.
单击“确定”三次。
注意:如果您在原来的位置 Windows\System32\Logfiles 上有 IIS 日志文件,则必须将这些文件手动移动到新位置。IIS 不为您移动这些文件。
•
设置 IIS 日志文件的 ACL
1.
单击“开始”,右键单击“我的电脑”,然后单击“资源管理器”。
2.
浏览至日志文件所在的文件夹。
3.
右键单击此文件夹,单击“属性”,然后单击“安全”选项卡。
4.
在顶部窗格中,单击“Administrators”(管理员),确保底部窗格中的权限设置为“完全控制”。
5.
在顶部窗格中,单击“System”(系统),确保底部窗格中的权限设置为“完全控制”,然后单击“确定”。
验证新的设置验证正确安全设置是否已经应用于您的 Web 服务器。
•
验证是否移动了日志文件并设置了权限
1.
单击“开始”,单击“搜索”,然后单击“文件或文件夹”。
2.
在“要搜索的文件名”框中键入部分或完整的文件名(例如 LogFiles),在“搜索范围”框中选择一个位置,然后单击“立即搜索”。
搜索返回日志文件的新位置。
3.
按 Ctrl+Alt+Del,然后单击“注销”。
4.
使用没有日志文件访问权的帐户来登录到 Web 服务器。
5.
单击“开始”,右键单击“我的电脑”,单击“资源管理器”,然后浏览至 LogFiles 目录。
6.
右键单击 LogFiles 目录,然后单击“打开”。
出现以下消息:
•
拒绝访问。
配置 IIS 元数据库权限IIS 元数据库是包含大部分 IIS 配置信息的 XML 文件。
要求•
凭据:您必须作为 Web 服务器 Administrators 组成员登录。
•
工具:我的电脑和 MetaBase.xml 文件。
•
限制 MetaBase.xml 文件的访问权
1.
单击“开始”,右键单击“我的电脑”,然后单击“资源管理器”。
2.
浏览至 Windows\System32\Inetsrv\MetaBase.xml 文件,右键单击此文件,然后单击“属性”。
3.
单击“安全”选项卡,确认只有 Administrators 组的成员和 LocalSystem 帐户拥有对元数据库的完全控制访问权,删除所有其他文件权限,然后单击“确定”。
验证新的设置验证正确安全设置是否已经应用于您的 Web 服务器。
•
验证对 MetaBase.xml 文件受限制的访问
1.
按 Ctrl+Alt+Del,然后单击“注销”。
2.
使用没有 MetaBase.xml 文件访问权的帐户来登录到 Web 服务器。
3.
单击“开始”,右键单击“我的电脑”,单击“资源管理器”,然后浏览至 MetaBase.xml 的位置。
4.
右键单击 MetaBase.xml 文件,然后单击“打开”。
出现以下消息:
•
拒绝访问。
禁用 FileSystemObject 组件ASP、Windows 脚本主机和其他编写脚本的应用程序使用 FileSystemObject (FSO) 组件来创建、删除、获取信息以及操纵驱动器、文件夹和文件。可考虑禁用 FSO 组件,但要注意,这也将删除字典对象。另外,验证是否没有其他程序需要这个组件。
要求•
凭据:您必须作为 Web 服务器 Administrators 组成员登录。
•
工具:命令提示符。
•
禁用 FileSystemObject 组件
1.
单击“开始”,单击“运行”,在“打开”框中键入 cmd,然后单击“确定”。
2.
切换到 C:\Windows\system32 目录。
3.
在命令提示符处,键入 regsvr32 scrrun.dll /u ,然后按 Enter 键。
出现以下消息:
DllUnregisterServer in scrrun.dll succeeded。
4.
单击“确定”。
5.
在命令提示符处,键入 exit 关闭命令提示窗口。
保护网站和虚拟目录将 Web 根目录和虚拟目录重新定位到非系统分区,以帮助防御目录遍历攻击。这些攻击允许攻击者执行操作系统程序和工具。由于这种攻击不能遍历所有驱动器,因此,将网站内容重新定位到另一个驱动器可以增强对这些攻击的防护。
本节对保护网站和虚拟目录提供以下逐步说明:
•
将网站内容移动到非系统驱动器
•
配置网站权限
将网站内容移动到非系统驱动器不要使用默认的 \Inetpub\Wwwroot 目录作为网站内容的位置。例如,如果系统安装在 C: 驱动器,则将内容目录移动到 D: 驱动器,以减轻目录遍历攻击(这种攻击试图浏览 Web 服务器的目录结构)带来的危险。一定要验证是否所有的虚拟目录都指向新驱动器。
要求•
凭据:您必须作为 Web 服务器 Administrators 组成员登录。
•
工具:Internet 信息服务 (IIS) 管理器 (Iis.msc) 和命令提示。
•
将网站内容移动到非系统驱动器
1.
单击“开始”,单击“控制面板”,再单击“管理工具”,然后双击“Internet 信息服务 (IIS) 管理器”。
2.
右键单击您想要移动其内容的网站,然后单击“停止”。
3.
单击“开始”,单击“运行”,在“打开”框中键入 cmd,然后单击“确定”。
4.
在命令提示符处键入以下命令:
xcopy c:\inetpub\wwwroot\SiteName Drive:\wwwroot\SiteName /s /i /o
在上述命令中,
•
SiteName 由您的网站名代替。
•
Drive 由新驱动器名代替,例如 D。
5.
返回到 Internet 信息服务 (IIS) 管理器管理单元。
6.
右键单击网站,然后单击“属性”。
7.
根据您选择的应用程序类型,单击“主目录”、“虚拟目录”或“目录”选项卡,在“本地路径”框中键入新目录位置,然后单击“确定”。
-或者-
浏览至您刚才复制了文件的目录位置,然后单击“确定”。
8.
右键单击网站,然后单击“开始”。
验证新的设置验证正确安全设置是否已经应用于您的 Web 服务器。
•
验证网站内容是否已经移动到非系统驱动器
1.
单击“开始”,单击“搜索”,然后单击“文件或文件夹”。
2.
在“要搜索的文件名”框中键入部分或完整的文件名,在“搜索范围”中选择位置,然后单击“立即搜索”。
搜索结果列出您移动到新位置的文件以及原有位置的文件。
•
删除系统驱动器上的网站内容
•
导航到 C:\Inetpub\Wwwroot\SiteName 目录,然后删除移动到非系统驱动器的文件。
验证新的设置验证正确安全设置是否已经应用于您的 Web 服务器。
•
验证网站内容是否已经从系统驱动器上删除
1.
单击“开始”,单击“搜索”,然后单击“文件或文件夹”。
2.
在“要搜索的文件名”文本框中键入部分或完整的文件名,在“搜索范围”中选择一个位置,然后单击“立即搜索”。
搜索结果只列出您移动到新位置的文件。
配置网站权限可以为您的 Web 服务器配置特定站点、目录和文件的访问权。这些权限可以应用于所有用户,无论用户有何特定的访问权。
配置文件系统目录的权限IIS 6.0 依靠 NTFS 权限来帮助保护单个文件和目录不会受到未经授权的访问。网站权限应用于试图访问网站的任何人,与此不同的是,您可以使用 NTFS 权限来定义哪些用户可以访问您的内容,以及如何允许这些用户操作这些内容。为了增强安全性,同时使用网站权限和 NTFS 权限。
访问控制列表 (ACL) 指示哪些用户或组有访问或修改特定文件的权限。不是在每个文件上设置 ACL,而是为每种文件类型创建新目录,在每个目录上设置 ACL,然后允许文件从它们所在的目录中继承这些权限。
要求•
凭据:您必须作为 Web 服务器 Administrators 组成员登录。
•
工具:我的电脑和 Internet 信息服务 (IIS) 管理器 (Iis.msc)。
•
将网站内容移动到单独的文件夹
1.
单击“开始”,右键单击“我的电脑”,然后单击“资源管理器”。
2.
浏览至包含网站内容的文件,然后单击网站内容的最上层的文件夹。
3.
在“文件”菜单中,单击“新建”,然后单击“文件夹”,以便在网站的内容目录中创建一个新文件夹。
4.
为文件夹命名,然后按 Enter 键。
5.
按 Ctrl 键,然后选择您想要保护的每个网页。
6.
右键单击这些网页,然后单击“复制”。
7.
右键单击新文件夹,然后单击“粘贴”。
注意: 如果您已经创建了到这些网页的链接,则必须更新这些链接以便反映站点内容的新位置。
•
设置 Web 内容的权限
1.
单击“开始”,单击“控制面板”,再单击“管理工具”,然后双击“Internet 信息服务 (IIS) 管理器”。
2.
右键单击您想要配置的网站的文件夹、网站、目录、虚拟目录或文件,然后单击“属性”。
3.
根据您想要授权或拒绝访问的类型,选择或清除下列任何复选框(如果可用):
•
脚本源文件访问。用户可以访问源文件。如果选择“读”,则可以读源文件;如果选择“写”,则可以写源文件。脚本源访问包括脚本的源代码。如果“读”或“写”均未选择,则此选项不可用。
•
读(默认情况下选择)。用户可以查看目录或文件的内容和属性。
•
写。用户可以更改目录或文件的内容和属性。
•
目录浏览。用户可以查看文件列表和集合。
•
日志访问。对网站的每次访问创建日志项。
•
检索资源。允许检索服务检索此资源。这允许用户搜索资源。
4.
在“执行权限”列表框中,选择脚本执行的相应级别:
•
无。不在服务器上运行脚本和可执行文件(例如,文件类型为 .exe 的文件)。
•
仅脚本。只在服务器上运行脚本。
•
脚本和可执行文件。在服务器运行脚本和可执行文件。
5.
单击“确定”。如果目录的子节点配置了不同的网站权限,则出现“继承覆盖”框。
6.
如果出现“继承覆盖”框,在“子节点”列表中选择您想要应用目录的 Web 权限的子节点。
-或者-
单击“全选”来设置属性,以便将 Web 权限应用到所有子节点。
7.
如果您不只看到一个“继承覆盖”对话框,则从“子节点”列表中选择子节点,或者单击“全选”,然后单击“确定”,以便将此属性的 Web 权限应用到子节点。
如果一个子节点属于您已经更改了网站权限的目录,此节点还为特定选项设置了网站权限,则子节点的权限将覆盖您为目录设置的权限。如果您想要将目录级的 Web 权限应用到子节点,则必须在“继承覆盖”框中选择这些子节点。
验证新的设置验证正确安全设置是否已经应用于您的 Web 服务器。
•
验证是否拒绝网站内容目录的写权限
1.
按 Ctrl+Alt+Del,然后单击“注销”。
2.
使用在物理或虚拟目录上具有“读”和“执行”权限的帐户来登录到 Web 服务器。
3.
单击“开始”,右键单击“我的电脑”,单击“资源管理器”,浏览至一个文件位置,您想要将此位置的文件复制到物理或虚拟目录。
4.
右键单击此文件,然后单击“复制”。
5.
浏览至物理或虚拟目录的位置,然后右键单击此目录。“粘贴”选项在上下文菜单上不可用,这意味着您没有此目录的写权限。
在 Web 服务器上配置安全套接字层 在 Web 服务器上配置安全套接字层 (SSL) 安全功能,以便验证内容的完整性,验证用户身份并对网络传输加密。SSL 安全依靠服务器证书,此证书允许用户在传输个人信息(例如信用卡帐号)之前验证 Web 网站的身份。每个网站只能有一个服务器证书。
获取并安装服务器证书证书由称作证书颁发机构 (CA) 的非 Microsoft 组织颁发。服务器证书通常与 Web 服务器有关,尤其与配置了 SSL 的网站有关。您必须生成证书请求,将此请求发送到 CA,然后在接收到 CA 的证书之后安装此证书。
证书依靠一对加密密钥(一个公钥和一个私钥)来确保安全。当您生成服务器证书请求时,您实际上正在生成私钥。从 CA 接收到的服务器证书包含公钥。
要求•
凭据:您必须作为 Web 服务器 Administrators 组成员登录。
•
工具:Internet 信息服务 (IIS) 管理器 (Iis.msc) 和 Web 服务器证书向导。
•
生成服务器证书请求
1.
单击“开始”,右键单击“我的电脑”,然后单击“管理”。
2.
双击“服务和应用程序”部分, 然后双击“Internet 信息服务”。
3.
右键单击您想要安装服务器证书的网站,然后单击“属性”。
4.
单击“目录安全”选项卡。在“安全通信”部分中,单击“服务器证书”,以启动“Web 服务器证书向导”,然后单击“下一步”。
5.
单击“创建一个新证书”,然后单击“下一步”。
6.
单击“立即准备请求,但稍后发送”,然后单击“下一步”。
7.
在“名称”框中,键入容易记住的名称。(默认的名称是您正在生成证书请求的网站名,例如 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.
将上述过程中创建的 .txt 文件的内容复制成 CA 要求的请求格式。
3.
将请求发送给您的 CA。
接收到 CA 的证书后,准备在您的 Web 服务器上安装此证书。
•
安装服务器证书
1.
将证书 (.cer) 文件复制到 C:\Windows\System32\CertLog 文件夹。
2.
单击“开始”,单击“控制面板”,再单击“管理工具”,然后双击“Internet 信息服务 (IIS) 管理器”。
3.
右键单击您想要安装服务器证书的网站,然后单击“属性”。
4.
单击“目录安全”选项卡。在“安全通信”部分中,单击“服务器证书”,以启动“Web 服务器证书向导”,然后单击“下一步”。
5.
单击“处理挂起的请求并安装证书”,然后单击“下一步”。
6.
浏览至您接收到的 CA 证书。单击“下一步”两次,然后单击“完成”。
验证新的设置验证正确设置是否已经应用于您的本地计算机。
•
验证是否在 Web 服务器上安装了证书
1.
单击“开始”,单击“控制面板”,单击“管理工具”,然后单击“Internet 信息服务 (IIS) 管理器”。
2.
右键单击您想要查看证书的网站,然后单击“属性”。
3.
在“目录安全”选项卡上的“安全通信”区域内,单击“查看证书”,查看证书之后,单击“确定”两次。
在 Web 服务器上强制和启用 SSL 连接安装服务器证书之后,必须在 Web 服务器上强制 SSL 连接。然后,必须启用 SSL 连接。
要求•
凭据:您必须作为 Web 服务器 Administrators 组成员登录。
•
工具:Internet 信息服务 (IIS) 管理器 (Iis.msc)。
•
强制 SSL 连接
1.
单击“开始”,单击“控制面板”,再单击“管理工具”,然后双击“Internet 信息服务 (IIS) 管理器”。
2.
右键单击您想要强制 SSL 连接的网站,然后单击“属性”。
3.
单击“目录安全”选项卡。在“安全通信”部分,单击“编辑”。
4.
单击“要求安全通道 (SSL)”,选择加密长度,然后单击“确定”。
注意:如果您指定 128 位加密,使用 40 位或 56 位长度浏览的客户端计算机不能与您的站点通信,除非将其浏览器升级到支持 128 位加密的版本。
•
在 Web 服务器上启用 SSL 连接
1.
单击“开始”,单击“控制面板”,再单击“管理工具”,然后双击“Internet 信息服务 (IIS) 管理器”。
2.
右键单击您想要启用 SSL 连接的网站,然后单击“属性”。
3.
单击“网站”选项卡。在“网站标识”部分,验证“SSL 端口”是否填充了数值 443。
4.
然后单击“高级”。通常出现两个对话框,在“此网站的多个标识”框中列出此网站 IP 地址和端口。在“此网站的多个 SSL 标识”字段下,如果还没有列出端口 443,则单击“添加”。选择服务器的 IP 地址,在“SSL 端口”框中键入数值“443”,然后单击“确定”。
验证新的设置验证正确安全设置是否已经应用于您的 Web 服务器。
•
验证 Web 服务器上的 SSL 连接
1.
打开浏览器,然后尝试通过标准的 http:// 协议来连接到 Web 服务器。例如,在“地址”框中,键入 http://localhost。
如果 SSL 被强制,则出现以下错误消息:
网页必须通过安全通道查看。您试图访问的网页受到安全套接字层 (SSL) 保护。
2.
通过键入 https://localhost,再次尝试连接到您想要查看的网页。
通常出现 Web 服务器的默认网页。