MariaDB의 have_ssl이 DISABLE인 채로 Debian 및 YaSSL에서 SSL을 활성화할 수 없습니다.
LAMP가 설치된 상태에서 dietpi를 실행하면서 Lasberry 3에서 TLS를 사용하여 MariaDB를 셋업하려고 합니다.마리아 DB 10.1.23
저는 mariadb.com의 공식 문서를 따라 링크된 가이드라인도 사용해 보았습니다.
그러나 변수를 보면 have_ssl은 DISABLED인 채로 있습니다.
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를 시도하면 다음과 같은 결과가 나타납니다.
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:
지금까지의 내 연구는 그다지 성공적이지 못했다.어떤 솔루션도 내 환경에 맞지 않았다.또, analyze-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
내일 analyze-ssl.pl를 설치하거나 다른 스레드를 열어보겠습니다.내가 뭘 노력했는지 설명하고 싶었어
누군가 내 수수께끼를 푸는 것을 도와준다면 나는 기쁠 것이다.
고마워! 마커스
기본적으로 생성된 PKCS#8 키를 openssl에서 mariadb의 PKCS#1 키로 변환할 수 있습니다.
openssl rsa -in pcks#8.key -out pkcs#1.key
이 수술 후에 마리아답은 말한다
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의 솔루션은 효과가 없었지만, 이것은 도움이 되었습니다.https://serverfault.com/questions/950451/mariadb-mysql-shows-have-ssl-disabled-when-certs-are-installled
mysql 사용자는 증명서 파일을 소유해야 합니다.
언급URL : https://stackoverflow.com/questions/53309627/have-ssl-on-mariadb-stays-disabled-cant-enable-ssl-on-debian-and-yassl
'programing' 카테고리의 다른 글
선택한 색인으로 MySQL에 임시 테이블 만들기 (0) | 2022.12.25 |
---|---|
Scala 코드가 단순해 보이는/줄 수가 적은 Scala 및 Java 코드 샘플? (0) | 2022.12.25 |
프라이머리 키는 MySQL에서 자동으로 인덱싱됩니까? (0) | 2022.12.25 |
파일이 존재하지 않으면 Python의 open()은 파일을 생성하지 않습니다. (0) | 2022.12.25 |
서비스 중지/시작 시 MariaDB 메시지 (0) | 2022.12.25 |