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

Redémarrer le service mysql/mariadb

# service mysql restart

Ou

# service mariadb restart

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 wpuser@62.212.208.49 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.

Cet article a 4 commentaires

  1. Steve

    Bonsoir,

    Voici un bon petit tuto qui m’a bien aidé.

    Juste une remarque, ne pas oublier de redémarrer le service mysql/mariadb après la modification du fichier de configuration.

    Merci beaucoup.

    1. Massi

      Bonjour
      Merci pour votre retour
      Vous avez raison.
      C’est fait
      Merci

  2. Amine

    Bonjour,
    Merci pour ce tuto, j’ai appliqué la procédure, j’arrive à se connecter à la base, mais en essayant d’ouvrir mon schéma , j’obtiens le message :
    Access denied for user ‘cc’@’%’ to database ‘cc’

    1. Massi

      Bonjour
      Merci pour votre retour
      Avez-vous configuré l’accès au user CC à la base de donnée CC depuis votre ip publique
      GRANT ALL PRIVILEGES ON cc.* TO cc@VotreIPPublique IDENTIFIED by « motdepasse »;
      Pour avoir votre ip publique, il suffit d’aller sur http://www.mon-ip.com

Laisser un commentaire