Accueil > linux > Connexion SSL MySQL OpenSSL sur Ubuntu Karmic

Connexion SSL MySQL OpenSSL sur Ubuntu Karmic

MySQL-SSLUbuntu Karmic supporte l’utilisation de OpenSSL avec MySQL de façon native. Yeah yeah!!?
Bon pas le temps de chercher pourquoi, ÇA FONCTIONNE PAS!
failed error: ‘SSL connection error’

Pas de lien vers des sources, bug ou autres, c’est pas très documenté et j’ai pas envie de chercher.

Pour compiler mysql 5.1 avec OpenSSL [c’est ça qu’on va faire] Point 1 plus bas

Voici un lien pour y arriver sous Etch et Lenny.
http://momocello.com/connexion-ssl-mysql-openssl-sur-debian-etch-lenny/

 

Pour savoir si mon serveur MySQL supporte SSL ou OpenSSL : (Normalement…)

// Une fois connecté MySQL :
SHOW VARIABLES LIKE '%ssl%';


+---------------+------------------------+
| Variable_name | Value                  |
+---------------+------------------------+
| have_openssl  | DISABLED               |
| have_ssl      | DISABLED               |
| ssl_ca        | /etc/mysql/ca-cert.pem |
| ssl_capath    |                        |
| ssl_cert      | /etc/mysql/cert.pem    |
| ssl_cipher    |                        |
| ssl_key       | /etc/mysql/key.pem     |
+---------------+------------------------+

Si vous avez NO
Mysql ne supporte pas SSL
Si vous avez DISABLED
Mysql supporte SSL, mais vous avez un problème de certificats
Si vous avez YES
Tout est en ordre et prêt pour les connexions encryptées (Normalement…)

Pour Débugger

nano /var/log/syslog
nano /var/log/mysql/error.log

 

1-AppArmor pourrait bloquer vos certificats [à vérifier maintenant ou plus tard]
Vous avez mis vos certificats ailleurs que dans /etc/var/mysql

nano /etc/apparmor.d/usr.sbin.mysqld
//Ajoutez

/etc/mysql/{votre dossier}/* r,

service apparmor restart
service mysql restart

 

2-Préparation Ubuntu Karmic :
Mon serveur me dit DISABLED
J’ai installé mes certificats et vérifié AppArmor : il me dit YES
Je fais un test :
failed error: ‘SSL connection error’
Let’s go!

aptitude update

aptitude install libssl-dev openssl devscripts build-essential fakeroot debian-builder libtool libncurses5-dev libwrap0-dev libreadline5-dev libreadline-dev chrpath automake1.9 dpatch gawk bison liblz-dev libghc6-zlib-dev zlib1g-dev libzzip-dev

apt-get build-dep mysql-server-5.1 debhelper doxygen texlive-latex-base hardening-wrapper

 

3-Téléchargez les sources de MySQL :

VOUS NE POUVEZ CONTINUER EN ROOT.
Veuillez continuer en tant qu’utilisateur
cd /home/{votre utilisateur}
mkdir build
cd build
apt-get source mysql-server-5.1

 

4-Changements avant la compilation :

cd mysql*
nano debian/rules
//changez `--with-ssl` pour `--with-ssl=/usr/include/openssl`

nano debian/changelog
Ajoutez une nouvelle entrée en modifiant le numéro de version (+1) et en ajoutant une description (Added SSL)

Mon entrée au changelog
mysql-dfsg-5.1 (5.1.37-1ubuntu5.2+sslfix) karmic; urgency=low

  * Added SSL

 -- Guillermo Simeon <mon_mail@espacecode.com> Mon, 19 Apr 2010 23:32:37 -0500

 

5-Compilation :

debuild -us -uc
//-us -uc pour les non-responsables de paquets
Prendre une pause :)

 

6-Installation :

cd ..
su
aptitude purge mysql-server mysql-server-5.1
dpkg -i *.deb

//répéter si code d'erreur.
dpkg -i *.deb

//si problème de connexion vers MySQL
dpkg-reconfigure mysql-server-5.1

 

7-Configuration :

Vous voulez vous connecter à distance sur ce serveur MySQL :

nano /etc/mysql/my.cnf
Commentez
#bind-address = 127.0.0.1
service mysql restart

 

8-Empêcher la mise à jour des packets compilés :

aptitude hold libmysqlclient16 libmysqlclient16-dev libmysqlclient-dev libmysqld-dev libmysqld-pic mysql-client mysql-client-5.1 mysql-common mysql-server mysql-server-5.1 mysql-server-core-5.1

//changez hold pour unhold pour mettre à jour de nouveau

 

9-Crier OLÉ!

Pour créer vos certificats
http://momocello.com/creation-de-certificats-ssl-pour-mysql-avec-openssl/

 

*