WampServer

Apache, PHP, MySQL on Windows 

 
  • Accueil forum
  • Retour à WampServer
  • presentation
  • Download
  • Addons
  • Formations
  • Alter Way

 
Voir le sujet: Précédent•Suivant
Aller à : Liste des Forums•Liste des messages•Nouvelle discussion•Recherche•Connexion•Imprimer la vue
Paramétrage PhpMyAdmin en SSL !
Envoyé par: Artemus24 (---.70.16.109.rev.sfr.net)
Date: 05 June 2019 à 20:11

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.

@+

----------------------------------------------------------------------------------------------------------------------------------------------------------------
Mon site : [www.jcz.fr]

Options: Répondre•Citer ce Message
Re: Paramétrage PhpMyAdmin en SSL !
Envoyé par: Otomatic (Modérateur)
Date: 06 June 2019 à 09:34

Bonjour,

SSL, que ce soit pour https ou mysql, ce n'est pas de mon domaine de compétences.

Personnellement, j'utilise Wampserver uniquement en local et je délègue a mon hébergeur les mises en place de SSL.

---------------------------------------------------------------
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons

Options: Répondre•Citer ce Message
Re: Paramétrage PhpMyAdmin en SSL !
Envoyé par: Artemus24 (---.70.16.109.rev.sfr.net)
Date: 07 June 2019 à 02:23

Salut Otomatic.

>>> SSL, que ce soit pour https ou mysql, ce n'est pas de mon domaine de compétences.

D'accord, mais si j'indique ce sujet, c'est aussi pour d'autres personnes qui pourraient demander de l'aide.

Je réponds à ma question : "Est-ce le même certificat qui sert aussi bien au client qu'au serveur ?"
La réponse est OUI.

On peut en créer un qui soit serveur et un autre qui soit client.
Mais pour le test, j'ai préféré utiliser le même certificat.

Mais j'ai rencontré un petit problème sans gravité qui a nécessité de recréer le certificat.
Quand j'utilise le certificat avec Apache, le nom de mon site est "phpmyadmin".
Donc, c'est ce nom que je dois déclarer dans le fichier "openssl.cnf" en tant que "DNS NAME".

Oui, sauf qu'avec phpmyadmin (et avec MySql), il se connecte à partir de l'adresse "127.0.0.1".
C'est cette adresse que je dois déclarer dans le fichier "openssl.cnf", en tant que "ADRESSE IP".

L'inconvénient est si je change d'adresse IP, mon certificat ne fonctionne plus.
Ce n'est pas bien grave car je peux le recréer car c'est un certificat "auto-signé".

Je récapitule !

Fichier My.ini

ssl-ca     = f:/Wamp/bin/apache/apache2.4.39/conf/certificat/ca/ca.crt
ssl-capath = f:/Wamp/bin/apache/apache2.4.39/conf/certificat/ca/
ssl-cert   = f:/Wamp/bin/apache/apache2.4.39/conf/certificat/phpmyadmin/phpmyadmin.crt
ssl-key    = f:/Wamp/bin/apache/apache2.4.39/conf/certificat/phpmyadmin/phpmyadmin.key
ssl-cipher = DHE-RSA-AES128-GCM-SHA256

Fichier config.inc.php

$cfg['Servers'][$i]['ssl']          = true;
$cfg['Servers'][$i]['ssl_key']      = 'F:/Wamp/bin/apache/apache2.4.39/conf/certificat/phpmyadmin/phpmyadmin.key';
$cfg['Servers'][$i]['ssl_cert']     = 'F:/Wamp/bin/apache/apache2.4.39/conf/certificat/phpmyadmin/phpmyadmin.crt';

$cfg['Servers'][$i]['ssl_ca']       = 'F:/Wamp/bin/apache/apache2.4.39/conf/certificat/ca/ca.crt';
$cfg['Servers'][$i]['ssl_ca_path']  = 'F:/Wamp/bin/apache/apache2.4.39/conf/certificat/ca/';

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

Vous remarquerez que cette fois-ci, j'ai bien mis "TRUE" pour "VERIFY".
Et ça fonctionne correctement.

Cordialement.
Artmus24.
@+

----------------------------------------------------------------------------------------------------------------------------------------------------------------
Mon site : [www.jcz.fr]

Options: Répondre•Citer ce Message


Aller à : Liste des Forums•Liste des messages•Recherche•Connexion
Désolé, seuls les utilisateurs connectés peuvent envoyer des messages dans ce forum.
Cliquer ici pour se connecter

design by jidePowered by Alter Way get firefoxget PHP