메뉴 건너뛰기

?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

우분투 22.04는 openssl library 를 기본 3.0.2를 사용하는데

우분투 22.04에서 apt로  mariadb를 자동설치하면 openssl 디펜던시가 3.0.2에 걸려있는 mariadb binary 패키지가 설치되고

openssl 3.0을 사용하면 우분투 20.04에서 해결을 위해 security level을 강제로 낮추는 방식 으로 설정해도

윈도우에서 접속시 SEC_E_ALGORITHM_MISMATCH 오류를 피할수 없게된다.

mariadb말고 다른 어플에서는 openssl 3.0.9 이상에서는  알고리즘 미스매치 오류가 잡혔다는 글이 있어서

3.0.12 최신 라이브러리로 업데이트해주고 혹시나 싶어 mariadb를 소스 설치까지 해봤지만 안되는것 똑같다.

결론은 openssl 3.0과 윈도우 사이의 문제다.

 

해결을 위해서는 openssl 1.1.1f 를 사용하는 우분투 20.04용으로 build된 mariadb 최신서버 패키지를 설치하는수 밖에 없다

빌드만 openssl 1.1.1f용으로 된거고 최신 release된 mariadb를 사용하는건 똑같다.

 

1. 설치된 버전 확인

 

우선 현재 설치된 mariadb 서버의 binaray version과 version_ssl_library 를 확인했을때

바이너리 버전이 'ubu2204' 이고 version_ssl_library 가 'OpenSSL 3.0.2 15 Mar 2022' 인지

바이너리 버전이 'ubu2004' 이고 version_ssl_library 가 'OpenSSL 1.1.1f  31 Mar 2020' 인지 확인부터 해본다.

아래 1)처럼 ubu2004 버전이면 간단한 설정 을 통해 SEC_E_ALGORITHM_MISMATCH는 해결이 끝난다.

아래 2)처럼 ubu2204 버전이면 20.04용 바이너리를 선택해 다시 설치해주고 설정 을 하면 된다.

1) 20.04 바이너리 버전

 

MariaDB [(none)]> select version();
+-----------------------------------------+
| version()                               |
+-----------------------------------------+
| 10.11.6-MariaDB-1:10.11.6+maria~ubu2004 |
+-----------------------------------------+
1 row in set (0.000 sec)

MariaDB [(none)]> show global variables like '%ssl%';
+---------------------+----------------------------------+
| Variable_name       | Value                            |
+---------------------+----------------------------------+
| have_openssl        | YES                              |
| have_ssl            | YES                              |
| ssl_ca              | /etc/mysql/certs/ca-cert.pem     |
| ssl_capath          |                                  |
| ssl_cert            | /etc/mysql/certs/server-cert.pem |
| ssl_cipher          | DEFAULT:@SECLEVEL=1              |
| ssl_crl             |                                  |
| ssl_crlpath         |                                  |
| ssl_key             | /etc/mysql/certs/server-key.pem  |
| version_ssl_library | OpenSSL 1.1.1f  31 Mar 2020      |
+---------------------+----------------------------------+

 

 

2) 22.04 바이너리 버전

 

MariaDB [(none)]> select version();
+---------------------------------------------+
| version()                                   |
+---------------------------------------------+
| 10.11.6-MariaDB-1:10.11.6+maria~ubu2204-log |
+---------------------------------------------+
1 row in set (0.000 sec)

MariaDB [(none)]> show global variables like '%ssl%';
+---------------------+----------------------------------+
| Variable_name       | Value                            |
+---------------------+----------------------------------+
| have_openssl        | YES                              |
| have_ssl            | YES                              |
| ssl_ca              | /etc/mysql/certs/ca-cert.pem     |
| ssl_capath          |                                  |
| ssl_cert            | /etc/mysql/certs/server-cert.pem |
| ssl_cipher          | DEFAULT:@SECLEVEL=1              |
| ssl_crl             |                                  |
| ssl_crlpath         |                                  |
| ssl_key             | /etc/mysql/certs/server-key.pem  |
| version_ssl_library | OpenSSL 3.0.2 15 Mar 2022        |
+---------------------+----------------------------------+
10 rows in set (0.001 sec)

 

 

 

2. focal (20.04) 용 mariadb server 설치

 

1) 22.04 삭제

 

# apt remove mariadb-server mariadb-client

 

2) focal 용 mariadb repository에 추가 (다른 버전을 선택하고 싶다면 mariadb-10.11 부분을 바꾸세요)

 

# apt update

# apt upgrade

# apt install software-properties-common gnupg2

# apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'

# add-apt-repository 'deb [arch=amd64] http://archive.mariadb.org/mariadb-10.11/repo/ubuntu/ focal main'

 

3) 설치될 후보버전  확인

 

# apt policy mariadb-server

mariadb-server:
  Installed: (none)
  Candidate: 1:10.11.6+maria~ubu2004
  Version table:
     1:10.11.6+maria~ubu2004 500
        500 http://archive.mariadb.org/mariadb-10.11/repo/ubuntu focal/main amd64 Packages
        100 /var/lib/dpkg/status
     1:10.11.5+maria~ubu2004 500
        500 http://archive.mariadb.org/mariadb-10.11/repo/ubuntu focal/main amd64 Packages
     1:10.11.4+maria~ubu2004 500
        500 http://archive.mariadb.org/mariadb-10.11/repo/ubuntu focal/main amd64 Packages
     1:10.6.12-0ubuntu0.22.04.1 500
        500 http://kr.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages
        500 http://kr.archive.ubuntu.com/ubuntu jammy-security/universe amd64 Packages
     1:10.6.7-2ubuntu1 500
        500 http://kr.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages

 

설치후보로 ubu2004 버전이 아닌 ubu2204버전이 표시된다면

/etc/apt/sources.list.d/ 내에 해당 주소의 list를 삭제해주면 candidate가 바뀝니다.

 

4) focal 용 mariadb의 의존 라이브러리 먼저 설치

 

4-1) 

 

# apt install libreadline5

 

4-2) /lib/x86_64-linux-gnu/libssl.so.1.1 가 없다면


 

# wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.20_amd64.deb
# dpkg -i libssl1.1_1.1.1f-1ubuntu2.20_amd64.deb

 

4-3) /lib/x86_64-linux-gnu/libcrypto.so.1.1 가 없다면

 

# wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libcrypto1.1-udeb_1.1.1f-1ubuntu2.20_amd64.udeb
# dpkg -i libcrypto1.1-udeb_1.1.1f-1ubuntu2.20_amd64.udeb 

 

5) focal용 mariadb 설치

 

# apt install mariadb-server

 

6) tls version 및 cipher 설정

 

윈도우에서 우분투 20.04 MariaDB 서버 SSL접속시 SEC_E_ALGORITHM_MISMATCH 오류

 

 

7) mariadb 로 접속 후 최종 버전확인

 

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 144
Server version: 10.11.6-MariaDB-1:10.11.6+maria~ubu2004-log mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> select version()
    -> ;
+---------------------------------------------+
| version()                                   |
+---------------------------------------------+
| 10.11.6-MariaDB-1:10.11.6+maria~ubu2004-log |
+---------------------------------------------+
1 row in set (0.000 sec)

MariaDB [(none)]> show global variables like '%ssl%';
+---------------------+----------------------------------+
| Variable_name       | Value                            |
+---------------------+----------------------------------+
| have_openssl        | YES                              |
| have_ssl            | YES                              |
| ssl_ca              | /etc/mysql/certs/ca-cert.pem     |
| ssl_capath          |                                  |
| ssl_cert            | /etc/mysql/certs/server-cert.pem |
| ssl_cipher          | DEFAULT:@SECLEVEL=1              |
| ssl_crl             |                                  |
| ssl_crlpath         |                                  |
| ssl_key             | /etc/mysql/certs/server-key.pem  |
| version_ssl_library | OpenSSL 1.1.1f  31 Mar 2020      |
+---------------------+----------------------------------+
10 rows in set (0.001 sec)

MariaDB [(none)]> 

 

 

 


List of Articles
번호 제목 글쓴이 날짜 조회 수
4 윈도우10 아이콘이 제대로 표시 안될때 DDART 2023.11.09 2505
» 윈도우에서 우분투 22.04 MariaDB 서버 SSL접속시 SEC_E_ALGORITHM_MISMATCH 오류 DDART 2024.01.21 2858
2 장치관리자에서 삭제한 장치 자동 재설치 방지하는 방법 DDART 2024.07.20 1015
1 개인용 크롬인데 조직에서 관리하는 브라우저입니다라고 나올때 DDART 2024.11.08 709
Board Pagination Prev 1 ... 2 3 4 Next
/ 4