MySQL. Accepted a connection with deprecated protocol ‘TLSv1.1’

Однажды я заметил предупреждения в логах MySQL:

[Warning] Accepted a connection with deprecated protocol ‘TLSv1.1’ for account test@ixnfo.com from host ixnfo.com. Client supplied username test

Посмотрел текущие подключения и их версию протокола:

SELECT variable_value AS tls_version,processlist_user AS user,processlist_host AS host
FROM performance_schema.status_by_thread sbt
JOIN performance_schema.threads t
ON (t.thread_id = sbt.thread_id)
WHERE variable_name = 'Ssl_version'
ORDER BY tls_version;

Посмотрел какие версии разрешены:

SHOW GLOBAL VARIABLES LIKE 'tls_version';
SHOW VARIABLES LIKE "%version%";

+---------------+-----------------------+
| Variable_name | Value                 |
+---------------+-----------------------+
| tls_version   | TLSv1,TLSv1.1,TLSv1.2 |
+---------------+-----------------------+

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

nano /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
tls_version=TLSv1.2

service mysql restart
SHOW GLOBAL VARIABLES LIKE 'tls_version';

+---------------+-----------------------+
| Variable_name | Value                 |
+---------------+-----------------------+
| tls_version   | TLSv1.2 |
+---------------+-----------------------+

В моем случае подключение выполнялось клиентом «Connector/ODBC» (разных версий) к MySQL серверу версии 5.7 и он не хотел подключаться с новым протоколом даже если явно указать tls-versions=TLSv1.2. Он пытался выполнить подключение с TLSv1.1 и в логах MySQL отображалась ошибка подключения «Bad Handshake». Другие приложения успешно подключались с TLSv1.2.

Чтобы решить эту проблему я просто обновил MySQL сервер до версии 8 и после этого клиент «Connector/ODBC» успешно подключился с TLSv1.2.

Замечу что в MySQL 8 по умолчанию tls_version=TLSv1.2,TLSv1.3.

Если что оставлю официальные ссылки на параметры «Connector/ODBC» и MySQL:
https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-configuration-connection-parameters.html
https://dev.mysql.com/doc/refman/5.7/en/encrypted-connection-protocols-ciphers.html
https://dev.mysql.com/doc/refman/8.0/en/encrypted-connection-protocols-ciphers.html

Смотрите также другие мои статьи про MySQL

Оставьте комментарий

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