Я подключаюсь к серверу Windows 2008 R2 с установленным SQL Server 2008 R2 Express. Я подключаюсь через удаленное соединение, а не в той же локальной сети. Я подключаюсь к SQL Server 2008 R2 Express через VS2010. Это просто удаленное подключение к базе данных. Безопасно ли это удаленное соединение? Если да, то как? SSL имеет какое-то отношение к этому? При удаленном подключении, насколько безопасны пароли, используемые для удаленного входа в SQL Server?
SQL Server обеспечивает конфиденциальность (т. Е. Зашифрован) и защищен от взлома (т. Е. Подписан), если так настроен. Защита действительно осуществляется с использованием SSL (на самом деле это TLS, подробности ...). Видеть Шифрование подключений к SQL Server и Как: включить шифрованные соединения с ядром СУБД для получения подробной информации, включая шаги по обеспечению его соблюдения.
Вопрос о паролях - это совсем другая тема. SQL Server поддерживает два режима аутентификации: Windows и SQL. Если в строке подключения указано Trusted Connection=True
, или Trusted connection=SSPI
то вы используете аутентификацию Windows. Если указать пользователя и пароль User ID=Carpenter;Password=secret
тогда вы используете аутентификацию SQL.
Проверка подлинности Windows будет использовать NTLM или Kerberos, ни один из которых не требует отправки пароля через соединение. Но если вы используете SQL-аутентификацию, тогда пароль будет отправлен через соединение во время рукопожатия. Если соединение не защищено туннелем SSL, то пароль отображается в виде открытого текста и может быть отслежен кем угодно.
Пока вы используете SSL (в связанных статьях пошагово показано, как это сделать), вы в безопасности.
Нет, соединение не является безопасным с точки зрения того, что люди могут обнюхивать пакеты и видеть возвращаемые данные (или некоторые из них). Вам понадобятся сертификаты, IPSEC, VPN или что-то подобное.
Если вы входите в SQL Server, используя учетные данные Windows, которые должны быть более безопасными - AD. Однако, поскольку он не находится в той же локальной сети, похоже, что вы используете учетную запись SQL, которая по своей сути менее безопасна, чем учетная запись домена Windows.