本部分包含有关如何帮助保护企业单一 Sign-On (SSO) 系统的建议。
利用企业单一登录 (SSO) 系统,用户只需使用一组凭据即可连接到不同的系统。 Host Integration Server 使用 SSO 系统作为敏感信息的存储。 尽管只要安装 Host Integration Server 运行时,它都会自动安装,但你也可以将企业单一 Sign-On 安装为独立于 Host Integration Server 环境的独立组件。 建议遵循以下准则,以便在环境中保护和部署企业 SSO 服务和资源。
SSO 的一般性部署建议
您的环境中必须有一个时间服务器,以确保所有 SSO 服务器保持同步。 如果 SSO 服务器上的时钟未同步,这可能会危及环境的安全性。
考虑到整个环境中只有一个主机密服务器,我们将使用主机密服务器的主动-被动群集配置。 有关聚类分析主机密服务器的详细信息,请参阅如何群集主机密服务器。
主机密服务器保存 SSO 系统用于加密 SSO 数据库中信息的加密密钥。 建议不要在此计算机上安装或配置任何其他产品或服务。
注意
安装和配置主密钥服务器的计算机不必是服务器。
主密钥服务器应能够访问可移动媒体或 NTFS 文件系统文件夹,以便备份和还原主密钥。 如果使用可移动媒体,请确保采取适当措施保护可移动媒体。 如果将主机密备份到 NTFS 文件系统,请确保保护文件和文件夹。 只有 SSO 管理员才能访问该文件。
一旦主密钥服务器生成主密钥,应立即备份主密钥。 这样,就可以在主机密服务器发生故障时恢复 SSO 数据库中的数据。 有关备份主密钥的详细信息,请参阅 管理主密钥。
备份当前机密,或定期生成新机密,例如每月一次。 如果没有密钥,将无法从 SSO 数据库检索信息。 有关备份和还原主机密的详细信息,请参阅 管理主机密。
SSO 组和帐户的安全建议
建议使用 Windows 组,而不是单个用户帐户,尤其是 SSO 管理员和 SSO 关联管理员组。 这些组在任何时候都必须至少具有两个组成员用户帐户。
SSO 运行时服务帐户和 SSO 管理员用户帐户应为不同的帐户,即使它们是同一 SSO Administrators 组的成员。 执行管理任务(例如生成和备份机密)的 SSO 管理员用户必须是 Windows 管理员,而 SSO 运行时服务帐户不需要是 Windows 管理员。
重要
Windows 管理员用户权限不能取代 SSO 管理员的用户权限。 若要执行任何 SSO 管理级别的任务,你必须是 SSO 管理员组的成员,即使你已经是 Windows 管理员。
如果使用 SSO 票证功能,则必须使用处理域(SSO 服务器所在的域)中的计算机能够识别的域帐户。
建议对与主机密服务器对应的 SSO 服务使用唯一的服务帐户。
SSO 管理员帐户是 SSO 系统中的高特权帐户,该帐户也是具有 SSO 数据库的 SQL Server 的SQL Server管理员帐户。 应为 SSO 管理员使用专用帐户,并且不应将这些帐户用于任何其他用途。 应将 SSO 管理员组的成员身份限制为负责运行和维护 SSO 系统的帐户。
SSO 部署的安全建议
如果您的网络支持 Kerberos 验证,则应注册所有 SSO 服务器。 如果在主密钥服务器与 SSO 数据库之间使用 Kerberos 验证,则必须在该 SSO 数据库所在的 SQL Server 上配置服务主体名称 (SPN)。
运行 Windows Server 2003 时,如果主机密服务器与其他 SSO 服务器和 SSO 数据库位于不同的域中,则必须禁用 RPC 安全 (,用作数据事务处理协调器 (DTC) 身份验证的计算机之间) 主机密服务器上的 SSO 服务器 (处理处理域中的计算机) , 和 SSO 数据库上的 。 RPC 安全性是 Windows Server 2003 中的一项新 DTC 功能。 禁用 RPC 安全性时,RPC 调用的 DTC 身份验证安全级别将返回到 Microsoft Windows 中可用的安全级别。 有关禁用 RPC 安全性的详细信息,请参阅 Microsoft 帮助和支持。
SSO 管理员应定期监视主密钥服务器和 SSO 服务器中的事件日志,以查看 SSO 审核事件。
除了防火墙,我们建议在所有 SSO 服务器和 SSO 数据库之间使用 Internet 协议安全 (IPsec) 或安全套接字层 (SSL) 。 有关 SSL 的详细信息,请参阅 Microsoft 帮助和支持。
外围网络
在运行 Internet 信息服务 (IIS) 和企业单一登录时,请遵循以下建议:
如果 IIS 位于外围网络 (也称为屏蔽子网) ,请提供另一台在防火墙后面运行 IIS 的服务器以连接到 SSO 系统。
不要打开 IIS 上的远程过程调用 (RPC) 端口。
SQL Server 访问
所有 SSO 服务器都访问 SQL Server 凭据数据库。
Microsoft 建议使用安全套接字层 (SSL) 和/或 Internet 协议安全 (IPsec) 来帮助保护 SSO 服务器和凭据数据库之间的数据传输。 有关使用 SSL 的详细信息,请参阅 Microsoft 帮助和支持。
若要仅为 SSO 服务器与凭据数据库之间的连接启用 SSL,可以使用 ssoconfig 实用工具在每个 SSO 服务器上设置 SSL 支持。 此选项允许 SSO 在访问凭据数据库时始终使用 SSL。 有关详细信息,请参阅 如何为企业单一登录启用 SSL。
强密码
为所有帐户使用强密码非常重要,特别是对于作为 SSO Administrators 组成员的帐户,因为这些用户对整个 SSO 系统具有控制权。
SSO 管理员帐户
建议对不同计算机上运行的 SSO 服务使用不同的服务帐户。 对于 SSO 服务,不要使用执行管理操作(例如生成和备份密钥)的 SSO 管理员帐户。 尽管 SSO 服务帐户不应是该计算机上的本地管理员,但执行管理操作的 SSO 管理员必须是计算机上的本地管理员才能执行某些操作。
主密钥服务器
强烈建议保护并锁定主机密服务器。 不应使用此服务器作为处理服务器。 此服务器的唯一用途应为存放主密钥。 应确保此计算机的物理安全性,只有 SSO 管理员才可以访问此计算机。
Kerberos
SSO 支持 Kerberos,建议为 SSO 设置 Kerberos。 若要为 SSO 设置 Kerberos,必须为 SSO 服务注册安全主体名称 (SPN)。 默认情况下,设置 Kerberos 时,SSO 使用该 SPN 通过 SSO 服务对组件进行身份验证。 建议在 SSO 管理子服务和 SSO 服务器之间设置 Kerberos 身份验证。 还可以在 SSO 服务器之间以及 SSO 服务器与凭据数据库所在的SQL Server之间使用 Kerberos 身份验证。
若要设置和验证 Kerberos,请使用实用程序 setspn 和 kerbtray。
委托
使用 Windows Server 2003 时,可以使用约束委派,但我们建议不要使用委派来执行单 Sign-On 管理员的任务。 同样,建议不要将其他任务或用户权限委托给单 Sign-On 管理员。
审核
审核是跟踪环境中的信息的关键机制。 企业单一 Sign-On (SSO) 审核凭据数据库中执行的所有操作。 SSO 使用数据库自身的事件日志和审核日志。 SSO 为单一登录服务器提供了两种审核级别:
正审核级别审核成功操作。
负审核级别审核失败的操作。
SSO 管理员可以设置适合其公司策略的成功和失败审核级别。
您可以将成功和失败审核设置为以下级别之一:
0 = 无 - 此级别不发出审核消息。
1 = 低
2 = 中等
3 = 高 - 此级别发出尽可能多的审核消息。
成功审核的默认值为 0(无),失败审核的默认值为 1(低)。 根据 SSO 系统所需的审核级别,您可能需要更改这些值。
重要
企业单一 Sign-On 审核会发出单一 Sign-On 服务生成的消息。 这不是安全审核,SSO 系统不会将信息保存在事件日志的安全日志中。 SSO 系统将 SSO 审核消息直接保存到应用程序事件日志中。
数据库级别的审核
对于数据库级审核,SSO 系统跟踪对数据库中审核表中凭据数据库执行的操作。 这些审核表的大小是在 SSO 系统级别定义的。 您可以对已删除的关联应用程序、已删除的映射和所执行的凭据查找进行审核。 默认情况下,审核大小设置为 1000 个条目。 SSO 管理员可以更改此大小以符合其公司策略。
使用企业单一 Sign-On 帐户
本部分包含在企业单一 Sign-On (SSO) 系统中使用域和本地组和个人帐户时的最佳做法。
域 Windows 组和帐户
使用域 Windows 组时,以下建议适用:
使用域组和域帐户。
为 SSO 管理员使用域组。 不应将个人域帐户指定为 SSO 管理员,因为无法将此帐户从一个个人帐户更改为另一个个人帐户。
虽然可以将个人域帐户指定为 SSO 关联管理员,但还是应使用域组。
虽然可以将个人域帐户指定为应用程序管理员,但还是应使用域组。
必须为应用程序用户帐户使用域组。 SSO 应用程序用户帐户不支持单个帐户。