1

我需要使用 Perl DBI 连接到安全的 SQL Server 数据库。我需要找到一种方法来安全地验证用户身份(不用担心被窃听,也不需要在客户端存储密码)。我SQL Server 2008Windows Server 2008, and Perl 5.10XP上使用。

SQL Server 通过称为“SQL Server Native Access Client API”的东西支持加密连接,但我不知道这是否被任何 DBD 驱动程序支持,或者如果它是如何使用它。

我不愿意将DBD::ODBC驱动程序与 SQL Server 身份验证一起使用,因为 ODBC 以明文形式传输用户 ID 和密码。

我不能将 DBD::ODBC 驱动程序与 Windows 身份验证(可信连接)一起使用,因为服务器不在任何可从客户端网络访问的 Active Directory 域中。

如何保护与数据库的连接?谢谢。

4

3 回答 3

2

我不愿意使用带有 SQL Server 身份验证的 DBD::ODBC 驱动程序,因为 ODBC 以明文形式传输用户 ID 和密码。

严格来说,这并不正确。如果您使用的是最近的 SQL Server 并且没有在其中禁用加密,则用户名/密码和连接字符串加密如下:

客户端联系服务器并告诉它它可以做什么(例如,它可以做 SSL)。如果服务器随后支持 SSL,它需要客户端加密连接信息,然后回退到未加密。您还应该在 DSN 中看到“对数据使用强加密”复选框。

于 2010-06-15T13:07:37.310 回答
1

我建议您使用某种安全连接系统。它可能是 IPSec,但它通常被认为是复杂的,所以你可能会更好(或更快)使用我使用的 OpenVPN,并且通常对此感到满意。

它几乎可以在任何操作系统上使用,速度快,而且免费。你可以在这里查看:http: //openvpn.net/

于 2009-05-28T13:56:45.293 回答
1

两种选择:

  1. 在两个位置之间创建 IPSec 隧道。这里有一些信息:technet.microsoft.com/en-us/library/cc737154(WS.10).aspx technet.microsoft.com/en-us/library/cc786385(WS.10).aspx

  2. 启用 SSL。我不确定它会受到怎样的保护。technet.microsoft.com/en-us/library/ms189067.aspx

于 2009-05-28T13:22:31.417 回答