【问题标题】:connecting to firewalled MS-SQL server that requires Windows Authentication via proxy?连接到需要通过代理进行 Windows 身份验证的防火墙 MS-SQL 服务器?
【发布时间】:2011-02-10 22:24:10
【问题描述】:

所以我需要通过 Windows 身份验证从 Unix 服务器连接到 mssql 服务器。以下是障碍:

  1. db 管理员创建了一个服务帐户,但只使用了 Windows-Auth,这意味着我无法将用户名和密码直接传递给服务器进行连接。

  2. 管理员还将我主机的服务器添加到防火墙,以便它只接受来自我主机的请求。

  3. 我的主机服务器通过 freetds/sybase-dblib 启用了 mssql,但仍设置了默认的“安全连接:关闭”。

  4. 我在我的个人计算机上进行了类似的设置,但启用了安全连接,但我无法以这种方式连接,因为我有防火墙。

所以我想知道是否可以在我的主机上设置各种代理,以便我可以使用本地 freeTDS 库在我的个人计算机上启动连接,但将请求传递给主机(在我的梦想世界)不需要开启安全连接,只需将请求传递,以便它来自我的非防火墙主机,但使用正确的身份验证方法。

如果有人不熟悉 Windows 身份验证的工作原理,它是一种 Kerberos 身份验证,客户端机器向远程服务器发出请求,这样凭据就不会被实际发送(因此不会被人破坏-在中间)。所以我很怀疑这是否可以做到,因为在某种程度上我的主机必须做实际的工作。但我想我会问,因为我对更深层次的机制并不完全清楚,而且我真的很想实现这一点。

我想另一种看待它的方式是我想将我的主机用作一种 VPN。

另外,我正在与我的主机管理员一起寻找更长期的解决方案,但我需要尽快查看数据库,以便在问题得到解决后我可以有一些工作。

【问题讨论】:

    标签: php sql-server proxy windows-authentication vpn


    【解决方案1】:

    为什么不试试 SSH 端口转发? IE。您连接到主机服务器,并告诉它将本地端口转发到 sql 服务器。然后,您使用 localhost:port 在本地计算机上进行连接,您的连接将通过您的主机服务器通过 ssh 进行隧道传输。

    如果您的本地计算机是 Windows 计算机,则只需下载 PuTTY 并按照以下说明设置端口转发:http://www.cs.uu.nl/technical/services/ssh/putty/puttyfw.html

    问题当然是您的 Windows 凭据是否会通过,但理论上这应该可行:p。

    【讨论】:

    • 我实际上意识到我可以选择 VPN 到同一个主域(这意味着我不会与我的主机在同一个子域上,而是在主域上),并且是能够建立初始连接并看到freeTDS发送的登录数据包。即使在 VPN 上,它也将我的主机名显示为我的本地主机。经过多次变化和尝试,远程服务器甚至在请求数据包发送之前就开始杀死成功的连接,所以我太紧张了,不敢欺骗它。你的想法应该可行,但我猜会产生相同的结果。不过感谢您的想法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-07
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-01
    相关资源
    最近更新 更多