MySQLとクライアントでTLS接続の確認を行うサンプルです。
(確認環境:MySQL 5.7,Windows 10)
目次
サンプル | そのままログインした場合 |
ログイン時にSSL接続を使用しない指定を行う | |
設定ファイル(my.ini)でtlsのバージョンを指定した場合 |
そのままログインした場合
1.Windowsのコマンドプロンプトで以下のコマンドを指定してMySQLに接続します。
mysql -u root -p -h localhost --port 3310
2.現在のSSLのバージョンを確認します。TLSv1.2になっています。
mysql> show session status like 'ssl_version';
+---------------+---------+
| Variable_name | Value |
+---------------+---------+
| Ssl_version | TLSv1.2 |
+---------------+---------+
1 row in set (0.00 sec)
mysql>
2.コマンド\sでステータスを確認するとSSLは、Cipher in use is ECDHE-RSA-AES128-GCM-SHA256になっています。
mysql> \s
--------------
mysql Ver 14.14 Distrib 5.7.41, for Win64 (x86_64)
Connection id: 2
Current database:
Current user: root@localhost
SSL: Cipher in use is ECDHE-RSA-AES128-GCM-SHA256
Using delimiter: ;
Server version: 5.7.41-log MySQL Community Server (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: latin1
Db characterset: latin1
Client characterset: cp932
Conn. characterset: cp932
TCP port: 3310
Uptime: 12 min 58 sec
Threads: 3 Questions: 32 Slow queries: 0 Opens: 114 Flush tables: 1 Open tables: 107 Queries per second avg: 0.041
--------------
mysql>
ログイン時にSSL接続を使用しない指定を行う
1.末尾に--ssl-mode=DISABLEDを追記してsslを使用しない指定でMySQLに接続します。
mysql -u root -p -h localhost --port 3310 --ssl-mode=DISABLED
2.現在のSSLのバージョンを確認します。空白になっています。
mysql> show session status like 'ssl_version';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Ssl_version | |
+---------------+-------+
1 row in set (0.00 sec)
mysql>
3.コマンド\sでステータスを確認するとSSLは、Not in useになっています。
mysql> \s
--------------
mysql Ver 14.14 Distrib 5.7.41, for Win64 (x86_64)
Connection id: 5
Current database:
Current user: root@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.7.41-log MySQL Community Server (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: latin1
Db characterset: latin1
Client characterset: cp932
Conn. characterset: cp932
TCP port: 3310
Uptime: 22 min 7 sec
Threads: 3 Questions: 40 Slow queries: 0 Opens: 115 Flush tables: 1 Open tables: 108 Queries per second avg: 0.030
--------------
設定ファイル(my.ini)でtlsのバージョンを指定した場合
1.以下に配置されているmy.iniを修正しMySQLを再起動します。
C:\ProgramData\MySQL\MySQL Server 5.7
2.mysqldの下にTLSv1.1の指定を記述します。
[mysqld]
(中略)
tls_version=TLSv1.1
3.ログインして確認するとTLSv1.1で表示されます。
mysql -u root -p -h localhost --port 3310
mysql> show session status like 'ssl_version';
+---------------+---------+
| Variable_name | Value |
+---------------+---------+
| Ssl_version | TLSv1.1 |
+---------------+---------+
1 row in set (0.00 sec)
mysql>
4.コマンド\sでステータスを確認するとSSLは、Cipher in use is ECDHE-RSA-AES128-SHAになっています。
mysql> \s
--------------
mysql Ver 14.14 Distrib 5.7.41, for Win64 (x86_64)
Connection id: 2
Current database:
Current user: root@localhost
SSL: Cipher in use is ECDHE-RSA-AES128-SHA
Using delimiter: ;
Server version: 5.7.41-log MySQL Community Server (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: latin1
Db characterset: latin1
Client characterset: cp932
Conn. characterset: cp932
TCP port: 3310
Uptime: 49 min 44 sec
Threads: 1 Questions: 11 Slow queries: 0 Opens: 111 Flush tables: 1 Open tables: 104 Queries per second avg: 0.003
--------------
mysql>
関連の記事