【问题标题】:How can I secure connection to SQL Server from Perl DBI?如何保护从 Perl DBI 到 SQL Server 的连接?
【发布时间】:2009-05-28 13:10:52
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: sql-server perl security odbc dbi


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      两种选择:

      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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-01-20
          • 2011-06-19
          • 2015-09-28
          • 1970-01-01
          • 2020-01-27
          • 1970-01-01
          • 1970-01-01
          • 2020-04-22
          相关资源
          最近更新 更多