我正在升级我们的 svn 服务器并希望更改为 Windows 身份验证而不是 htpassword 文件。我已经安装了该模块并且可以让它运行 HTTP协议 或者 HTTPS.

访问存储库,使用 乌龟SVN, ,我有两种情况:

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

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

我的问题是:

如果我使用 SSPI + HTTP 代替 SSPI + HTTPS 然后是我的密码和用户名加密吗?

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

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

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

亲切问候 加勒特

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

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

启用S​​SPI+HTTP时访问SVN,这实际上意味着SSPI是禁用的,并且在访问时我使用的是基本AUTH,AS SSPI 需要 SSL。这意味着我的用户名和密码只有 温和的基本身份验证加密,与 SSL 加密不同。

SSPI模块进入图片的唯一位置是它从基本验证中接收用户名+通过 (当然以安全的方式???).

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

亲切的问候

加勒特

有帮助吗?

解决方案

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

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

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

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

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

本文还提供了如何更改 Subversion 配置的分步说明。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top