- Вопрос или проблема
- Ответ или решение
- Ошибка SSL при подключении к Azure SQL: Полное руководство к диагностике и решению проблемы
- 1. Понимание проблемы
- 2. Проверка настроек TLS
- 3. Обновления и патчи
- 4. Подключение через SSMS и другие поставщики
- 5. Тестирование подключения
- 6. Логи и отладка
- 7. Обратитесь к поддержке
- Заключение
Вопрос или проблема
Соединение было успешно установлено с сервером, но затем произошла ошибка во время рукопожатия перед входом
Я получаю эту ошибку при тестировании из SSMS, а также с связанных серверов и провайдеров SSIS.
Около 4 ноября это соединение перестало работать. Я вижу, что TLS 1.0 и 1.1 должны быть отменены 31 октября 2024 года, поэтому подозреваю, что это связано с этим событием.
Тем не менее, я получаю это на новом установленном сервере Dev, который работает на Windows Server 2022, и я также вижу это на производственном сервере, который работает на Windows Server 2012.
Я отключил TLS 1.0 и 1.1 с помощью IIS Crypto и также отключил в реестре с помощью этих ключей
SCHANNEL\Protocols\TLS 1.1\Client
SCHANNEL\Protocols\TLS 1.1\Server
SCHANNEL\Protocols\TLS 1.2\Client
SCHANNEL\Protocols\TLS 1.2\Server
.
Ответ или решение
Ошибка SSL при подключении к Azure SQL: Полное руководство к диагностике и решению проблемы
Ошибка, с которой вы столкнулись, «Соединение было успешно установлено с сервером, но затем произошла ошибка во время предварительной рукопожатия» (pre-login handshake), может быть вызвана различными факторами, связанными с настройками TLS. Ваша конфигурация и контекст предоставляют несколько ключевых моментов для анализа и поиска решения.
1. Понимание проблемы
На основе вашего описания, ошибка возникла после 4 ноября, что может быть связано с изменениями в политике безопасности Microsoft. Депрекация TLS 1.0 и 1.1, запланированная на 31 октября 2024 года, предполагает, что Azure SQL начинает использовать более строгие требования к безопасности, требуя обязательного использования TLS 1.2 или выше для шифрования соединений.
2. Проверка настроек TLS
Вы упоминаете, что правила шифрования для TLS 1.0 и 1.1 были отключены. Для Windows Server 2022 и Windows Server 2012 необходимо убедиться в следующем:
- Проверка ключей реестра: Убедитесь, что ключи реестра для TLS 1.2 настроены правильно. Необходимо проверить следующие ключи:
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server
- Убедитесь, что значения "Enabled" установлены на 1 и "Disabled" на 0.
3. Обновления и патчи
Убедитесь, что все последние обновления и патчи для вашей операционной системы установлены. Для Windows Server 2012 это особенно важно, так как устаревшие версии могут не поддерживать современные протоколы шифрования.
4. Подключение через SSMS и другие поставщики
Проблема может также возникать в зависимости от версии SQL Server Management Studio (SSMS) и других поставщиков, таких как SSIS:
-
Убедитесь, что вы используете последнюю версию SSMS. Старая версия может не поддерживать TLS 1.2, что может быть причиной сбоя соединения.
-
Также проверьте, соответствуют ли версии OLE DB и ODBC драйверов требованиям к поддержке TLS 1.2.
5. Тестирование подключения
Для диагностики проблемы выполните следующие действия:
- Используйте PowerShell для проверки вашего TLS-соединения с Azure SQL. Пример команды:
Test-NetConnection -ComputerName <your-server-name>.database.windows.net -Port 1433 -InformationLevel Detailed
Убедитесь, что вы видите успешное соединение через TLS 1.2.
6. Логи и отладка
Проверьте системные логи Windows и журналы SQL Server на наличие более подробной информации об ошибках. Возможные события, связанные с шифрованием, могут дать дополнительные подсказки о проблеме.
7. Обратитесь к поддержке
Если, после выполнения вышеуказанных шагов, проблема не исчезла, рекомендуется обратиться в службу поддержки Microsoft. Подробно изложите шаги, которые вы уже предприняли, чтобы ускорить процесс разрешения проблемы.
Заключение
Ошибки, связанные с SSL при подключении к Azure SQL, часто возникают в контексте настройки TLS и безопасности. Регулярная проверка и обновление систем вместе с отзывчивым управлением изменениями политики безопасности помогут минимизировать перебои в работе. Надеемся, что этот гайд поможет вам успешно решить проблему и восстановить стабильное подключение.