IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MySQL Discussion :

[phpMyAdmin] [MariaDB] Connexion au serveur en SSL


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut [phpMyAdmin] [MariaDB] Connexion au serveur en SSL
    Salut all,
    Je cherche a utiliser le SSL pour la connexion de pma à mysql.
    La config ssl dans config.inc.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $cfg['Servers'][$i]['host'] = 'localhost';
        $cfg['Servers'][$i]['ssl'] = true;
        $cfg['Servers'][$i]['ssl_verify'] = false;
        $cfg['Servers'][$i]['ssl_key'] = '/etc/mysql/certificat/server.key';
        $cfg['Servers'][$i]['ssl_cert'] = '/etc/mysql/certificat/server.crt';
        $cfg['Servers'][$i]['ssl_ca'] = '/etc/mysql/certificat/ca.pem';
        $cfg['Servers'][$i]['ssl_ca_path'] = '/etc/mysql/certificat/';
    Mais ca ne fonctionne pas avec plein d'erreurs sur la page de connexion :
    - mysqli::real_connect(): This stream does not support SSL/crypto
    - mysqli::real_connect(): Cannot connect to MySQL by using SSL
    - mysqli::real_connect(): (HY000/2002): (trying to connect via (null))
    - La connexion au « controluser » telle que définie dans la configuration a échoué.
    - mysqli::real_connect(): This stream does not support SSL/crypto
    - mysqli::real_connect(): Cannot connect to MySQL by using SSL
    - mysqli::real_connect(): (HY000/2002): (trying to connect via (null))
    Si je desactive ce ssl, ca fonctionne nickel et je me connecte a pma.

    Le ssl est ok du cote de mariadb :
    +---------------------+----------------------------------+
    | Variable_name | Value |
    +---------------------+----------------------------------+
    | have_openssl | YES |
    | have_ssl | YES |
    | ssl_ca | /etc/mysql/certificat/ca.pem |
    | ssl_capath | |
    | ssl_cert | /etc/mysql/certificat/server.crt |
    | ssl_cipher | |
    | ssl_crl | |
    | ssl_crlpath | |
    | ssl_key | /etc/mysql/certificat/server.key |
    | version_ssl_library | OpenSSL 3.0.9 30 May 2023 |
    +---------------------+----------------------------------+
    J'ai cherche et cherche, mais rien trouve pour resoudre ce probleme.
    Avez vous une solution, idees ou suggestions ?
    Merci par avance.

  2. #2
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 778
    Par défaut
    Salut Danyel.

    Coté MariaDB, as tu configuré le SSL ?

    Cordialement.
    Artemus24.
    @+

  3. #3
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    Coté MariaDB, as tu configuré le SSL ?@+
    Ben oui, regarde le second cadre de mon post

  4. #4
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 778
    Par défaut
    Donc, tu as pu créer un certificat SSL opérationnel quand tu accèdes à ta base de données.

    Voici le paramétrage de ma base "test" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?php
    /*-----------------------------------------------------*/
    /* Informations pour la connexion à la base de données */
    /*-----------------------------------------------------*/
     
    $Connexion  = "mysql:host=127.0.0.1;port=3306;dbname=test";
    $User       = "test";
    $Password   = "test";
     
    $Params     = array(
    	PDO::MYSQL_ATTR_INIT_COMMAND			=> "SET NAMES latin1",
    	PDO::ATTR_CASE							=> PDO::CASE_LOWER,
    	PDO::ATTR_ERRMODE						=> PDO::ERRMODE_EXCEPTION,
    	PDO::ATTR_PERSISTENT					=> false,
    	PDO::MYSQL_ATTR_SSL_CA					=> "f:/Wamp/bin/apache/apache2.4.57/conf/certificats/General/Ca.pem",
    	PDO::MYSQL_ATTR_SSL_KEY					=> "f:/Wamp/bin/apache/apache2.4.57/conf/certificats/General/Client-key.pem",
    	PDO::MYSQL_ATTR_SSL_CERT				=> "f:/Wamp/bin/apache/apache2.4.57/conf/certificats/General/Client-cert.pem",
    	PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT	=> true
    );
     
    /*----------------------*/
    /* Connexion au Serveur */
    /*----------------------*/
     
    try {
    	$link = new PDO($Connexion,$User,$Password,$Params);
    }
    catch (Exception $e)
    {
    	echo "<br>Connection à MySql impossible : ", htmlentities($e->getMessage());
    	die();
    }
    ?>
    Le paramétrage que j'utilise dans le fichier "mysql.ini" (je suis sous windows) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    # ------------------ #
    #     Client SSL     #
    # ------------------ #
     
    ssl-mode   = verify_identity
    ssl-ca     = F:\\Wamp\\bin\\apache\\apache2.4.57\\conf\\certificats\\General\\ca.pem
    ssl-capath = F:\\Wamp\\bin\\apache\\apache2.4.57\\conf\\certificats\\General
    ssl-cert   = F:\\Wamp\\bin\\apache\\apache2.4.57\\conf\\certificats\\General\\client-cert.pem
    ssl-key    = F:\\Wamp\\bin\\apache\\apache2.4.57\\conf\\certificats\\General\\client-key.pem
     
    # ----------- #
    #     SSL     #
    # ----------- #
     
    auto-generate-certs      = off
     
    admin-ssl-ca             = F:\\Wamp\\bin\\apache\\apache2.4.57\\conf\\certificats\\General\\ca.pem
    admin-ssl-capath         = F:\\Wamp\\bin\\apache\\apache2.4.57\\conf\\certificats\\General
    admin-ssl-cert           = F:\\Wamp\\bin\\apache\\apache2.4.57\\conf\\certificats\\General\\server-cert.pem
    admin-ssl-key            = F:\\Wamp\\bin\\apache\\apache2.4.57\\conf\\certificats\\General\\server-key.pem
    admin-tls-version        = TLSv1.3
     
    ssl-ca                   = F:\\Wamp\\bin\\apache\\apache2.4.57\\conf\\certificats\\General\\ca.pem
    ssl-capath               = F:\\Wamp\\bin\\apache\\apache2.4.57\\conf\\certificats\\General
    ssl-cert                 = F:\\Wamp\\bin\\apache\\apache2.4.57\\conf\\certificats\\General\\server-cert.pem
    ssl-key                  = F:\\Wamp\\bin\\apache\\apache2.4.57\\conf\\certificats\\General\\server-key.pem
     
    tls-version              = TLSv1.3
    require-secure-transport = off
    Et le paramétrage sous "PhpMyAdmin" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    /*----------------------------*/
    /* Encrypted connection to DB */
    /*----------------------------*/
     
    $cfg['Servers'][$i]['ssl']					= true;
    $cfg['Servers'][$i]['ssl_ca']				= 'F:/Wamp/bin/apache/apache2.4.57/conf/certificats/General/Ca.pem';
    $cfg['Servers'][$i]['ssl_ca_path']			= 'F:/Wamp/bin/apache/apache2.4.57/conf/certificats/General';
    $cfg['Servers'][$i]['ssl_cert']				= 'F:/Wamp/bin/apache/apache2.4.57/conf/certificats/General/Client-cert.pem';
    $cfg['Servers'][$i]['ssl_key']				= 'F:/Wamp/bin/apache/apache2.4.57/conf/certificats/General/Client-key.pem';
    $cfg['Servers'][$i]['ssl_cipher']			= 'TLS_AES_256_GCM_SHA384';
    $cfg['Servers'][$i]['ssl_verify']			= true;
    Il faut jouer sur les paramètres suivants :
    --> "require-secure-transport" à "off",
    --> "ssl_verify" à "false"
    et tu mets le minimum requit pour :
    --> "ssl-mode".

    J'ai atteint le niveau "verify_identity" (ssl-mode) mais pas "verify_ca" car j'ai un certificat auto-signé.

  5. #5
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    Merci Artemus24, je vais tester tout ca et je reviens apres.

  6. #6
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 778
    Par défaut
    Tu peux reprendre le certificat produit par MariaDB mais je te conseille de le mettre autre part, comme moi, que dans le répertoire principale de ton serveur MariaDB car il sera susceptible d'être écrasé par une autre version.

    A partir du moment où tu es en SSL, tous tes échanges avec ta base de données seront chiffrés.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [phpmyadmin] connexion à un serveur distant.
    Par troumad dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 23/12/2022, 10h32
  2. WampServer - PhpMyAdmin - Connexion au serveur MySQL non permise
    Par manonbecle dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 30/07/2017, 01h07
  3. Réponses: 2
    Dernier message: 23/03/2016, 10h16
  4. Réponses: 6
    Dernier message: 16/06/2015, 22h30
  5. Réponses: 4
    Dernier message: 04/07/2002, 12h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo