我需要使用Perl DBI连接到安全的SQL Server数据库。我需要找到一种安全地验证用户的方法(不用担心被窃听,也不需要在客户端存储密码)。我在XP上SQL Server 2008
使用Windows Server 2008, and Perl 5.10
。
SQL Server通过称为“SQL Server Native Access Client API”的东西支持加密连接,但我无法判断任何DBD驱动程序是否支持这种连接,或者如果它是如何使用它。
我不愿意将DBD::ODBC
驱动程序与SQL Server身份验证一起使用,因为ODBC以明文形式传输用户ID和密码。
我不能将DBD :: ODBC驱动程序与Windows身份验证(可信连接)一起使用,因为服务器不在可从客户端网络访问的任何Active Directory域上。
如何保护与数据库的连接?感谢。
答案 0 :(得分:2)
我不愿意将DBD :: ODBC驱动程序与SQL Server身份验证一起使用,因为ODBC以明文形式传输用户ID和密码。
这并非严格属实。如果您使用的是最近的SQL Server并且未在其中禁用加密,则用户名/密码和连接字符串将按如下方式加密:
客户端联系服务器并告诉它能够做什么(例如,它可以执行SSL)。如果服务器然后支持SSL,则它要求客户端加密连接信息并在此之后回退到未加密。您还应该在DSN中看到“对数据使用强加密”复选框。
答案 1 :(得分:1)
两个选项:
在两个位置之间创建IPSec隧道。一些信息在这里: technet.microsoft.com/en-us/library/cc737154(WS.10).aspx technet.microsoft.com/en-us/library/cc786385(WS.10).aspx
启用SSL。我不确定它会受到多么好的保护。 technet.microsoft.com/en-us/library/ms189067.aspx
答案 2 :(得分:1)
我建议您使用某种安全连接系统。它可能是IPSec,但它通常被认为是复杂的,所以你可能会更好(或更快)地使用我使用的OpenVPN,并且通常很满意。
它几乎可以在任何操作系统上使用,速度快,免费。您可以在此处查看:http://openvpn.net/