Quantcast
Channel: WampServer - WampServer Francais
Viewing all articles
Browse latest Browse all 3471

Paramétrage PhpMyAdmin en SSL ! (2 réponses)

$
0
0
Salut à tous.

Je vais aborder le paramétrage SSL dans PhpMyAdmin.

Paramétrage de test

Pour ce faire, nous devons aussi configurer MySql, sinon cela ne va pas fonctionner correctement.
Il faut se rendre dans le répertoire "/data" de votre MySql, et de repérer les certificats qui sont à notre disposition.
Pour la version 8.0.16, nous avons :
--> ca.pem
--> ca-key.pem

--> client-cert.pem
--> client-key.pem

--> private_key.pem
--> public_key.pem

--> server-cert.pem
--> server-key.pem

Voici ce que j'ai mis dans le fichier "my.ini" :
ssl-ca     = ca.pem
ssl-cert   = server-cert.pem
ssl-key    = server-key.pem
ssl-cipher = DHE-RSA-AES128-GCM-SHA256

Donc, coté serveur MySql, il faut mettre le certificat serveur.

Et voici ce que j'ai mis dans le fichier "config.inc.php :
/*----------------------------*/
/* Encrypted connection to DB */
/*----------------------------*/

$cfg['Servers'][$i]['ssl']          = true;

$cfg['Servers'][$i]['ssl_key']      = 'F:/Wamp/bin/mysql/mysql8.0.16/data/client-key.pem';
$cfg['Servers'][$i]['ssl_cert']     = 'F:/Wamp/bin/mysql/mysql8.0.16/data/client-cert.pem';

$cfg['Servers'][$i]['ssl_ca']       = 'F:/Wamp/bin/mysql/mysql8.0.16/data/ca-cert.pem';
$cfg['Servers'][$i]['ssl_ca_path']  = 'F:/Wamp/bin/mysql/mysql8.0.16/data/';

$cfg['Servers'][$i]['ssl_ciphers']  = 'DHE-RSA-AES128-GCM-SHA256';
$cfg['Servers'][$i]['ssl_verify']   = false;

Coté client (phpmyadmin), il faut mettre le certificat client.

Pour le SSL Ciphers, il faut mettre exactement la même chose des deux cotés.

Pourquoi SSL Verify est à false ?
En fait, ces certificats ne correspondent pas à votre nom de site.
Dans mon cas, j'utilise "ht tps://phpmyadmin".
Si vous mettez true, il va vérifier la conformité entre le site et le certificat.
Sauf que dans cet exemple, il n'y a pas de conformité et donc, il y aura une erreur lors de la connexion.

J'ai buté sur deux problèmes :
1) je n'ai pas bien compris ce que je devais mettre pour le SSL Ciphers.
2) j'ai mis SSL Verify à true, sans bien comprendre que cela était bloquant.

Paramétrage réel

J'ai créé des certificats, sauf que je n'ai pas bien compris ce qui doit correspondre au certificat serveur.
Pour ce faire, je me suis créé un batch windows qui va entreprendre ce long travail fastidieux, si je devais le faire à la main.
J'utilise déjà ses certificats auto signé dans mon wampserver sous la racine "Artemus & Cie" et cela fonctionne parfaitement.

Ce sont ses certificats qui sont renseignées dans mon wampserver, dans les variables :
SSLEngine on
SSLCertificateFile      "${SRVROOT}/conf/Certificat/Phpmyadmin/Phpmyadmin.crt"
SSLCertificateKeyFile   "${SRVROOT}/conf/Certificat/Phpmyadmin/Phpmyadmin.key"
#
SSLCACertificatePath    "${SRVROOT}/conf/Certificat/Ca"
SSLCACertificateFile    "${SRVROOT}/conf/Certificat/Ca/Ca.crt"

Voici ce que j'ai créé pour le site phpmyadmin :
phpmyadmin.crt  -->  certificat client
phpmyadmin.csr  -->  demande de certificat (Cerficat Signing Request)
phpmyadmin.der  -->  autre certificat
phpmyadmin.key  -->  clef privée RSA
phpmyadmin.p7b  -->  contient certificat CA + certificat PhpMyAdmin
phpmyadmin.pbc  --> clef public (Plaintext Block Chaining)
phpmyadmin.pfx  --> conversion pem vers pfx
phpmyadmin.rnd  --> random

Dois-je comprendre que c'est le même certificat qui sert aussi bien au client qu'au serveur ?
Je n'ai pas bien compris cette différence.

@+

Viewing all articles
Browse latest Browse all 3471

Trending Articles