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?
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.
Forcer SSL par utilisateur:
alter user 'my_user'@'%' REQUIRE SSL;
mysql> \s
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é'
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.
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