web-dev-qa-db-fra.com

Comment puis-je vérifier que j'utilise SSL pour me connecter à mysql?

J'ai configuré mon serveur pour autoriser SSL et j'ai modifié mon client ~/.my.cnf donc j'utilise SSL:

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

Lorsque je me connecte avec mon client et que je visualise l'état, il répertorie un chiffre sur la ligne SSL:

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

Sans installer quelque chose comme Wireshark pour vérifier que la connexion est sécurisée, puis-je supposer que je me connecte via SSL sur la base de ces informations?

27
chris

Depuis le client, exécutez simplement status. Si cette connexion utilise SSL, vous obtiendrez quelque chose d'intéressant dans la ligne 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>

Si cette connexion n'utilise pas SSL, vous obtiendrez:

SSL:            Not in use

Vous pouvez aussi utiliser:

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

mysql>

Mais je pense que le premier est plus attrayant et plus facile à taper.

35
Jeremy Wadhams

Forcer SSL par utilisateur:

alter user 'my_user'@'%' REQUIRE SSL;
mysql> \s
2
Mary Ciricean

Ceci s'applique à mysadl mariadb (je n'ai pas essayé en mysql pur):

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

'--ssl' vous dira si ssl est activé, sans, il dira 'non utilisé'

1
user2677034

SSL: dans la commande de statut ne vous a pas dit que la connexion utilise SSL. Les clients peuvent désactiver l'utilisation de SSL de leur côté. Utilisez "afficher l'état de la session" et recherchez "Ssl_client_connects" pour trouver le nombre de connexions utilisant SSL.

0
Chayne P. S.

MySQL 5.6.4

Je ne suis pas sûr

AFFICHER L'ÉTAT COMME 'Ssl_cipher';

a été modifié dans les versions ultérieures. Pour moi, même si je n'utilise pas SSL, cela montre SSL: Cipher in use is DHE-RSA-AES256-SHA pour moi.

Vous pouvez utiliser ce qui suit pour confirmer que SSL utilise ou non.

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
0
Sadee