Включить шифрование для подключений Microsoft SQL Server

Уже конец дня, и я только что получил самое интересное задание. Мой клиент хочет подключиться к своему Microsoft SQL Server через общедоступную сеть без VPN, и он спрашивает меня, как мы можем лучше защитить это соединение. Первое, что всплыло у меня в голове, — это шифрование!

Поэтому я сказал ему, что давайте принудительно используем шифрование для трафика, проходящего через порт 1433, поэтому мы можем максимально уменьшить эту гигантскую лазейку, которая напрямую обращается к Microsoft SQL Server через общедоступную сеть.

Теперь, чтобы иметь возможность даже начать процесс настройки шифрования, нам сначала нужны самые важные вещи из всех остальных: сертификат, имеющий следующее свойство расширенного использования ключа: Аутентификация сервера 1.3.6.1.5.5.7.3.1.

Поэтому при развертывании самозаверяющего сертификата или покупке легитимного сертификата нам необходимо убедиться, что строка «Использование ключа» в точности соответствует указанной выше. Теперь 99% времени достаточно для самозаверяющего сертификата для шифрования, но вы можете получить действительный сертификат у одного из доверенных поставщиков.

Хорошо, теперь, когда я убедился, что у меня есть правильный сертификат, давайте пойдем и скажем SQL, какой сертификат использовать. Для этого нам нужно скопировать отпечаток сертификата и вставить следующий раздел реестра:

HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQLSERVER\SuperSocketNetLib

В этом конкретном ключе есть значение, называемое Сертификат. Нам нужно скопировать и вставить отпечаток сертификата в это значение.

В моем случае это будет выглядеть примерно так:

Теперь перейдем в Диспетчер конфигурации SQL Server, затем перейдите в раздел «Настройка сети SQL Server», в разделе «Протоколы для MSSQLSERVER» перейдите в «Свойства» и перейдите на вкладку «Сертификат». Вот где мы увидим сертификат, который мы только что развернули в реестре. Осталось только выбрать сертификат и перезапустить службу SQL Server.

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

Теперь, когда мы настроили сертификат, давайте вернемся к службам SQL Server и перезапустим службу, щелкнув правой кнопкой мыши службу SQL Server (MSSQLSERVER) и выбрав Перезапустить.

Вуаля, теперь мы настроили порт 1433 для шифрования связи!

Следующим шагом является настройка зашифрованных соединений в нашем приложении или при подключении из SQL Server Management Studio.

Чтобы сделать это в SSMS, нам нужно выполнить следующие шаги:

  • Нажмите на Подключиться к базе данных Engine
  • В диалоговом окне «Подключение к серверу» выберите «Параметры».
  • На вкладке Свойства соединения нажмите Зашифровать соединение.

Вот и все, довольно просто и понятно. Я надеюсь, вам понравилась эта статья, и надеюсь, что вы вернетесь к более классным статьям.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.