可以配置部署来帮助保护用户和 Visual Studio Team Foundation Server 部署之间的连接。Team Foundation Server (TFS) 可以支持基本身份验证、摘要式身份验证和证书。因此,可以将 TFS 的部署配置为使用具有安全套接字层 (SSL) 的安全超文本传输协议 (HTTPS) 以及基本或摘要式身份验证。如果您采用此策略,则用户可以更安全地连接到部署,而不必使用虚拟专用网 (VPN) 连接。
配置
若要支持与 Team Foundation Server 部署进行更安全的外部连接,必须配置 Internet Information Services (IIS) 以启用基本身份验证和/或摘要式身份验证。还应将任何外部连接配置为需要证书。
基本身份验证和摘要式身份验证
基本身份验证是 HTTP 1.0 规范的一部分,它使用 Windows 用户帐户。在基本身份验证期间,浏览器提示用户输入用户名和密码,然后使用 Base64 编码跨 HTTP 传送该信息。默认情况下,基本身份验证要求 Windows 用户帐户拥有 Web 服务器上的本地登录权限。在工作组部署和域部署中均可使用基本身份验证。大多数 Web 服务器、代理服务器和 Web 浏览器支持基本身份验证,但它不安全。因为使用 Base64 编码的数据易于解码,所以基本身份验证实质上是以纯文本形式发送密码。通过监视网络上的通信,恶意用户可以轻松地使用公开提供的工具来截获和解密这些密码。若要提高安全性,应考虑使用具有 SSL 的 HTTPS。
摘要式身份验证是通过网络发送摘要(又称为哈希)而非密码的质询/响应机制。在摘要式身份验证期间,IIS 向客户端发送质询来创建摘要,然后将它发送给服务器。作为对质询的响应,客户端发送摘要,摘要以用户密码以及客户端和服务器都已知的数据为基础。服务器使用与客户端相同的过程创建自己的摘要,其用户信息获取自 Active Directory。仅当服务器创建的摘要与客户端创建的摘要匹配时,IIS 才对客户端进行身份验证。只能在 Active Directory 部署中使用摘要式身份验证。同基本身份验证相比,摘要式身份验证本身只有少许改进。恶意用户可以记录客户端和服务器之间的通信,然后使用该信息重播事务。摘要式身份验证还依赖 HTTP 1.1 协议,不是所有 Web 浏览器都支持该协议。另外,如果没有正确配置摘要式身份验证,则访问 Team Foundation Server 的尝试会失败。不要选择摘要式身份验证,除非部署满足该模式的所有要求。有关更多信息,请参见 Microsoft 网站上的以下页面:Configure Digest Authentication (IIS 7.0)(配置摘要式身份验证 (IIS 7.0))。
身份验证协议
默认情况下, Team Foundation Server 使用windows质询/响应(NTLM)身份验证协议。NTLM 凭据基于在交互式登录过程中获取的数据,并包含密码的单向哈希函数。
Team Foundation Server 还支持 Microsoft Negotiate 作为身份验证协议。在协商协议,选择 Kerberos,除非在某个系统身份验证过程无法使用。对于没有为 Kerberos 配置的这些系统,则使用 NTLM。协商是大多数部署的更安全的选项,但是可能需要其他配置任务。
限制
除了本主题中前面提到的域和工作组要求外,基本身份验证和摘要式身份验证本身都不足以为外部客户端提供网络安全性。因此,不应将 Team Foundation Server 配置为支持外部客户端,除非您还将这些连接配置为要求具有 SSL 的 HTTPS。
请参见
概念
其他资源
Securing Team Foundation Server with HTTPS and Secure Sockets Layer (SSL)