Як я можу перевірити, чи використовую SSL для підключення до mysql?


24

Я налаштував свій сервер для дозволу SSL та змінив свого клієнта ~ / .my.cnf, тому я використовую SSL:

[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

Не встановлюючи щось на зразок дроту для перевірки надійності з'єднання, чи можу я припустити, що я підключаюсь через SSL на основі цієї інформації?

Відповіді:


33

Від клієнта просто запустіть 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, що використовується.
Жоао Коста

чи знаєте ви, чи є спосіб зробити це для конкретного користувача. не лише поточного користувача? - stackoverflow.com/questions/56203365 / ...
committedandroider

Я не впевнений, що це змінилося зараз. Для мене навіть я не використовую SSL, це показує SSL: Cipher in use is DHE-RSA-AES256-SHAдля мене.
Саді


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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.