3

我正在升级我们的 svn 服务器并希望更改为 windows 身份验证而不是 htpassword 文件。我已经安装了模块并且可以让它在HTTPHTTPS上运行。

使用TortoiseSVN访问存储库,我有两种情况:

  1. 在设置SSPI + HTTPS时访问。登录是自动的,就像一个魅力:)

  2. 在设置SSPI + HTTP时访问。登录需要我在 TortoiseSVN 中输入我的域用户名和密码,这没关系,因为我可以要求 TortoiseSVN 记住我的凭据。

我的问题是:

如果我使用SSPI + HTTP而不是SSPI + HTTPS,那么我的密码和用户名会被加密吗?

我要问的原因是我们在局域网上,永远无法从外部访问,而且 SSL 有点矫枉过正,因为它使一切都变得相当慢:S。所以我更喜欢使用 HTTP + SSPI。

我使用 WireShark 在网络上搜索了我的密码,但没有运气,这意味着凭据确实是加密的 :)。只能找到一条我怀疑是我的用户+密码的行,看起来像这样:授权:基本 Yh2_3 m%erTo_d4fre

如果有人可以为我澄清这一点,或者更好地将我链接到一个位置,该位置指出使用 SSPI + HTTP 时密码已加密,我将不胜感激:)。

亲切的问候加勒特

** * ** * ** * ** * ** * ** * ** * *编辑* ** * ** * ** * ** * ** * ** * ** *

看来我误解了一些非常重要的事情。请验证我是否正确:):

在启用 SSPI+HTTP 时访问 svn,这实际上意味着禁用了 SSPI,并且我在访问时使用的是 Basic Auth,因为 SSPI需要SSL。这意味着我的用户名和密码只有温和的基本身份验证加密,不像 SSL 加密。

SSPI 模块进入图片的唯一地方是它从 Basic Auth 接收用户名+密码,然后使用这些用户名验证域的用户(当然是以安全的方式???)

这是我再次阅读文档时可以扣除的。谁能验证我是否做对了?

亲切的问候

加勒特

4

1 回答 1

3

更新:Subversion 1.8.0 中的行为发生了变化:现在,如果服务器支持,Subversion 客户端会使用 SPNEGO/NTLM 协议自动进行身份验证。http-auth-types即配置选项的默认值为negotiate;ntlm;basic

默认情况下,Subversion 网络库仅将 Negotiate/NTLM 用于 HTTPS 连接。

引用适用于任何 Subversion 客户端/服务器的 VisualSVN 服务器知识库文章:http: //www.visualsvn.com/support/topic/00040/

为了防止窃听者和中间人攻击,不建议在不安全的 HTTP 协议上使用 NTLM/协商身份验证。这就是默认情况下禁用此选项的原因。

但是如果你被迫使用 HTTP 协议,你可以手动重新配置 Subversion 客户端。可以使用http-auth-types Subversion 配置选项启用基于 HTTP 协议的 NTLM/Negotiate 身份验证。此选项的默认值为“http-auth-types = basic”。为了允许 NTLM/Negotiate 身份验证,您应该将此值更改为“http-auth-types = basic;negotiate”。

本文还包含如何更改 Subversion 配置的分步说明。

于 2010-12-13T22:01:15.850 回答