Subversion使用SSPI模块HTTP与HTTPS

时间:2010-12-11 21:49:20

标签: svn http https sspi

我正在升级我们的svn服务器,并希望更改为Windows身份验证而不是htpassword文件。 我已安装该模块,可以在 HTTP HTTPS 上运行该模块。

使用 TortoiseSVN 访问repos,我有2个场景:

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

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

  3.   

    我的问题是:

         

    如果我使用 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模块进入图片的唯一地方是它接收到的   用户名+从基本身份验证传递,然后它使用这些来验证用户对域(在   当然是一种安全的方式???)

    这是我在再次阅读文档时可以扣除的内容。任何人都可以验证我是否已经做到了这一点?

    亲切的问候

    盖瑞特

1 个答案:

答案 0 :(得分:3)

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

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

引用适用于任何Subversion客户端/服务器的VisualSVN Server KB articlehttp://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配置的分步说明。