Recherche de site Web

Comment désactiver l'accès de connexion root à PhpMyAdmin


Si vous envisagez d'utiliser phpmyadmin de manière régulière pour gérer vos bases de données sur le réseau (ou pire, sur Internet !), vous ne souhaitez pas utiliser le root compte. Ceci est valable non seulement pour phpmyadmin mais également pour toute autre interface Web.

Dans /etc/phpmyadmin/config.inc.php, recherchez la ligne suivante et assurez-vous que la directive AllowRoot est définie sur FALSE :

$cfg['Servers'][$i]['AllowRoot'] = FALSE;

Dans Ubuntu/Debian, vous devez ajouter ces deux lignes comme indiqué :

/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['AllowRoot'] = false;

Enregistrez les modifications et redémarrez Apache.

------------- On CentOS/RHEL Systems -------------
systemctl restart httpd.service

------------- On Debian/Ubuntu Systems -------------
systemctl restart apache2.service

Suivez ensuite les étapes décrites dans les conseils ci-dessus pour accéder à la page de connexion de phpmyadmin (https:///phpmyadmin) et essayez de vous connecter en tant que root :

Connectez-vous ensuite à votre base de données MySQL/MariaDB via l'invite de commande et, à l'aide des informations d'identification root, créez autant de comptes que nécessaire pour accéder à une base de données chacun. Dans ce cas nous créerons un compte nommé jdoe avec le mot de passe jdoespassword :

mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 24
Server version: 10.1.14-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE USER 'jdoe'@'localhost' IDENTIFIED BY 'jdoespassword';
Query OK, 0 rows affected (0.04 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON gestion.* to 'jdoe'@'localhost';
Query OK, 0 rows affected (0.00 sec)

Ensuite, connectons-nous en utilisant les informations d'identification ci-dessus. Comme vous pouvez le constater, ce compte n'a accès qu'à une seule base de données :

Toutes nos félicitations! Vous avez désactivé l'accès root à votre installation phpmyadmin et pouvez désormais l'utiliser pour gérer vos bases de données.

Je vous recommande fortement d'ajouter une couche de sécurité supplémentaire à votre installation phpmyadmin avec une protection par mot de passe .htaccess et de configurer HTTPS (certificat SSL) pour éviter d'envoyer le nom d'utilisateur et le mot de passe. au format texte brut sur le réseau.