我正在升级我们的svn服务器,并希望更改为Windows身份验证而不是htpassword文件。 我已安装该模块,可以在 HTTP 或 HTTPS 上运行该模块。
使用 TortoiseSVN 访问repos,我有2个场景:
设置 SSPI + HTTPS 时访问。登录是自动的,就像一个魅力:)
设置 SSPI + HTTP 时访问。登录要求我在TortoiseSVN中输入我的域用户名和密码,这没关系,因为我可以要求TortoiseSVN记住我的凭据。
我的问题是:
如果我使用 SSPI + HTTP 而不是 SSPI + HTTPS 是我的 密码和用户名然后加密?
我问的原因是我们在局域网上并且永远无法从外部访问,而且SSL是一种过度杀伤,因为它使得一切都变得缓慢:S。 所以我更喜欢使用HTTP + SSPI。
我使用WireShark在网络上搜索我的密码,但没有运气,这意味着凭据确实是加密的:)。只能找到我怀疑是我的用户+传递的行,看起来像这样:授权:基本Yh2_3 m%erTo_d4fre
如果有人可以为我清除此信息,或者更好地将我链接到使用SSPI + HTTP 时密码已加密的位置,我将非常感激:)。
亲切的问候 盖瑞特
的 的 ** * ** * ** * 的** * ** * ** * ** * * 修改< / EM> * ** * ** * ** * ** * ** * ** * ** *
似乎我误解了一些非常重要的东西。请确认我是对的:):
在SSPI + HTTP时访问svn 启用后,它实际上意味着SSPI 被禁用,我正在使用Basic 访问时进行身份验证,因为SSPI 需要 SSL。这意味着我的用户名和密码只有温和的基本身份验证加密,不像SSL加密。
SSPI模块进入图片的唯一地方是它接收到的 用户名+从基本身份验证传递,然后它使用这些来验证用户对域(在 当然是一种安全的方式???)。
这是我在再次阅读文档时可以扣除的内容。任何人都可以验证我是否已经做到了这一点?
亲切的问候
盖瑞特
答案 0 :(得分:3)
更新:Subversion 1.8.0中的行为已更改:现在,如果服务器支持,Subversion客户端将使用SPNEGO / NTLM协议自动进行身份验证。即http-auth-types
配置选项的默认值为negotiate;ntlm;basic
默认情况下,Subversion网络库仅将Negotiate / NTLM用于HTTPS连接。
引用适用于任何Subversion客户端/服务器的VisualSVN Server KB article: http://www.visualsvn.com/support/topic/00040/
为了防止窃听者和中间人攻击,不建议在不安全的HTTP协议上使用NTLM / Negotiate身份验证。这就是默认情况下禁用此选项的原因。
但是如果您被迫使用HTTP协议,则可以手动重新配置Subversion客户端。可以使用 http-auth-types Subversion配置选项启用通过HTTP协议的NTLM /协商身份验证。此选项的默认值为“http-auth-types = basic”。为了允许NTLM / Negotiate身份验证,您应该将此值更改为“http-auth-types = basic; negotiate”。
本文还提供了如何更改Subversion配置的分步说明。