Рейтинг:2

MySQL не использует мой сертификат, использует собственный самоподписанный

флаг nl

Я пытался найти ответ на этот вопрос и ничего не понял.

У меня есть сертификат от LetsEncrypt, который я использую для всех своих потребностей в SSL. Это действительно для всех DNS-имен, которые я пытаюсь использовать. Сегодня я попытался заставить его работать для MySQL, но MySQL настаивает на использовании собственного самозаверяющего сертификата.

Версия MySQL 8.0.26-0ubuntu0.20.04.2 из пакетов Ubuntu.

Я создал файл /etc/mysql/mysql.conf.d/zz-ssl.conf со следующим содержимым:

[mysqld]
ssl-ca=/etc/ssl/certs/local/mainchain.pem
SSL-сертификат=/etc/mysql/cert.pem
SSL-ключ=/etc/mysql/cert.pem
[система_по умолчанию_секта]
Минпротокол = TLSv1.2

Но в логе написано следующее:

2021-08-08T16:16:57.982003Z 0 [Предупреждение] [MY-013746] [Сервер] Для канала mysql_main включена устаревшая версия TLS TLSv1
2021-08-08T16:16:57.982227Z 0 [Предупреждение] [MY-013746] [Сервер] Для канала mysql_main включена устаревшая версия TLS TLSv1.1.
2021-08-08T16:16:57.983344Z 0 [Предупреждение] [MY-010068] [Сервер] Сертификат ЦС ca.pem является самозаверяющим.

Я пытался удалить /var/lib/mysql/*.pem... но когда я перезапускаю mysql, все эти файлы возвращаются с обновленными временными метками. MySQL, похоже, решил использовать свой собственный самозаверяющий сертификат, а не тот, который я настроил. Я полагаю, что мне не хватает чего-то, что должно быть очевидным, но это не так.

Файл /etc/mysql/cert.pem, указанный в моей конфигурации, принадлежит mysql:mysql и имеет права доступа 0600. Это копия файла сертификата, который я использую для всего остального, он содержит сертификат сервера, закрытый ключ и сертификат выдачи LetsEncrypt.

флаг nl
Я обнаружил одну проблему: файлы в /etc/mysql/mysql.conf.d должны иметь расширение .cnf, иначе они не будут использоваться. У меня было расширение .conf. Я переименовал его, и теперь все по-другому, но все еще не работает. Файл журнала содержит: 2021-08-08T16:40:09.702267Z 0 [Предупреждение] [MY-011302] [Сервер] Плагин mysqlx сообщил: «Ошибка при настройке SSL: «Контекст SSL не может использоваться без сертификата и закрытого ключа»'
Рейтинг:1
флаг nl

Я наконец понял это. Файлы конфигурации должны иметь расширение .cnf, иначе mysql их проигнорирует. И как только я это исправил, у меня возникла проблема с правами доступа — я разделил файл сертификата на три отдельных файла, но два других файла принадлежали пользователю root:root. Как только я это исправил, все заработало.

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

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.