Как я могу защитить соединение с SQL Server из Perl DBI? - PullRequest
1 голос
/ 28 мая 2009

Мне нужно подключиться к защищенной базе данных SQL Server, используя Perl DBI. Мне нужно найти способ безопасной аутентификации пользователя (без страха подслушивания и без хранения паролей на стороне клиента). Я использую SQL Server 2008 на Windows Server 2008, and Perl 5.10 на XP.

SQL Server поддерживает зашифрованные соединения через то, что называется «API клиента собственного доступа SQL Server», но я не могу сказать, поддерживается ли это каким-либо драйвером DBD или как его использовать, если оно есть.

Я неохотно использую драйвер DBD::ODBC с аутентификацией SQL Server, поскольку ODBC передает идентификаторы и пароли пользователей в открытом тексте.

Я не могу использовать драйвер DBD :: ODBC с аутентификацией Windows (доверенное соединение), поскольку сервер не находится ни в одном домене Active Directory, доступном из сети клиента.

Как я могу защитить свои соединения с базой данных? Спасибо.

Ответы [ 3 ]

2 голосов
/ 15 июня 2010

Я неохотно использую драйвер DBD :: ODBC с аутентификацией SQL Server, поскольку ODBC передает идентификаторы и пароли пользователей в открытом тексте.

Это не совсем верно. Если вы используете новейший SQL Server и не отключили в нем шифрование, тогда имя пользователя / пароль и строка подключения шифруются следующим образом:

Клиент связывается с сервером и сообщает ему, на что он способен (например, он может использовать SSL). Если сервер затем поддерживает SSL, он требует от клиента шифровать информацию о соединении и после этого возвращается к незашифрованному. Вы также должны увидеть флажок «Использовать надежное шифрование для данных» в DSN.

1 голос
/ 28 мая 2009

Я бы посоветовал вам использовать какую-то систему защищенного соединения. Это может быть IPSec, но его часто рассматривают как сложный, поэтому вам может быть лучше (или быстрее) использовать OpenVPN, который я использую, и в целом я доволен.

Он может быть использован практически в любой операционной системе, быстрый и бесплатный. Вы можете проверить это здесь: http://openvpn.net/

1 голос
/ 28 мая 2009

Два варианта:

  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

...