CMS中的安全性和身份验证(下)
发表于:2007-05-26来源:作者:点击数:
标签:
以下各节将详细讲述除来宾访问之外的所有这些 MSCMS 安全 设置。有关“来宾访问”的信息,请参见“验证用户身份”一节。 控制对虚拟 Web 站点的访问 MSCMS 站点上的每个虚拟站点各代表 Web 服务器 的一个不同的入口点。因此,控制对这些站点的访问对服务器安
以下各节将详细讲述除来宾访问之外的所有这些 MSCMS
安全设置。有关“来宾访问”的信息,请参见“验证用户身份”一节。
控制对虚拟 Web 站点的访问
MSCMS 站点上的每个虚拟站点各代表 Web
服务器的一个不同的入口点。因此,控制对这些站点的访问对服务器安全很重要。
管理员可以为每个虚拟 Web 站点从三种不同的安全设置中选择一种:
MSCMS Authoring is allowed(允许 MSCMS 创作)。此设置授予用户访问和修改 Web 站点内容的权限。
MSCMS Authoring is not allowed(不允许 MSCMS 创作)。启用此设置时站点是只读的。这意味着通过此站点登录的客户端都不能修改内容。例如,在不允许 MSCMS 创作的站点上,Site Builder 是不可访问的。
MSCMS is disabled(禁用 MSCMS)。当 MSCMS 不支持某个站点时,将不映射或者将移除虚拟目录,因而从此站点请求的任何页面都将被报告为“未找到”。
对于高安全性站点,管理员可能想将系统配置为只有一个服务器的一个虚拟 Web 站点支持创作功能。此虚拟 Web 服务器的地址可由防火墙或 IP 访问隐藏,这样任何外部用户都不能访问或读取它。除提供高安全性外,此配置还可提高性能,因为 MSCMS 使用效率更高的脚本来呈现运行时 Web 页。
MSCMS 2001 系统帐户
使用一个系统帐户,MSCMS 可访问网络上的资源,并可在使用了 Active Directory 时连接到 Active Directory。此帐户充当所有已验证身份的用户的代理,从而使管理员不必分别向每个已验证身份的用户授予对受保护资源的访问权。系统帐户必须有权枚举或浏览 MSCMS 中支持的组织单元、域、容器、组和用户。
在设置系统帐户时,请注意以下几点:
建立系统帐户时不必使用享有特权的 Windows 用户帐户,使用常规域用户帐户即可。
如果 MSCMS 2001 中使用了 Active Directory Service 组织单元,则系统帐户必须有权查看 ADS 树。
如果使用 SQL 信任的身份验证,则系统帐户必须对 CMS 2001 使用的 Microsoft SQL Server? 数据库有读/写访问权。如果使用 SQL
身份验证,那么 SQL 帐户就需要有对数据库的访问权限,而不要求对系统帐户拥有访问权。
一定不要让系统帐户成为域管理员。系统帐户可以是本地管理员帐户,但建议不要采用此设置。
一定不要将 IIS 匿名帐户设置成为系统帐户。这样做会授予匿名帐户对 CMS 2001 数据库的访问权。
启用系统帐户
1.打开“服务器配置应用程序”,单击 Security(安全)选项卡,然后单击 Configure(配置)。
2.为系统帐户设置 Windows NT 用户帐户和帐户密码。
3.如果您选择使用 SQL 身份验证,请打开“数据库配置应用程序”(Database Configuration Application),选择 SQL Server 7/2000,然后单击 Next(下一步)。
4.清除 Use Trusted Connection(使用可信连接)复选框,然后提供必要的凭据。如果您在使用 SQL 集成安全机制,请将数据库角色定义为 Public、DB_DATAREAD 和 DB_DATAWRITE。
IP 检查和 cookie 超时
IP 检查和 cookie 超时专门用于禁止黑客模拟已验证身份的用户对 Web 站点进行未经授权访问。对计划使用基于窗体手动登录的管理员,这些设置特别重要,因为 cookie 超时指定标识用户会话的会话令牌的生存期,而令牌只对通过基于窗体登录访问站点的用户发出。令牌的默认生存期为 720 分或 12 小时。
启用 IP 检查时,将对照 HTTP 请求中的标头的 IP 地址来检查由 MSCMS 在用户登录时生成的会话令牌。在理论上,用户在登录到 Web 站点后,会一直使用同一 IP 地址;这样,对于每个后续的 HTTP 请求,令牌中的 IP 地址应当匹配提交请求的用户的 IP 地址。如果不匹配,访问就会被拒绝。但在某些情况下,用户可能不一直使用同一 IP 地址(例如,通过不同代理服务器传递其请求的用户就是这样);因此,明智的做法是,在实现 IP 检查前,应先分析可能访问 Web 站点的用户群体。注意,IP 检查默认情况下是启用的;所以,如果管理员预见到 Web 站点用户会有问题,则必须禁用它。例如,如果在已验证身份的用户手动登录后不断出现“会话超时”这一提示消息,则管理员可能需要禁用 IP 检查。
配置 IP 检查和 cookie 超时
1.打开 SCA,单击 Security(安全)选项卡,然后单击 Configure(配置)。
2.若要更改 cookie 超时值,请在 Cookie Lifetime(Cookie 生存期)框中键入一个新数字。
3.若要启用 IP 检查,请确保 Check Machine IP against Cookie(对照 Cookie 检查计算机 IP)框中出现 Yes(是)。若要禁用 IP 检查,请从下拉菜单中选择 No(否)。
资源 URL 加密
资源 URL 指嵌入到 MSCMS 生成的 Web 页中的 URL,它们作为到附件、图片、视频文件和其他库项的链接。如果没有适当的身份验证凭据,用户就不能访问 Web 页来查看这些资源。但订户有可能将 MSCMS 生成的 Web 页中的资源 URL 传递给一个对该资源没有访问权的用户,这个用户于是便能够访问该资源的当前版本和后续版本。
为避免出现这种情况,每次都应将资源 URL 加密,然后才使它在 MSCMS 之外可用。服务器密钥和已验证的用户标识将用于加密,所以对于每个已验证身份的用户,所生成的 URL 互不相同。如果尝试访问资源的人不是为其生成加密 URL 的那个人,则找不到该文件。
一个群集中所有 Web 服务器的服务器密钥必须相同,这样 URL 加密才能成功;否则,每次将已经路由到一个服务器的用户会话再路由给另一不同的服务器时,都会重新对该用户进行身份验证。使用位于 C:\Program Files\Microsoft Content Management Server\Server\bin 中的 ManageKey.exe 可将服务器密钥复制给群集中的所有服务器。
注意,如果有人设法检索到一个资源的实际路径,他或她将就可以在没有适当授权的情况下请求该资源。资源 URL 加密于是就没有用了。因此,最好不要启用对 MSCMS 在文件缓存中动态生成的资源的目录浏览。NTF 或 IIS 安全机制将对 MSCMS 未管理的资源起作用。
必须注意的是,如果没有采取适当的防范措施,那么编制站点索引可能会造成一些问题。如果 Web 索引软件执行一次经过身份验证的爬网,就会将资源 URL 包括在搜索结果中。不过,如果爬网是由管理员执行的,则只有分配给管理员角色的帐户能够访问到编制索引过程中生成的链接。为避免与站点索引关联的某些问题,请执行以下操作之一:
确保爬网是使用来宾访问执行的,这样,只有对来宾帐户可用的 URL 才是所有用户都能访问到的。
如果需要经身份验证的搜索爬网,请将资源文件存储到文件系统上 CMS 以外,或存储在一个使它们不会被包括在索引中的文档库中。
有关执行经身份验证的搜索爬网方面的更多信息,请参见“将 Microsoft SharePoint Portal 搜索集成到 Microsoft Content Management Server 中”。
站点配置
正确部署和配置 Web 站点的不同组件是确保站点安全的第一步。图 2 显示了配置 Web 站点一种方法。
图 2 MSCMS 站点配置示例
为使服务器和数据库不中断,图 2 中的防火墙使可直接通过 Internet 访问的计算机的数目减到了最少。生产站点与开发和创作环境相互分离,以便针对内部网上的入侵者提供最高程度的保护。
图 2 还标明了为保证 MSCMS Web 环境中的数据传输而必须打开的防火墙端口。下面简要列出了针对站点上各通讯量类型必须打开的端口:
Internet 产生的通讯量。MSCMS Site Builder 和 Internet 浏览器处理源于 Internet 的通讯量。这两种组件都支持使用 HTTP 或 HTTPS 连接与 MSCMS 服务器进行通讯。对于此类型的数据传输,端口 80 和端口 443 都必须打开。
外围网络产生的通讯量。此通讯发生在 MSCMS 和 SQL 数据库之间,该数据库存储在防火墙后。网络管理员应当将防火墙配置为通过默认端口 1433,或通过为 SQL Server 接收数据而配置的 TCP 端口,来转发 IP 地址。还应当将防火墙配置为能够转发同一 IP 地址上的 UDP 端口 1434 的请求。SQL Server 2000 使用 UDP 端口 1434 建立与应用程序间的通讯链路。
内部网络通讯量。在部署到 MSCMS 群集时,App Center 要求打开端口 4244 和 4243 以进行数据传输。仅支持 HTTP 连接的 MSCMS Site Deployment(MSCMS 站点部署)要求使用端口 80。对于 MSCMS Site Stager 和 MSCMS Server 之间的数据传输,还要求使用 HTTP 连接,因此端口 80 必须打开。
为确保 Web 站点有适当的安全保护机制,管理员还应当采取适当的防范措施,使用 IIS 锁定工具加强 IIS 的安全性。为使 MSCMS Web 站点在实现 IIS 锁定后能够正常工作,站点上必须激活某些设置。有关这些设置的更多信息,请参见 http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/tools/locktool.asp
在 MSCMS Web 站点上启用 SSL 加密
为增强安全性,Web 管理员可以对 MSCMS Web 站点的某些部分或所有部分配置安全套接字层连接。在连接到 Content Management Server Web 站点时,使用 SSL 所带来的安全上的优点是:
客户机和服务器可以彼此进行身份验证,从而确保了没有其他计算机能够读取两台计算机之间的通讯内容。
通过 SSL 连接从客户机发送的所有数据都已经加密,使别有用心的用户无法截取向 Content Management Server 服务器发送的密码或数据。
可以对整个 Content Management Server Web 站点或对站点的选定部分强制使用 SSL 连接。例如,在一个使用 MSCMS 基于窗体的登录身份验证方法的站点上,可以只在登录窗体上使用 SSL 加密。对于基本身份验证,必须对整个站点使用 SSL 加密。
注 SSL 要求在身份验证过程中与同一服务器保持会话,因为加密机制要求在“请求—响应”通讯中在客户机和服务器之间来回发送信息。这一要求可能会在站点上造成负载平衡问题。
有关使用安全套接字层保护 Web 站点的更多信息,请参见 http://support.microsoft.com/directory/article.asp?ID=KB;EN-US;Q298805。如想查阅有关 SSL 握手期间的服务器身份验证过程的信息,请参见 http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257587。
原文转自:http://www.ltesting.net