Подтвердить что ты не робот

Как трафик SQL Server зашифрован?

Мне нужно доказать, что настройки шифрования, которые у нас есть в нашей строке подключения к приложению, работают.

Каким будет самый простой способ проверить, что трафик с нашего веб-сайта на SQL Server на самом деле зашифрован?

4b9b3361

Ответ 1

Вы можете использовать что-то вроде Wireshark для просмотра пакетов при их передаче по сети

Ответ 2

Вы проверяете столбец encrypt_option в sys.dm_exec_connections DMV. Таким образом, вы не можете только доказать, что зашифрованы, но вы можете также проверить в своем приложении во время запуска. Чтобы обеспечить шифрование, вы следуете методам, описанным в этом MSDN How To: Включить зашифрованные подключения к движку базы данных. Если клиент или сервер принудительно шифрует и предоставляет сертификат, и клиент принимает сертификат сервера, соединение будет зашифровано. Чтобы проверить, что трафик зашифрован, вы можете использовать встроенный инструмент netmon.exe(должен быть установлен из компонентов ad/remove system), загрузить улучшенную Microsoft Network Монитор 3.2 или другие сторонние инструменты.

В качестве альтернативы сайт развертывания может обеспечить шифрование IPSec.

Ответ 3

Я бы установил шифрование Force Protocol в true и Trust Server Certificate в true в строке подключения db. Сервер не должен устанавливать соединение, если он не может предоставить вам зашифрованное соединение по запросу. Существует статья которая охватывает шифрование с использованием SQL Server 2005 и более поздних версий.

Простым тестом является попытка соединения с шифрованием и без него и сбой при сбое нежелательного типа соединения. затем его до DBA, IT или вы настроите сервер в соответствии с вашими требованиями.

Ответ 4

Существует еще один очень недооцененный инструмент от самой Microsoft: "Microsoft Network Monitor". В основном это очень похоже на wirehark, за исключением того, что некоторые конкретные протоколы MS имеют лучшую поддержку синтаксического анализа и визуализации, чем сама wirehark, и, очевидно, она будет работать только под окнами;-).

Инструмент довольно старый и выглядит заброшенным (до сих пор он не видел более новой версии), но по-прежнему выполняет хорошую работу, и грамматика для определения новых протоколов довольно аккуратная/интересная, поэтому у этого все еще есть много возможностей для будущее. mnm 3.4 about dialog

Пример анализа - запись фильтруется для TDS - поэтому другие пакеты в основном удаляются:

Example Session for TDS (MSSQL)

Это также верно для соединений сервера sql. MNM может даже визуализировать результаты, идущие по проводу - довольно аккуратно. Тем не менее wirehark, как упоминалось выше, будет достаточным для проверки шифрования и применения сертификатов на самом проводе. Значит, он полностью понимает TDS-Protocoll.

Обработка TLS

Также с расширением (так называемые эксперты) "NmDecrypt" и правильными сертификатами (включая закрытые ключи) - можно расшифровать протоколлы - довольно приятно для TDS, который использует TLS INSIDE TDS - неудивительно - никто не имеет действительно реализовано, что все же в качестве полностью поддерживаемого протоколла для wirehark;)

Ссылки для инструментов:

Ответ 5

Чтобы гарантировать, что шифрование используется, вам необходимо включить параметр шифрования силы на сервере.

Шифрование на стороне клиента не является обязательным. Сторона сервера обязательна.

При запуске службы SQL Server она прекратится, если не сможет прочитать сертификат или есть другие препятствия. Он не будет принимать незашифрованные соединения.

Чтобы ответить, я использовал пакетный сниффер, первый из которых использовал шифрование для проверки, тогда я просто полагался на то, что шифрование на стороне сервера является обязательным, и SQL не запускается.

Для SQL 2000, KB 276553

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

Поиск KB для SQL 2005

Позднее редактирование:

Использовать более старую версию клиента MS JDBC: он не может обрабатывать шифрование на стороне сервера...