Installer MariaDB

De NCad Wiki
Aller à la navigation Aller à la recherche

Modèle:Bases de Données

Installation de MariaDB

  • Installation du paquet mariadb-server :

root@mariadb:~$ apt-get install mariadb-server

  • Editer le fichier de configuration 50-server.cnf disponible dans le répertoire /etc/mysql/mariadb.conf.d puis rechercher la ligne :
bind-address		= localhost
  • À remplacer par :
bind-address		= <@IP_MARIADB_PUBLIQUE>
  • Redémarrer le service mariadb pour prendre en compte les modifications :

root@mariadb:~$ /etc/init.d/mariadb restart

Paramétrage de la liaison SSL

Création de l’autorité de certification locale (AC)

Ce certificat permettra de signer les demandes de certificat pour le serveur de base de données et les différents clients pouvant s’y connecter. L’ensemble des certificats et clés générées seront stockés dans le répertoire /etc/ssl/private.

Génération de la clé secrète

  • Génération et stockage de la clé secrète de l’AC dans le fichier CA.key (ce fichier ne doit pas être divulgué) :

root@mariadb:~$ openssl genrsa 2048 > CA.key

Génération du certificat

  • Génération et stockage du certificat de l’AC dans le fichier CA.crt (ce fichier ne doit pas être divulgué) :

root@mariadb:~$ openssl req -new -x509 -nodes -days 365000 -key CA.key -out CA.crt

Création d’un jeu de certificat pour le serveur de base de données

Le certificat ainsi que la clé générée ci-après, seront renseignés dans le fichier de configuration du serveur de base de données MariaDB.

Génération de la clé secrète et de la demande de certificat

  • Génération et stockage de la clé secrète du serveur dans le fichier MariaDB.key et sa demande de certificat dans le fichier MariaDB.csr :

root@mariadb:~$ openssl req -newkey rsa:2048 -days 365000 -nodes -keyout MariaDB.key -out MariaDB.csr root@mariadb:~$ openssl rsa -in MariaDB.key -out MariaDB.key

Signature de la demande de certificat par l’AC

  • Signature de la demande certificat pour le serveur de base de données et génération du certificat dans le fichier MariaDB.crt :

root@mariadb:~$ openssl x509 -req -in MariaDB.csr -days 365000 -CA CA.crt -CAkey CA.key -set_serial 01 -out MariaDB.crt

Configuration de MariaDB

  • Editer le fichier de configuration /etc/mysql/mariadb.conf.d/50-server.cnf puis dé-commenter et adapter les lignes suivantes :
ssl-ca = /etc/ssl/private/CA.crt
ssl-cert = /etc/ssl/private/MariaDB.crt
ssl-key = /etc/ssl/private/MariaDB.key
  • Procéder au redémarrage du service MariaDB pour prendre en charge les modifications :

root@mariadb:~$ /etc/init.d/mariadb restart

  • Il est possible de rendre la liaison SSL obligatoire en ajoutant le paramètre suivant dans le fichier de configuration en plus des lignes déjà ajoutées :
require-secure-transport = off

Validation de la configuration

  • Se connecter au serveur de base de données en root puis saisir la commande suivante :

root@mariadb:~$ mysql -u root
MariaDB [(non)]> SHOW VARIABLES LIKE '%ssl%';

  • Lorsque la liaison SSL est opérationnelle, la ligne have_ssl doit retourner comme valeur YES.
+---------------------+-----------------------------+
| Variable_name       | Value                       |
+---------------------+-----------------------------+
| have_openssl        | YES                         |
| have_ssl            | YES                         |
| ssl_ca              | /etc/ssl/private/CA.crt     |
| ssl_capath          |                             |
| ssl_cert            | /etc/ssl/private/SRV040.crt |
| ssl_cipher          |                             |
| ssl_crl             |                             |
| ssl_crlpath         |                             |
| ssl_key             | /etc/ssl/private/SRV040.key |
| version_ssl_library | OpenSSL 1.1.1n  15 Mar 2022 |
+---------------------+-----------------------------+