have_ssl в MariaDB остается ОТКЛЮЧЕНО, не может включить SSL в Debian и YaSSL - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь настроить MariaDB с TLS на Raspberry 3, используя dietpi с установленной LAMP.Maria DB 10.1.23

Я следовал официальным документам на mariadb.com , а также попробовал связанную директиву .

Однако, когда я смотрюу моих переменных have_ssl остается ОТКЛЮЧЕНО.

    MariaDB [(none)]> SHOW VARIABLES LIKE '%ssl%';
+---------------------+--------------------------------+
| Variable_name       | Value                          |
+---------------------+--------------------------------+
| have_openssl        | NO                             |
| have_ssl            | DISABLED                       |
| ssl_ca              | /etc/mysql/ssl/ca-cert.pem     |
| ssl_capath          |                                |
| ssl_cert            | /etc/mysql/ssl/server-cert.pem |
| ssl_cipher          |                                |
| ssl_crl             |                                |
| ssl_crlpath         |                                |
| ssl_key             | /etc/mysql/ssl/server-key.pem  |
| version_ssl_library | YaSSL 2.4.2                    |
+---------------------+--------------------------------+
10 rows in set (0.01 sec)

Это мой /etc/mysql/mariadb.conf.d/50-server.cnf

#
 ssl-ca=/etc/mysql/ssl/ca-cert.pem
 ssl-cert=/etc/mysql/ssl/server-cert.pem
 ssl-key=/etc/mysql/ssl/server-key.pem
#
# Accept only connections using the latest and most secure TLS protocol version.
# ..when MariaDB is compiled with OpenSSL:
# ssl-cipher=TLSv1.2
# ..when MariaDB is compiled with YaSSL (default in Debian):
 ssl=on

При попытке openssl s_client Iполучить следующий результат:

openssl s_client -state -nbio -debug -connect 127.0.0.1:3306 | grep "ssl"
SSL_connect:before SSL initialization
SSL_connect:SSLv3/TLS write client hello
SSL_connect:error in SSLv3/TLS write client hello
1995634080:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../ssl/record/ssl3_record.c:252:

openssl s_client -connect 127.0.0.1:3306
CONNECTED(00000003)
1995855264:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../ssl/record/ssl3_record.c:252:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 176 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID:
    Session-ID-ctx:
    Master-Key:
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1542233581
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
---

Я также пытался соединиться с другим Raspi с таким результатом:

root@DietPi:/etc/mysql/ssl# openssl s_client -state -nbio -debug -connect 192.168.1.89:3306 | grep "^ssl"
SSL_connect:before/connect initialization
SSL_connect:SSLv2/v3 write client hello A
SSL_connect:error in SSLv2/v3 read server hello A
SSL_connect:error in SSLv2/v3 read server hello A
548036626192:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:782:

Мои исследования до сих пор не были очень успешными.Никакие решения не работали или не подходили для моей среды.Я также пытался установить analyse-ssl.pl , но установка cpan App::cpanminus завершилась неудачно с

Writing MYMETA.yml and MYMETA.json
  MIYAGAWA/App-cpanminus-1.7044.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz
  MIYAGAWA/App-cpanminus-1.7044.tar.gz
  make -- NOT OK

. Я попытаюсь установить analyse-ssl.pl завтра или открыть другой поток.,Просто хотел объяснить, что я пытался.

Я был бы счастлив, если бы кто-нибудь мог помочь мне решить мою загадку.

Спасибо!Markus

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Была такая же проблема. Решение @David у меня не сработало, но это помогло: https://serverfault.com/questions/950451/mariadb-mysql-shows-have-ssl-disabled-when-certs-are-installled

Оказывается, что пользователю mysql необходимо владеть файлами сертификатов.

0 голосов
/ 21 декабря 2018

вы можете попытаться преобразовать ваш ключ PKCS # 8, сгенерированный по умолчанию openssl, в ключ PKCS # 1 для mariadb

openssl rsa -in pcks#8.key -out pkcs#1.key 

после этой операции mariadb произнесет

MariaDB [(none)]>  SHOW VARIABLES LIKE '%ssl%';
+---------------------+-----------------------------------------------+
| Variable_name       | Value                                         |
+---------------------+-----------------------------------------------+
| have_openssl        | NO                                            |
| have_ssl            | YES                                           |
| ssl_ca              | /etc/mysql/ssl/mariaDB-CA.pem                 |
| ssl_capath          |                                               |
| ssl_cert            | /etc/mysql/ssl/server.pem                     |
| ssl_cipher          |                                               |
| ssl_crl             |                                               |
| ssl_crlpath         |                                               |
| ssl_key             | /etc/mysql/ssl/server.key                     |
| version_ssl_library | YaSSL 2.4.4                                   |
+---------------------+-----------------------------------------------+

David

...