正确控制对 Web 和 FTP 内容的访问对于 Web 服务器的安全运行至关重要。使用 Windows 和 IIS 中的安全功能,可以有效地控制用户对 Web 和 FTP 内容的访问方式。可以控制对各级内容的访问权限,包括从整个网站和 FTP 站点到单个文件。
匿名访问是最常用的网站访问控制方式,允许任意用户访问网站上的公共部分,而禁止未经授权的用户访问 Web 服务器的重要管理功能和私人信息。
例如,您可以把 Web 服务器想象成一个博物馆,允许匿名访问就像邀请公众去参观博物馆的公开画廊和展品。但是,您也许要锁上某些特殊的房间(例如办公室和实验室),不希望公众参观这些房间。同样,为 Web 服务器配置匿名访问后,可以使用 NTFS 权限禁止普通用户访问私人文件和目录。有关 NTFS 权限的详细信息,请参阅 NTFS 权限一节的详细内容。
默认情况下,Web 服务器通过一个匿名帐户允许所有用户登录。安装过程中,服务器创建一个特定的匿名帐户 IUSR_computername。例如,如果计算机名称是 SalesDept1,则匿名帐户的名称为 IUSR_SalesDept1。服务器上的每个网站可以使用相同的匿名用户登录帐户,也可以使用不同的帐户。使用“Windows 本地用户和组”工具,可以新建一个匿名登录用户帐户。详细信息,请参阅关于身份验证。
分布式创作与版本管理 (WebDAV) 是 HTTP 1.1 标准的扩展,用于通过 HTTP 连接显示任意存储媒体,例如文件系统。通过在 IIS 中实现 WebDAV,允许远程作者移动、搜索或删除服务器上的文件和目录及其属性。可以通过 Web 服务器权限设置对 WebDAV 进行配置。详细信息,请参阅 WebDAV 发布。
可以设置 WebDAV 权限,用于:
WebDAV 可以运行在文件分配表 (FAT) 格式和 NTFS 格式。有关 WebDAV 规范草稿的详细信息,请在 World Wide Web Consortium(WWW 协会)网站上搜索 WWW Distributed Authoring and Versioning(WWW 分布式创作与版本管理)。有关 NTFS 的详细信息,请参阅使用 NTFS 保护文件安全。
注意 WebDAV 是 HTTP 1.1 建议书草稿的具体实现,因此不能用于非 HTTP 服务,例如 FTP 站点。
通过正确配置 Windows 文件系统和 Web 服务器安全功能,可以控制用户对 Web 服务器内容的访问。当用户试图访问 Web 服务器时,服务器通过几个访问控制步骤,识别用户并确定允许的访问级别。
下面是处理过程概述:
可以为特定的站点、目录和文件配置 Web 服务器访问权限。这些权限适用于所有用户,而不管他们拥有何种特定的访问权限。例如,在更新特定站点的内容时,可以禁止对此网站的“读取”权限,以便禁止用户访问此网站。此时,如果用户试图访问此网站,服务器将返回错误消息“禁止访问”。但是,如果启用了“读取”权限,将允许所有用户查看网站,除非 NTFS 权限限制了哪些用户可以查看此站点。详细信息,请参阅设置 Web 和 FTP 权限。
Web 权限具有下列级别:
注意 Web 服务器权限设置会影响可用于站点、虚拟目录或文件的 HTTP 动作。
Internet 信息服务依赖于 NTFS 权限来保证个人文件和目录的安全,避免未经授权用户的访问。与应用于所有用户的 Web 服务器权限不同,使用 NTFS 权限可以准确定义允许哪些用户访问站点内容,以及允许每个用户进行哪些操作。
NTFS 权限具有下列级别:
要点 将 IUSR_computername 帐户对某资源的访问权限设置为“拒绝访问”,将拒绝匿名用户访问此资源。
对于单个文件或目录,可以定义一个权限列表,即自由访问控制列表 (DACL)。如果定义了此列表,则可以选择特定的 Windows 用户帐户或用户组,然后为此用户或组指定访问权限。
下表以一个假想的 Microsoft Word 文档 (MYSERVER:\Administration\Accounts.doc) 为例,说明权限列表的内容:
| 用户帐户或用户组 | 权限 |
|---|---|
| MYSERVER\Administrators | 完全控制 |
| MYSERVER\JeffSmith | 更改 |
| MYSERVER\Guests | 拒绝访问 |
除 Administrator 组的成员之外,只有名为 JeffSmith 的帐户有权更改 Accounts.doc。显然,以 Windows Guests 用户组成员身份登录的普通用户无法访问此文件。
设置 NTFS 权限后,Web 服务器在允许用户访问受限访问的文件之前,需要通过一种方法对此用户进行标识或身份验证。可以配置服务器的身份验证功能,要求用户使用有效的 Windows 帐户用户名和密码登录。详细信息,请参阅关于身份验证。
要点 如果 NTFS DACL 设置不正确,浏览器将提示用户输入用户信息。例如,用户可能没有对某个文件的访问权限(由于 DACL 设置不正确),这时 IIS 将发出“拒绝访问”错误消息,浏览器将提示用户输入其他用户名和密码。
注意 为了确保服务器的安全性,应删除不必要的用户和组或对您没有太大作用的组。但如果从 Web 资源的 DACL 中删除了 Everyone 组,而未进一步指定其他用户或组,则非匿名访问也将失败。如果希望非匿名访问能够正常工作,则必须具有下列权限以及任意特定的用户或用户组。
有关如何设置这些权限的信息,请参阅使用 NTFS 保护文件安全和设置目录或文件的 NTFS 权限。
遵循下列准则,可以减小 Web 服务器受到安全威胁的可能性。如果在制定完善的访问控制策略并正确配置安全功能的同时,能够考虑到这些准则,则可以实现可靠的安全配置。
注意 对于高度机密的应用程序(例如涉及金融或银行业的那些应用程序),应求助于专业安全咨询公司。咨询公司可以帮助您制定适当的安全策略以及实施过程。
为了充分确保 Web 服务器内容的安全性,应基于下列准则制定安全策略:
未经授权的个别用户可能会通过盗取或猜测用户帐户密码获得 Web 服务器的访问权限。必须确保所有密码,特别是用于保护管理权限的密码难以猜测。请遵循下列准则选择一个安全的密码:
务必限制对 Web 服务器 Administrators 组的访问权限。Administrators 组成员对整个 Web 服务器及其安全功能拥有完全控制权限。请遵循下列准则控制 Administrators 组的成员:
使用“Windows 组策略”工具,可以指定 Windows 用户组的用户权限策略。用户权限策略定义了用户可以执行的 Web 服务器和 Windows 管理操作。例如,可以建立一条策略,确保公用用户无权远程关闭 Web 服务器。通常,应该建立一种限制极其严格的用户权限策略,并且应该小心操作,避免意外地授予用户更改 Web 服务器及其资源的权限。详细信息,请参阅 Windows 文档。