Назад | Перейти на главную страницу

Как зашифровать соединения с SQL Server с помощью IPSec?

В Поставщик OLEDB SQL Server может использовать зашифрованные SSL-соединения с SQL Server с параметром в строке подключения.:

Использовать шифрование данных
Указывает, следует ли шифровать данные перед их отправкой по сети.
Допустимые значения - «истина» и «ложь». Значение по умолчанию неверно".

Как отмечает Microsoft, это имеет ряд проблем:

IPSec

К счастью, Microsoft предлагает использовать IPSec как альтернатива:

Данные SQL Server могут быть зашифрованы во время передачи с помощью IPSec. IPSec предоставляется операционными системами клиента и сервера и не требует настройки SQL Server. Для получения информации о IPSec см. Документацию по Windows или по сети.

Потому что, хотя и клиент, и сервер находятся в одной локальной сети:

Мы не хотим, чтобы кто-либо с WireShark, концентратором, ПК в разрешенном режиме или коммутатором, который мог отслеживать трафик, мог видеть трафик.

Вопрос в том: как ты это делаешь?

Исследовательские усилия несущественны

На клиентском компьютере мы хотим настроить политику, которая требует подключения IPSec к SQL Server (например, порт 1433). Изнутри Брандмауэр Windows в режиме повышенной безопасности:

Обратной стороной является то, что теперь клиент не может подключиться к серверу:

Бонусное чтение

Вы не можете использовать команду «Разрешить это соединение, если оно безопасное», пока у вас нет правила безопасности соединения. Это должно быть определено в обеих системах и иметь соответствующие настройки, как при настройке стандартного VPN-туннеля ipsec.

Вот как создать его для этого варианта использования, шаг за шагом.

  1. Откройте оснастку брандмауэра Защитника Windows (wf.msc)
  2. Откройте вкладку «Правила безопасности подключения».
  3. Щелкните правой кнопкой мыши на центральной панели и выберите «Новое правило».
  4. Выберите шаблон «С сервера на сервер».
  5. Введите IP-адрес локального компьютера в конечной точке 1
  6. Введите IP-адрес удаленного компьютера в конечной точке 2.
  7. Как правило, установите правило безопасности подключения на требование аутентификации в обоих направлениях.
  8. Выберите метод аутентификации этого подключения.
    • Если обе ваши системы имеют доступ к общему внутреннему CA / kerberos, это обычно лучший вариант.
    • В противном случае - особенно это касается DMZ для внутренних компьютеров - следующий лучший вариант - предварительный ключ. Это устанавливается в расширенных настройках аутентификации.
    • Все, что угодно, кроме сертификатов компьютеров, находится в расширенном диалоговом окне.
    • Вероятно, вам нужно использовать здесь только метод «первой аутентификации».

Этот процесс необходимо повторить на обоих ваших хостах.

Единственный способ, которым я могу рассматривать это как вариант, - это настроить сервер IPSec VPN на вашем SQL-сервере и попросить вашего клиента сначала создать туннель к нему, а затем трафик может течь. Это запутанное решение, но именно на него ссылается документация, когда говорится, что IPSec предоставляется клиентскими и серверными операционными системами.

Вам потребуется настроить вторичную сеть с IP-адресами, выдаваемыми системой VPN, и повторно привязать ваш SQL-сервер к этому диапазону IP-адресов, чтобы только люди, подключенные к VPN, могли подключиться к SQL-серверу.