Skip to main content

Installer et Sécuriser MariaDB

Ce guide vous explique comment installer et configurer de manière sécurisée MariaDB sur votre VPS.

Prérequis

  • Accès SSH root ou sudo
  • Système Debian/Ubuntu à jour

Installation

  1. Installer MariaDB :

    sudo apt update
    sudo apt install mariadb-server
  2. Sécuriser l'installation :

    sudo mysql_secure_installation

    Suivez les étapes de sécurisation :

    • Appuyez sur Entrée pour le mot de passe root (vide par défaut)
    • Répondez aux questions de sécurité :
      • Change the root password? [Y/n] : Y (recommandé)
      • Remove anonymous users? [Y/n] : Y
      • Disallow root login remotely? [Y/n] : Y
      • Remove test database? [Y/n] : Y
      • Reload privilege tables? [Y/n] : Y

Configuration d'un utilisateur

  1. Connectez-vous à MariaDB :

    sudo mysql
  2. Créez un nouvel utilisateur administrateur (remplacez 'votre_user' et 'votre_password') :

    CREATE USER 'votre_user'@'localhost' IDENTIFIED BY 'votre_password';
    GRANT ALL PRIVILEGES ON *.* TO 'votre_user'@'localhost' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    EXIT;

Vérification de l'installation

  1. Testez la connexion avec le nouvel utilisateur :

    mysql -u votre_user -p
  2. Vérifiez le statut du service :

    sudo systemctl status mariadb

Sécurisation du port MariaDB

  1. Vérifiez le port d'écoute actuel :

    sudo netstat -tlnp | grep mysql
  2. Configurez le pare-feu (UFW) :

    # Bloquer l'accès par défaut au port MySQL (3306)
    sudo ufw deny 3306

    # Si vous avez besoin d'autoriser un accès distant depuis une IP spécifique
    sudo ufw allow from IP_AUTORISÉE to any port 3306
  3. Modifiez le fichier de configuration MariaDB :

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

    Trouvez et modifiez ces lignes :

    # Limiter l'écoute à localhost uniquement
    bind-address = 127.0.0.1

    # Ou spécifiez une adresse IP précise
    # bind-address = VOTRE_IP_SERVEUR
  4. Redémarrez MariaDB pour appliquer les changements :

    sudo systemctl restart mariadb
  5. Vérifiez les connexions autorisées :

    mysql -u root -p
    SELECT user, host FROM mysql.user;

Bonnes pratiques de sécurité

  • Utilisez des mots de passe forts
  • Limitez les accès aux bases de données
  • Effectuez des sauvegardes régulières
  • Mettez à jour régulièrement MariaDB
  • Limitez les connexions aux IPs de confiance
  • Surveillez régulièrement les tentatives de connexion

En cas de problème

  • Consultez les logs : sudo tail -f /var/log/mysql/error.log
  • Vérifiez que le service est actif : sudo systemctl status mariadb
  • Assurez-vous que les ports sont ouverts : sudo netstat -tulpn | grep mysql