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経由で接続していると想定できますか?
クライアントから、単に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: [email protected]
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>
しかし、私は最初の方がより魅力的で、確かにタイプしやすいと思います。
ユーザーごとにSSLを強制する:
alter user 'my_user'@'%' REQUIRE SSL;
mysql> \s
これは、mariadb mysqlに適用されます(純粋なmysqlで試したことはありません)。
mysql -h xxx.xxx.xxx.xxx -u testuser --ssl
「--ssl」は、sslが有効になっているかどうかを通知します。有効になっていないと、「使用されていません」と表示されます。
SSL:statusコマンドで、接続がSSLを使用していることを通知しませんでした。クライアントは、自分の側からSSLの使用を無効にすることができます。 「show session status」を使用し、「Ssl_client_connects」を検索して、SSLを使用する接続の数を確認します。
MySQL 5.6.4
よくわかりません
SHOW STATUS LIKE '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