« MySQL » : différence entre les versions
(→SSL) |
(→SSL) |
||
Ligne 3 : | Ligne 3 : | ||
* Vérifier votre version de '''Openssl''' avant de poursuivre : | * Vérifier votre version de '''Openssl''' avant de poursuivre : | ||
{{ Box Console | objet=openssl version<br /> | {{ Box Console | objet=<span style="font-family:sans-serif;color:blue">openssl version</span><br /> | ||
OpenSSL 1.0.1c 10 May 2012 }} | OpenSSL 1.0.1c 10 May 2012 }} | ||
Version du 5 février 2014 à 13:54
SSL
- Vérifier votre version de Openssl avant de poursuivre :
|
|
La version 1.0.1c n'est pas supporté par MySQL. Il sera nécessaire d'installer une version antérieure pour poursuivre.
Autorité de certification
Création de la clé privée
- On se place dans le dossier /etc/ssl/private qui contient les clés et certificats privées :
|
|
- On génère la clé privée :
|
|
Cette clé va nous permettre de signer nos propres certificats.
Création du certificat auto-signé
- On lance la création de certificat auto-signé :
|
|
Certificat serveur
- On génère la clé privée :
|
|
- On génère un fichier de demande de signature de certificat :
|
|
- On signe notre certificat à l'aide du certificat auto-signé de notre autorité de certification (précédemment créée) :
|
|
Configuration du serveur MySQL
- On déplace les certificats crées dans /etc/ssl/private vers /etc/mysql/ssl
|
|
- On applique les permissions et droits mysql sur les certificats :
|
|
- On édite le fichier /etc/apparmor.d/usr.sbin.mysqld et on y insère les éléments suivants :
/etc/mysql/ssl/*.pem r, /etc/mysql/ssl/*.crt r, /etc/mysql/ssl/*.key r,
- On édite le fichier de configuration /etc/mysql/my.cnf et on y insère dans la section [mysqld] :
ssl-ca=/etc/mysq/ssl/ca.crt ssl-cert=/etc/mysql/ssl/mysql.crt ssl-key=/etc/mysql/ssl/mysql.key
Validation
mysql> show variables like "%ssl%"; +---------------+--------------------------+ | Variable_name | Value | +---------------+--------------------------+ | have_openssl | YES | | have_ssl | YES | | ssl_ca | /etc/mysq/ssl/ca.crt | | ssl_capath | | | ssl_cert | /etc/mysql/ssl/mysql.crt | | ssl_cipher | | | ssl_key | /etc/mysql/ssl/mysql.key | +---------------+--------------------------+ 7 rows in set (0.02 sec)
mysql> show status like 'Ssl_cipher'; +---------------+--------------------+ | Variable_name | Value | +---------------+--------------------+ | Ssl_cipher | DHE-RSA-AES256-SHA | +---------------+--------------------+ 1 row in set (0.01 sec)