Подключения SSL/TLS в базе данных Azure для MySQL

ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для MySQL — отдельный сервер

Важно!

База данных Azure для MySQL один сервер находится на пути выхода на пенсию. Настоятельно рекомендуется выполнить обновление до База данных Azure для MySQL гибкого сервера. Дополнительные сведения о миграции на гибкий сервер База данных Azure для MySQL см. в статье "Что происходит с одним сервером База данных Azure для MySQL?"

База данных Azure для MySQL поддерживает подключение сервера базы данных к клиентским приложениям с помощью SSL (Secure Sockets Layer). Применение SSL-соединений между сервером базы данных и клиентскими приложениями обеспечивает защиту от атак "злоумышленник в середине" за счет шифрования потока данных между сервером и приложением.

Примечание.

Обновление значения параметра сервера require_secure_transport не влияет на поведение службы MySQL. Используйте функции принудительного применения SSL и TLS, описанные в этой статье, для защиты подключений к базе данных.

Примечание.

Основываясь на отзывах клиентов, мы продлили срок действия корневого сертификата для нашего существующего корневого ЦС в Балтиморе до 15 февраля 2021 г.

Важно!

Срок действия корневого сертификата SSL истекает 15 февраля 2021 г. Обновите приложение, чтобы использовать новый сертификат. Дополнительные сведения см. в разделе Запланированные обновления сертификатов

Параметры SSL по умолчанию

По умолчанию в службе базы данных должно быть настроено обязательное использование SSL-соединений при подключении к MySQL. Мы рекомендуем не отключать параметр SSL без необходимости.

При подготовке нового сервера базы данных Azure для MySQL с помощью портала Azure и интерфейса командной строки применение SSL-соединений включается по умолчанию.

Строки подключения для различных языков программирования отображаются на портале Azure. Они включают необходимые параметры SSL для подключения к базе данных. На портале Azure выберите свой сервер. В разделе Параметры выберите Строки подключения. Значение параметра SSL зависит от соединителя. Например, может использоваться "ssl=true", "sslmode=require", "sslmode=required" или другой вариант.

В некоторых случаях для безопасного подключения приложениям требуется локальный файл сертификата, созданный из файла сертификата доверенного центра сертификации. В настоящее время клиенты могут использовать только предопределенный сертификат для подключения к серверу База данных Azure для MySQL, расположенного по адресуhttps://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem.

Аналогичным образом, следующие ссылки указывают на сертификаты для серверов в национальных облаках: Azure для государственных организаций, Microsoft Azure, управляемые 21Vianet и Azure Для Германии.

Чтобы узнать, как включить или отключить SSL-соединение при разработке приложения, ознакомьтесь со статьей, посвященной настройке SSL.

Принудительное применение TLS в базе данных Azure для MySQL

База данных Azure для MySQL поддерживает шифрование для клиентов, подключающихся к серверу базы данных с помощью протокола TLS. TLS — это стандартный отраслевой протокол, который обеспечивает безопасные сетевые соединения между сервером базы данных и клиентскими приложениями, позволяя вам соблюдать нормативные требования.

Параметры протокола TLS

База данных Azure для MySQL обеспечивает возможность принудительного применения версии TLS для клиентских подключений. Чтобы принудительно применить версию TLS, используйте параметр Минимальная версия TLS. Для этого параметра можно использовать следующие значения:

Минимальная версия TLS Поддерживаемая клиентом версия TLS
TLSEnforcementDisabled (по умолчанию) TLS не требуется
TLS1_0 TLS 1.0, TLS 1.1, TLS 1.2 и более поздние версии
TLS1_1 TLS 1.1, TLS 1.2 и более поздние версии
TLS1_2 TLS 1.2 и более поздние версии

Например, установка значения минимальной версии параметра TLS на TLS 1.0 означает, что сервер разрешает подключения от клиентов с помощью TLS 1.0, 1.1 и 1.2+. Если же этот параметр будет иметь значение 1.2, то подключаться смогут только клиенты, использующие протокол TLS 1.2 и выше, а подключения с версиям TLS 1.0 и TLS 1.1 будут отклонены.

Примечание.

По умолчанию для базы данных Azure для MySQL принудительно не задана минимальная версия TLS (параметр TLSEnforcementDisabled).

После принудительного применения минимальной версии TLS вы не сможете позже отключить эту защиту.

Минимальный параметр версии TLS не требует перезагрузки сервера, пока сервер находится в сети. Сведения о настройке параметра TLS для базы данных Azure для MySQL см. в разделе Настройка параметра TLS.

Поддержка шифров с помощью одного сервера База данных Azure для MySQL

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

Поддерживаемые наборы шифров

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

Следующие шаги