После создания самозаверяющего SSL-сертификата я настроил свой удаленный сервер MySQL для их использования (и SSL включен)
Я захожу по ssh на свой удаленный сервер и пытаюсь подключиться к его собственному mysqld с помощью SSL (MySQL server - 5.5.25).
mysql -u <user> -p --ssl=1 --ssl-cert=client.cert --ssl-key=client.key --ssl-ca=ca.cert
Enter password:
ERROR 2026 (HY000): SSL connection error: error:00000001:lib(0):func(0):reason(1)
Хорошо, я помню, что читал некоторые проблемы с подключением к тому же серверу через SSL. Поэтому я загружаю клиентские ключи в свою локальную коробку и тестирую оттуда ...
mysql -h <server> -u <user> -p --ssl=1 --ssl-cert=client.cert --ssl-key=client.key --ssl-ca=ca.cert
Enter password:
ERROR 2026 (HY000): SSL connection error
Непонятно, к чему относится ошибка «Ошибка соединения SSL», но если я ее опущу -ssl-ca
, я смогу подключиться с использованием SSL.
mysql -h <server> -u <user> -p --ssl=1 --ssl-cert=client.cert --ssl-key=client.key
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 37
Server version: 5.5.25 MySQL Community Server (GPL)
Тем не менее, я считаю, что это только шифрование соединения, а не проверка подлинности сертификата (это означает, что я буду потенциально уязвим к атаке «человек посередине»)
Сертификаты SSL действительны (хотя и самозаверяющие) и не имеют парольной фразы. Итак, мой вопрос, что я делаю не так? Как я могу подключиться через SSL, используя самозаверяющий сертификат?
Версия MySQL Server - 5.5.25, а сервер и клиенты - CentOS 5.
Спасибо за любой совет
Изменить : Обратите внимание, что во всех случаях команда запускается из того же каталога, в котором находятся ключи ssl (следовательно, без абсолютного пути)
Изменить (в ответ на mgorven): ca.cert
это сертификат центра сертификации, который должен сообщать mysql, что моему центру
сертификации доверяют.
Конфиг из my.cnf
есть
[mysqld]
ssl-ca=/etc/ssl/mysql/ca.cert
ssl-cert=/etc/ssl/mysql/server.cert
ssl-key=/etc/ssl/mysql/server.key
Я также попытался добавить, ssl-cipher=DHE-RSA-AES256-SHA
но с тех пор удалил это, поскольку это не помогло.
ca.cert
? Это самозаверяющий сертификат сервера? Вы используете клиентские сертификаты для аутентификации? Пожалуйста, предоставьте конфигурацию, связанную с SSL, на сервере.