SSL을 사용하여 mysql에 연결하고 있는지 어떻게 확인할 수 있습니까?


23

SSL을 허용하도록 서버를 구성하고 SSL을 사용하도록 클라이언트 ~ / .my.cnf를 수정했습니다.

[client]
ssl
ssl-cipher=DHE-RSA-AES256-SHA
ssl-ca=~/certs/ca-cert.pem

클라이언트로 로그인하여 상태를 볼 때 SSL 행에 암호가 나열됩니다.

mysql> \s
--------------
SSL:            Cipher in use is DHE-RSA-AES256-SHA

연결이 안전한지 확인하기 위해 wireshark와 같은 것을 설치하지 않고이 정보를 기반으로 SSL을 통해 연결한다고 가정 할 수 있습니까?

답변:


32

클라이언트에서 실행하십시오 status. 이 연결이 SSL을 사용하는 경우 SSL 행에 흥미로운 내용이 있습니다.

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.5.30, for Linux (x86_64) using readline 5.1

Connection id:      12
Current database:
Current user:       replicator@domU-12-31-39-10-54-BD.compute-1.internal
SSL:            Cipher in use is DHE-RSA-AES256-SHA
Current pager:      stdout
Using outfile:      ''
Using delimiter:    ;
Server version:     5.5.30-log MySQL Community Server (GPL)
Protocol version:   10
Connection:     boston.hugskeep.wstudent.com via TCP/IP
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    utf8
Conn.  characterset:    utf8
TCP port:       3306
Uptime:         44 min 49 sec

Threads: 2  Questions: 16  Slow queries: 0  Opens: 34  Flush tables: 1  Open tables: 27  Queries per second avg: 0.005
--------------

mysql>

이 연결에서 SSL을 사용하지 않으면 다음과 같은 이점이 있습니다.

SSL:            Not in use

다음을 사용할 수도 있습니다.

mysql> SHOW STATUS LIKE 'Ssl_cipher';
+---------------+--------------------+
| Variable_name | Value              |
+---------------+--------------------+
| Ssl_cipher    | DHE-RSA-AES256-SHA |
+---------------+--------------------+
1 row in set (0.00 sec)

mysql>

그러나 나는 첫 번째가 더 매력적이며 타이핑하기가 더 쉽다고 생각합니다.


show status like 'Ssl_version'또한 사용중인 SSL / TLS 프로토콜 버전을 확인하는 데 유용 할 수 있습니다.
Joao Costa

특정 사용자를 위해이 작업을 수행 할 수있는 방법이 있는지 알고 있습니까? 현재 사용자뿐만 아니라 - stackoverflow.com/questions/56203365/...
committedandroider

이것이 지금 변경되었는지 확실하지 않습니다. 나에게 SSL을 사용하지 않더라도 나에게 보여줍니다 SSL: Cipher in use is DHE-RSA-AES256-SHA.
Sadee

1

이것은 mariadb mysql에 적용됩니다 (순수 mysql에서는 시도하지 않았습니다).

mysql -h xxx.xxx.xxx.xxx -u testuser --ssl

'--ssl'은 ssl이 활성화되어 있는지 여부를 알려줍니다.


WARNING: --ssl is deprecated and will be removed in a future version. Use --ssl-mode instead.MySQL 5.6.4
Sadee


0

MySQL 5.6.4

확실하지 않습니다

'Ssl_cipher'와 같은 상태 표시;

이후 버전에서 변경되었습니다. SSL을 사용하지 않더라도 SSL: Cipher in use is DHE-RSA-AES256-SHA나에게 표시됩니다.

다음을 사용하여 SSL 사용 여부를 확인할 수 있습니다.

ubuntu@ip-111-22-3-444:~$ mysql -h 111.22.3.444 -u dbuser --ssl-mode=VERIFY_IDENTITY -p
ERROR 2026 (HY000): SSL connection error: CA certificate is required if ssl-mode is VERIFY_CA or VERIFY_IDENTITY
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.