Bonjour,
J'ai récemment installé un certificat SSL associé à ma base de données dans le but de sécuriser les transferts de données entre ma base de données et mon serveur web. Pour infomation, j'utilise MysqlServer (comme BDD) ainsi que PDO sur mon serveur web pour faire des requêtes.
J'ai suivi ces commandes pour installer un certificat SSL à MysqlServer :
sudo mysql_ssl_rsa_setup --uid=mysql
J'ai également activé cette option pour sécuriser tous les échanges (require_secure_transport = ON).
Donc l'installation a très bien fonctionné coté serveur Mysql.
Maintenant, lorsque je souhaite me connecter à ma base de données via PDO depuis mon serveur web j'utilise ceci :
<?php
//Connexion à la base de données.
$options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
PDO::MYSQL_ATTR_SSL_CA => "-----BEGIN CERTIFICATE-----
BLABLABLA
-----END CERTIFICATE-----
",
PDO::MYSQL_ATTR_SSL_CERT => "-----BEGIN CERTIFICATE-----
BLABLABLA
-----END CERTIFICATE-----
",
PDO::MYSQL_ATTR_SSL_KEY => "-----BEGIN RSA PRIVATE KEY-----
BLABLABLA
-----END RSA PRIVATE KEY-----
",
PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false,);
try
{
$bdd = new PDO('mysql:host=***;dbname=***;charset=utf8', '***', '***', $options);
}
catch(Exception $e)
{
echo "Problème de connexion à la base de données. Réessayez !";
exit();
}
?>
Ici aussi tout fonctionne, cependant j'aimerai m'assurer que les connexions soit chiffrées.
Donc depuis PDO, j'ai exécuté la commande suivante : SHOW SESSION STATUS LIKE 'Ssl_cipher';
et j'obtiens cela : DHE-RSA-AES256-SHA. Donc tout est bon. Cependant dès que je modifie mon certificat (supprimer quelques lettres et chiffres par exemple), la connexion est toujours "sécurisée". De même lorsque j'indique un emplacement des certificats erroné. J'ai donc l'impression, que même sans les certificats la connexion PDO est quand même sécurisée.
Possible de m'éclaircir sur ce sujet là ?
Merci à vous ;)