Configurer l’accès à distance aux bases de données MariaDB

Configurer l’accès à distance aux bases de données MariaDB

Configurer l’accès à distance aux bases de données MariaDB

Ce tutoriel montre comment configurer l’accès à distance aux serveurs de base de données MySQL ou MariaDB sur les systèmes Debian 9 Stretch. Lorsqu’il est configuré correctement, vous serez en mesure de vous connecter aux serveurs de base de données à partir d’un système distant.Si le serveur est connecté à Internet, vous pouvez y accéder depuis n’importe quel endroit du monde où l’accès à Internet est disponible. Cependant, l’ouverture de vos serveurs de base de données directement sur Internet n’est pas recommandée.

Pour protéger votre base de données et donner accès à distance qu’à une adresse IP fixe, on va restreindre l’accès au port TCP 3306 (port que MySQL) avec des règles IPTABLES.

Par défaut, MySQL ou MariaDB n’écoute que les connexions de l’hôte local. Tout accès distant au serveur est refusé par défaut.

 Exécutez les commandes ci-dessous pour ouvrir le fichier de configuration MySQL ou MariaDB pour activer l’accès à distance,.

Pour MySQL :

# nano /etc/mysql/mysql.conf.d/mysql.cnf

Pour MariaDB :

# nano /etc/mysql/mariadb.conf.d/50-server.cnf

Ensuite, faites le changement ci-dessous :

bind-address                              = 127.0.0.1

à

bind-address                              = 0.0.0.0

Pour vérifier que vos changements, exécutez les commandes ci-dessous

# netstat -anp | grep 3306

Vous devriez trouver un résultat qui ressemble à celui ci-dessous

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      1763/mysqld

Configurer une IP pour se connecter à une base de données.

Maintenant, le serveur est configuré pour écouter toutes les adresses IP mais l’adresse IP individuelle doit être explicitement configurée pour se connecter à une base de données.

Pour permettre à un client de se connecter à une base de données, vous devez autoriser l’accès au serveur distant.

Par exemple, si vous souhaitez qu’un ordinateur client avec l’adresse IP 62.212.208.49 se connecte à une base de données appelée wordpress en tant qu’utilisateur wpuser, exécutez les commandes ci-dessous après vous être connecté au serveur de base de données

# mysql -u root -p
create database wordpress;
create user wpuser;
set password for wpuser= PASSWORD("motdepasse");
GRANT ALL PRIVILEGES ON wordpress.* TO [email protected] IDENTIFIED by "motdepasse";
exit

Après avoir exécuté les commandes ci-dessus, vous devriez être en mesure d’accéder au serveur à partir de l’ordinateur client avec l’adresse IP attribuée.

Pour vous connecter au serveur à partir de l’adresse IP, exécutez les commandes ci-dessous

# mysql -uwpuser -pmotdepasse -h IPdeServer

Sécurisation de l'accès à distance aux bases de données MySQL ou MariaDB avec IPTABLES

Avec IPTABLES on va bloquer tous les accès aux hôtes qui n’ont pas besoin de se connecter et autoriser l’adresse IP à partir de laquelle vous vous connectez.

# iptables -A INPUT -p tcp -s 62.212.208.49 –dport 3306 -j ACCEPT

# iptables -A INPUT -p tcp -s 127.0.0.1 –dport 3306 -j ACCEPT

# iptables -A INPUT -p tcp –dport 3306 -j DROP

Voici votre serveur de bases de données MySQL ou MariaDB  est accessible de l’extérieur et sécurisée avec IPTABLES.

Laisser un commentaire

Fermer le menu