接上一篇:CMS中的安全性和身份验证(上)
下面两节讨论基本身份验证和集成的 Windows 身份验证,对于管理员何时应使用其中一种方法而不使用另一种,我们也提供了一些一般性建议。
基本身份验证
基本身份验证类似于 MSCMS 基于窗体的身份验证,因为它是 HTTP 规范的一部分,而且多数浏览器都支持它。用户将分配给他们的 Windows 2000 帐户用户名、密码和域名输入到对话框中。管理员可能还会指定一个默认域。
在符合下面的一个或多个条件的环境中,建议采用基本身份验证:
1.用户正在从多个浏览器进行身份验证,MSCMS 基本窗体身份验证不是选项之一。
2.浏览计算机的 IP 地址使用了一个代理服务器,因而集成的 Windows 身份验证不能使用。
3.管理员想识别对站点的访问,亦即确定用户的唯一号码,而不关心经过身份验证的访问。
与基于窗体的身份验证类似,基本身份验证在用户发出初始请求时通过网络以明文形式发送用户信息;此外,以后每发送一个请求,基本身份验证都会发送用户信息。因为用户每次请求一个新页面时都会通过网络传递用户信息,所以用户信息特别容易被截取。由于这一原因,除非用户和 Web 服务器之间的连接绝对安全(例如通过专线),否则建议不要采用基本身份验证。此外,对于依赖基本身份验证的 Web 站点的任一部分,都应当采用 SSL 加密。
集成的 Windows 身份验证
与基本身份验证类似,集成的 Windows 身份验证(以前称为 NTLM 或 Windows NT 请求/响应身份验证)利用了用户的 Windows 登录信息。但是,浏览器并不提示用户将这些信息重新输入到一个对话框中,而是尝试自动检索这些信息。此过程称为自动登录。在 Intranet 环境中,默认情况下会启用这种身份验证方式,但管理员可以在 IIS 中禁用它。若要在 Intranet 环境中使用自动登录,用户必须向服务器所在的域进行身份验证,否则用户的域和服务器的域之间必须存在一种单向信任关系。
注 如果有一个外围网络(又称 DMZ、非军事区和屏蔽子网)保护 Web 环境,则不建议建立从外围网络到内部网络的信任。如果相应的端口已经打开,则可以使用防火墙之外的域。
当浏览器检索 Windows 身份验证信息之后,它会通过一个称为哈希 的单向进程将这些数据传给 Web 服务器。生成的消息摘要或“哈希”是无法解密的。如果身份验证交换最初未能识别用户,则浏览器将提示用户提供帐户名、密码和域。
尽管集成的 Windows 身份验证是最安全的身份验证选项,但它确实有一些限制:
■ 如果防火墙或代理服务器屏蔽了浏览计算机的 IP 地址,则不能使用它。
■ 在 HTTP 代理连接中不能使用它。
■ 提示用户输入登录信息的对话框是不可自定义的。
■ 它只能用于 Internet Explorer 浏览器。
集成的 Windows 身份验证最适合用于内联网环境;在这种环境中,用户和 Web 服务器处于同一域中,而且管理员可以确保所有经过身份验证的用户都使用 Internet Explorer。
配置 IIS 安全上下文登录
1.浏览到 C:\Program FilesMicrosoft Content Management ServerServerIIS_NRSystemAccess,然后打开文件 IISAuthentication.inc。
2.将 CF_IIS_Security_Context_Login 设置为 true。这将为整个 Web 站点启用 IIS 安全上下文。
3.进入 MMC 控制台的“Internet 信息服务”管理单元或“Internet 服务管理”,打开 IIS_NR 虚拟目录,然后单击目录安全性选项卡。
4.在匿名访问和验证控件下,单击 编辑,然后选择相应的身份验证方法。
注 您可以选择一种以上身份验证方法,但建议不要这样做。因为这意味着将由浏览器选择它希望使用的方法。如果浏览器选择“基本”,而站点又未启用 SSL 加密,则用户凭据可能会被截取。
5.若要启用自动登录,请选择集成的身份验证,并在客户端浏览器中选择您想用于自动登录的选项。
有关集成的 Windows 身份验证的更多信息,请参见 http://www.microsoft.com/technet/treeview/default.asp?url=/TechNet/prodtechnol/iis/maintain/featusability/authmeth.asp
使用 Site Server 登录
Content Manager Server 2001 当前支持 Microsoft Site Server 3.0 SP3,因此可以使用 Site Server 的 Membership Server(成员身份服务器)来对轻量目录访问协议 (LDAP) 帐户进行身份验证。
Site Server 提供基于窗体的登录。Content Management Server 2001 中两个帮助验证身份的文件分别是位于虚拟 Web 根下的 NRSiteServerAccess.asp 和位于 IIS_NR/shared 下的 NRFormsLogin.asp。
如果决定使用 Site Server 身份验证,请注意以下几点:
■ Site Server 身份验证不提供一般的 LDAP 支持。例如,它不能用于 Novell 系统。
■ MSCMS 的未来版本中将不支持 Site Server,它仅在 MSCMS 2001 中可用。
■ 服务器群集环境中不支持 Site Server。
配置 Site Server 登录
1.在 CMS 2001 系统中安装 Site Server。
2.打开“服务器配置应用程序”(Server Configuration Application),单击 Access(访问)选项卡,然后单击 Configure Access(配置访问)。
3.在“服务器配置应用程序”中启用 Site Server 身份验证,然后选择要包括的组织单元。
来宾访问
来宾访问允许用户在不提供身份验证凭据的情况下访问一部分或所有 MSCMS Web 页。匿名用户可访问的页取决于管理员将来宾帐户指派到的订户组的权限。必须使用 Site Builder 作为 MSCMS 2001 订户添加来宾帐户。
可以将来宾访问与 IIS 安全上下文或基于窗体的身份验证一起启用。
配置来宾访问
1.浏览到 IIS_NR 虚拟目录并启用匿名访问。
2.打开“服务器配置应用程序”(SCA),单击 Security(安全)选项卡,然后单击 Configure(配置)。
3.通过使用 Windows NT 用户帐户指定一个来宾用户。
注 您可以使用一个 Active Directory Service 帐户,但必须将它格式化为 Windows NT 帐户。
4.将此 Windows NT 帐户添加到 CMS 2001 中的一个订户组中。这时使用“来宾访问”登录的用户将继承该订户组的权限。
安全设置
在任何 MSCMS Web 站点上,都有三个不同的安全层。除 MSCMS 独有的安全设置外,某些 Web 文件还继承适用于 Windows 或 IIS 的安全设置,具体继承哪种取决于这些文件的存储位置。Web 作者脚本、身份验证与外部脚本、临时资源数据文件和运行时生成的 ASP 模板都存储在 NTFS 文件系统中,而非 MSCMS 数据库中,所以将由 NTFS 为这些文件提供安全保护机制。NTFS 文件权限限制对文件的访问。
注 MSCMS 必须安装在启用 NTFS 的分区上。它不能安装在文件分配表 [FAT] 文件系统中。
同样,在 IIS 虚拟 Web 站点和目录下安装期间,Content Management Server 创建若干虚拟目录,默认情况下在 IIS 中对这些虚拟目录的访问是受限制的。建议不要放松 NTFS 或 IIS 内的默认安全设置;相反,您可能需要进一步限制(例如按 IP 地址)对特定目录或计算机名的访问。
管理员管理 Microsoft Content Management 中的以下安全设置:
■ 在 IIS Web 服务器中控制对每个虚拟 Web 站点的访问。
■ 设置 MSCMS 2001 系统帐户信息
■ 设置来宾访问选项
■ 建立 Web cookie 设置。
因为使用 MSCMS SCA 配置了这些安全设置,所以对 SCA 的访问也应当受限制,最好仅限本地管理员访问。若要最大限度地限制访问,请不要在以下 Web 站点入口点安装 SCA:
■ 任何允许匿名访问的站点。
■ IIS 中的 MSCMS 默认 Web 站点。
■ 使用端口 80 的站点。
■ 没有对文件启用文件系统安全和 IIS 安全的站点。
如果在以上任一 Web 站点上安装了 SCA,在安装时就会产生警告消息。理想情况下,SCA 应当安装在由 IIS 管理的可用虚拟 Web 站点中最安全的站点上。
下一篇:CMS中的安全性和身份验证(下)