ryoma's note

マイペース ੯•́ʔ̋ ͙͛*͛ ͙͛*͛ ͙͛̋و

MySQL 接続の TLS プロトコルを確認する

MySQL 接続の TLS プロトコルを確認する方法を調べた。

現在の接続の暗号化で使用している TLS プロトコルと暗号スイートを知りたかったので、Ssl_versionSsl_cipher のサーバーステータス変数の値を確認する。

mysql> SHOW SESSION STATUS LIKE 'Ssl_version';
+---------------+---------+
| Variable_name | Value   |
+---------------+---------+
| Ssl_version   | TLSv1.2 |
+---------------+---------+

mysql> SHOW SESSION STATUS LIKE 'Ssl_cipher';
+---------------+-----------------------------+
| Variable_name | Value                       |
+---------------+-----------------------------+
| Ssl_cipher    | ECDHE-RSA-AES128-GCM-SHA256 |
+---------------+-----------------------------+

サーバーがサポートする SSL 暗号のリストは Ssl_cipher_list のステータス変数で確認できる。

mysql> SHOW SESSION STATUS LIKE 'Ssl_cipher_list';
+-----------------+------------------------------------------------------------------+
| Variable_name   | Value                                                            |
+-----------------+------------------------------------------------------------------+
| Ssl_cipher_list | ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384: ... |
+-----------------+------------------------------------------------------------------+

Rails アプリケーションから接続している場合は、console で生 SQL を実行することで確認できた。

ActiveRecord::Base.connection.select_one("SHOW SESSION STATUS LIKE 'Ssl_version';")

参考