Vous êtes sur la page 1sur 4

Sécurisation de bases de données MySQL avec SSL/TLS.

MySQL prend en charge les connexions cryptées entre les clients et le serveur en utilisant le
protocole TLS (Transport Layer Security).
Mysql offre un moyen simple de générer des certificats avec la commande
mysql_ssl_rsa_setup (voir capture suivante), mais on continuera d’utiliser nos certificats
crées un peu haut

I. Configuration côté serveur pour les connexions chiffrées


Par défaut les clés et certificat doivent être mis dans le dossier /var/lib/MySQL/ avant cela
on change le propriétaire des dossiers contenant nos certificats et clés

Créer un utilisateur pour la connexion à distance


Pour activer SSL/TLS, on édite le fichier mysqld.cnf et on rajoute les paramètres suivants
dans la section [mysqld].
Pour spécifier en outre que les clients doivent utiliser connexions cryptées, activer la variable
système require_secure_transport :

Par défaut, MySQL est configuré pour écouter uniquement les connexions provenant de
l’hôte local. Ainsi, MySQL n’écoutera que les connexions provenant de la machine sur
laquelle le serveur MySQL est installé. Pour permettre à MySQL d’écouter les connexions
externes, nous devons changer l’adresse de liaison de localhost pour autoriser les
connexions externes : bind-address = 0.0.0.0

On redemarre mysql systemctl restart mysql et on regarde les log avec la commande tail

Regardons les variables SSL de la base de données :


À partir de la sortie, nous pouvons voir que SSL est activé et configuré.
La commande status donne plus de détails tels que la disponibilité totale de la base de
données, la version du serveur sur laquelle nous exécutons, le type de connexion, le
chiffrement SSL utilisé, etc.

Configuration côté client pour les connexions chiffrées :


Connexion depuis le pc du client
On voit bien le client s’est connecté avec succès.
Vérification de log du serveur pour s’assurer que la connexion utilise bien SSL/TLS

Notre serveur MySQL peut-il rejeter les connexions non sécurisées ?


Pour tester cela, nous allons ajouter l’option –ssl-mode=disabled à la commande mysql

La connexion ne peut pas passer, ce qui est un bon signe. Notre serveur MySQL nécessite
une connexion sécurisée. Les connexions SSL sont autorisées alors que les connexions non
SSL ne sont pas autorisées.

Vous aimerez peut-être aussi