Team Foundation Server 安全概念

更新:2007 年 11 月

若要帮助确保 Team Foundation Server 的安全,必须了解 Team Foundation Server 的工作原理以及它与其他 Team Foundation 组件的通信方式。Team Foundation Server 管理员应该熟悉 Windows 身份验证、网络协议和通信,以及安装 Team Foundation Server 的业务网络的结构。此外,管理员还应了解 Team Foundation Server 组和权限。

了解 Team Foundation Server 安全

Team Foundation Server 安全概念可分成三个常规类别:拓扑、身份验证和授权。拓扑包括 Team Foundation 服务器的部署位置和部署方式、在 Team Foundation Server 和 Team Foundation 客户端之间传递的网络通信以及必须在 Team Foundation Server 上运行的服务。身份验证包括确定 Team Foundation Server 用户、组和服务的有效性。授权包括确定有效的 Team Foundation Server 用户、组和服务是否有适当的权限来执行操作。此外,为了优化 Team Foundation Server 在网络中的安全性,还必须考虑 Team Foundation Server 在其他组件和服务中的依赖项。

在考虑 Team Foundation Server 安全性时,必须了解身份验证和授权之间的差别。“身份验证”是指对来自客户端、服务器或进程的连接尝试所提供的凭据进行验证。“授权”是指验证尝试连接的身份是否具有访问对象或方法的权限。授权始终在身份验证成功之后进行。如果连接没有通过身份验证,它在执行任何授权检查操作之前就会失败。连接成功通过身份验证后,特定操作仍可能因用户或组没有被授权执行该操作而被禁止。

Team Foundation Server 拓扑、端口和服务

Team Foundation Server 部署和安全性的首要因素是 Team Foundation 部署的各个组件是否能够彼此连接以进行通信。您的目标是启用 Team Foundation 客户端与 Team Foundation Server 之间的连接,同时限制或阻止其他连接尝试。

Team Foundation Server 需要依靠一些特定的端口和服务才能发挥作用。可以对这些端口进行保护和监视以满足业务安全的需要。根据 Team Foundation 的部署情况,必须允许 Team Foundation Server 网络通信在 Team Foundation 客户端、承载 Team Foundation 应用层和数据层的各个逻辑组件的服务器、Team Foundation Build 生成计算机以及使用 Team Foundation Server Proxy 的远程 Team Foundation 客户端之间进行传递。默认情况下,Team Foundation Server 配置为对其 Web 服务使用 HTTP。有关 Team Foundation Server 端口和服务的完整列表及其在 Team Foundation Server 体系结构中的用法,请参见 Team Foundation Server 安全结构Team Foundation Server、HTTPS 和安全套接字层 (SSL)

您可以在 Active Directory 域或工作组中部署 Team Foundation Server。与工作组相比,Active Directory 提供的内置安全功能更多,这些功能可用于帮助保护 Team Foundation Server 部署的安全。例如,可以将 Active Directory 配置为禁止使用重复的计算机名称。这样,恶意用户就无法用非法的 Team Foundation Server 来假冒计算机名称。若要降低同类威胁在工作组中的影响,必须配置计算机证书。有关 Active Directory 域中的 Team Foundation Server 的更多信息,请参见管理 Active Directory 域中的 Team Foundation Server。有关工作组中的 Team Foundation Server 的更多信息,请参见在工作组中管理 Team Foundation Server

无论将 Team Foundation Server 部署到工作组中还是域中,Team Foundation Server 部署在拓扑方面都有一些限制。有关 Team Foundation Server 拓扑的更多信息,请参见 Team Foundation Server 拓扑了解 SharePoint 产品和技术了解 SQL Server 和 SQL Server Reporting Services

Team Foundation Server 完全支持使用 Kerberos 安全协议。安装 Team Foundation Server 后,可以将 Team Foundation Server 配置为支持客户端和服务器使用 Kerberos 进行相互身份验证。

身份验证

Team Foundation Server 安全性与 Windows 集成身份验证和 Windows 操作系统的安全功能集成在一起,其实现也依赖于后两个因素。可以使用 Windows 集成身份验证对以下方面进行帐户身份验证:Team Foundation 客户端与 Team Foundation Server 之间的连接、逻辑 Team Foundation Server 应用层和数据层服务器上的 Web 服务、Team Foundation 应用层服务器和数据层服务器本身之间的连接。

不应将 Team Foundation Server 与 Windows SharePoint Services 之间的任何 SQL 数据库连接配置为使用 SQL Server 身份验证。SQL Server 身份验证的安全性较低。在连接至数据库时,数据库管理员帐户的用户名和密码会以不加密的格式在服务器之间传输。Windows 集成身份验证并不发送用户名和密码,而是使用 Windows 集成身份验证安全协议向 SQL Server 传输与宿主 Internet 信息服务 (IIS) 应用程序池关联的服务帐户标识信息。

Team Foundation Server 授权

Team Foundation Server 授权基于下列因素:Team Foundation 用户和组、直接分配给这些用户和组的权限,以及这些用户和组由于属于其他 Team Foundation Server 组而可能继承的权限。Team Foundation 用户和组可以是本地用户或组以及/或者 Active Directory 用户和组。

Team Foundation Server 预先配置了服务器级和项目级的默认组。您可以使用各个用户填充这些组。但是为了便于管理,可能需要使用 Active Directory 安全组来填充这些组。利用这种方法,可以更有效地管理多台计算机中的组成员资格和权限。

特定的部署可能要求您在多台计算机上以及多个应用程序中配置用户、组和权限。例如,如果要将报表和项目门户包含在部署中,必须在 SQL Reporting Services、Windows SharePoint Services 和 Team Foundation Server 中配置用户和组的权限。在 Team Foundation Server 上,权限既可以按项目设置,也可以按服务器范围设置。此外,某些权限将默认授予添加到 Team Foundation Server 中的任何用户或组,因为该用户或组会自动添加到“Team Foundation Valid Users”中。有关如何配置权限的更多信息,请参见管理权限。有关 Team Foundation Server 用户和组的更多信息,请参见管理用户和组

除了在 Team Foundation Server 中通过配置权限进行授权外,可能还需要在源代码管理和工作项中进行授权。这些权限在命令行上单独进行管理,但是它们已集成为团队资源管理器接口的一部分。有关源代码管理权限的更多信息,请参见 Team Foundation 版本控制。有关工作项自定义的更多信息,请参见使用 Team Foundation 工作项

Team Foundation Server 依赖项

除了自己的服务外,Team Foundation Server 还要求在其应用层服务器和数据层服务器上有某些 Windows 服务和其他应用程序服务。下表详细介绍了承载逻辑 Team Foundation 应用层的服务器上必需的服务。

服务名称

说明

应用程序体验查找服务

此服务是基础结构的一部分,它允许您对应用程序应用修复,以确保这些应用程序可以在新发布的 Windows 操作系统或 Service Pack 上运行。此服务必须运行,应用程序修复程序才能起作用。

分布式事务处理协调器

此服务协调用于更新两个或更多受事务保护的资源(例如数据库、消息队列和文件系统)的更新事务。这些受事务保护的资源可以位于一个计算机上,也可以分布在多台联网计算机上。

DNS 客户端

此服务用于解析 DNS 域名。

事件日志

此服务通过向三个默认日志中的一个写入内容来记录操作系统上的事件,这些默认日志分别是安全日志、应用程序日志和系统日志,您可在事件查看器中查看它们。

IIS Admin 服务

此服务管理 IIS 元数据库。

网络登录

此服务验证登录请求并控制用户帐户数据库的域范围复制。

网络连接

此服务(又称为 NetMan 服务)管理在“控制面板”的“网络连接”中创建和配置的所有网络连接,并负责在桌面的通知区域中显示网络状态。

网络位置知晓 (NLA)

此服务收集并存储网络配置信息,例如对 IP 地址的名称和位置以及域名的更改。

远程过程调用 (RPC)

此服务是一种进程间安全通信 (IPC) 机制,通过它可以在进程间交换数据,并可以调用驻留在其他进程中的功能。这里的其他进程可以位于同一计算机上,也可以位于局域网 (LAN) 或 Internet 上。远程过程调用服务充当 RPC 终结点映射程序 (EPM) 和服务控制管理器 (SCM)。

报表服务器 (MSSSQLSERVER)

此服务处理简单对象访问协议 (SOAP) 和 URL 请求、处理报表、提供快照和报表缓存管理功能,并支持和强制实施安全策略及授权过程。

安全帐户管理器

此服务维护用户帐户信息,包括用户所属的组。

Windows Management Instrumentation

此服务可启动和停止公共信息模型 (CIM) 对象管理器。

Windows 时间

此服务(又称为 W32Time)可同步在 Windows Server 2003 网络上运行的所有计算机的日期和时间。

万维网发布服务

此服务是用户模式配置和进程管理器,它管理处理 HTTP 请求和运行 Web 应用程序的 IIS 组件,并定期检查 Web 应用程序以确定这些程序是否意外停止。

下表详细介绍了承载逻辑 Team Foundation 数据层的服务器上必需的服务。

服务名称

说明

应用程序体验查找服务

此服务是基础结构的一部分,它允许您对应用程序应用修复,以确保这些应用程序可以在新发布的 Windows 操作系统或 Service Pack 上运行。此服务必须运行,应用程序修复程序才能起作用。

分布式事务处理协调器

此服务协调用于更新两个或更多受事务保护的资源(例如数据库、消息队列和文件系统)的更新事务。这些受事务保护的资源可以位于一个计算机上,也可以分布在多台联网计算机上。

DNS 客户端

此服务用于解析 DNS 域名。

事件日志

此服务通过向三个默认日志中的一个写入内容来记录操作系统上的事件,这些默认日志分别是安全日志、应用程序日志和系统日志,您可在事件查看器中查看它们。

网络登录

此服务验证登录请求并控制用户帐户数据库的域范围复制。

网络连接

此服务(又称为 NetMan 服务)管理在“控制面板”的“网络连接”中创建和配置的所有网络连接,并负责在桌面的通知区域中显示网络状态。

网络位置知晓 (NLA)

此服务收集并存储网络配置信息,例如对 IP 地址的名称和位置以及域名的更改。

远程过程调用 (RPC)

此服务是一种进程间安全通信 (IPC) 机制,通过它可以在进程间交换数据,并可以调用驻留在其他进程中的功能。这里的其他进程可以位于同一计算机上,也可以位于局域网 (LAN) 或 Internet 上。远程过程调用服务充当 RPC 终结点映射程序 (EPM) 和服务控制管理器 (SCM)。

安全帐户管理器

此服务维护用户帐户信息,包括用户所属的组。

SQL 分析服务器 (MSSQLSERVER)

此服务创建和管理 OLAP 多维数据集和数据挖掘模型。

SQL Server FullText Search (MSSQLSERVER)

此服务创建对内容的全文索引,并启用对工作项的全文搜索。

Windows Management Instrumentation

此服务可启动和停止公共信息模型 (CIM) 对象管理器。

Windows 时间

此服务(又称为 W32Time)可同步在 Windows Server 2003 网络上运行的所有计算机的日期和时间。

请参见

概念

Team Foundation Server 安全结构

在工作组中管理 Team Foundation Server

Team Foundation 版本控制

使用 Team Foundation 工作项

其他资源

管理 Active Directory 域中的 Team Foundation Server

管理权限

管理用户和组

源代码管理安全权限