Installer et sécuriser PhpMyAdmin sur Ubuntu 18.04/20.04/22.04 LTS Ou Debian

Installation de PhpMyAdmin sur Ubuntu 18.04/20.04/22.04 LTS Ou Debian

introduction

Bien que de nombreux utilisateurs aient besoin d’un système de gestion de base de données comme les fonctionnalités de MySQL, ils pourraient ne pas se sentir à l’aise d’interagir avec le système uniquement via le client en ligne de commande MySQL.

Pour permettre l’interaction utilisateur avec MySQL via une interface web, PhpMyAdmin a été développé. Nous allons passer en revue l’installation et la sécurisation de PhpMyAdmin dans ce guide, afin que vous puissiez l’utiliser pour gérer vos bases de données sur un système Ubuntu sans risque.

Conditions de base

Enfin, tout en utilisant un logiciel comme PhpMyAdmin, il y a des problèmes de sécurité essentiels à être conscient de parce qu’il :

  • Communique directement avec votre installation MySQL.
  • Gère l’authentification MySQL.
  • Exécute et renvoie les résultats de toute requête SQL.

Pour ces raisons, ainsi que le fait que PhpMyAdmin est une application PHP largement déployée qui est régulièrement ciblée pour les attaques, vous ne devriez jamais l’exécuter sur des ordinateurs distants via une connexion HTTP simple. Si vous n’avez pas déjà un domaine établi avec un certificat SSL/TLS, vous pouvez utiliser cette méthode pour en créer un, En sécuriser Apache avec Let’s Encrypt.

Une fois ces étapes terminées, vous êtes prêt à commencer ce guide.

Étape 1 : Installation de PhpMyAdmin

Pour commencer, nous installerons PhpMyAdmin à partir du dépôt par défaut distro.

$ sudo apt update
$ sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

Sur Ubuntu, Lorsque demandé, vous devez choisir apache2.

La procédure d’installation place le fichier de configuration Apache de phpMyAdmin dans le répertoire /etc/apache2/conf-enabled/ où il est immédiatement lu. Pour finir de configurer Apache et PHP pour interagir avec phpMyAdmin, la prochaine tâche dans cette section de ce guide est d’activer explicitement l’extension PHP mbstring, que vous pouvez réaliser en tapant :

$ sudo phpenmod mbstring

Redémarrez Apache :

$ sudo systemctl restart apache2

Avec cela, notre installation phpMyAdmin est terminée. Dans votre navigateur Web, accédez au nom de domaine ou à l’adresse IP publique de votre serveur, suivi de /phpMyAdmin :

http://server_IP/phpMyAdmin
phpmyadmin installation et sécurité

Connectez-vous à l’interface en tant que root ou en utilisant un autre nom d’utilisateur et mot de passe.

Étape 2 : Sécuriser votre instance phpMyAdmin

Maintenant, l’instance PhpMyAdmin installée sur notre serveur devrait être entièrement fonctionnelle. Nous avons cependant exposé notre système MySQL au monde extérieur en ajoutant une interface web.

Modification de l’URL d’accès de l’application

$ sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Vers le haut du fichier, vous verrez deux lignes qui ressemblent à ceci :

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

Ces deux lignes sont nos alias, ce qui signifie que chaque fois que nous accédons au nom de domaine ou à l’adresse IP de notre site, suivi de /phpMyAdmin ou /phpmyadmin, nous recevrons le contenu à /usr/share/phpMyAdmin.

Pour appliquer nos modifications souhaitées, nous devrions supprimer ou commenter les lignes existantes et les remplacer par les nôtres :

# Alias /phpMyAdmin /usr/share/phpMyAdmin
# Alias /phpmyadmin /usr/share/phpMyAdmin
Alias /secretpage /usr/share/phpMyAdmin

Pour mettre en œuvre les changements, redémarrez le service Web :

$ sudo systemctl restart apache2

Si vous retournez à l’ancien emplacement de votre installation phpMyAdmin, vous obtiendrez l’erreur 404.

Votre interface phpMyAdmin, par contre, sera disponible sur le nouveau site que nous avons choisi :

http://server_IP/secretpage

Configuration d’une authentification du serveur Web :

La fonctionnalité suivante que nous voulons pour notre installation était une invite d’authentification qu’un utilisateur devrait passer avant d’accéder à l’écran de connexion phpMyAdmin.

Ouvrez votre fichier de configuration et ajoutez AllowOverride All dans <Directory /usr/share/phpmyadmin>

Ubuntu : /etc/apache2/conf-available/phpmyadmin.conf

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
    AllowOverride All
    . . .

Et redémarrer Apache

Désormais que vous avez activé l’utilisation des fichiers .htaccess pour votre application, vous devrez en créer un pour créer des règles de sécurité.

Créer le fichier dans le dossier PhpMyAdmin :

$ sudo nano /usr/share/phpmyadmin/.htaccess

Ajouter les lignes suivantes :

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Enregistrez et fermez le fichier lorsque vous avez terminé.

Vous avez choisi /etc/phpmyadmin/.htpasswd comme emplacement pour votre fichier de mot de passe. Vous pouvez maintenant utiliser le logiciel htpasswd pour créer ce fichier et lui attribuer un utilisateur initial :

$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd username

puis entrer et confirmer un mot de passe pour l’utilisateur que vous créez.

Si vous souhaitez ajouter un autre utilisateur, utilisez la syntaxe suivante sans l’option -c :

$ sudo htpasswd /etc/phpmyadmin/.htpasswd newuser

Redémarrez ensuite Apache pour activer l’authentification .htaccess.

Lorsque vous entrez votre sous-répertoire phpMyAdmin, vous serez invité à entrer le nom de compte et le mot de passe nouvellement créés :

http://server_IP/secretpage
sécuriser phpmyadmin

conclusion

PhpMyAdmin devrait maintenant être installé et prêt à être utilisé sur votre serveur. Vous pouvez utiliser cette interface pour créer des bases de données, des utilisateurs et des tables, ainsi que pour exécuter des opérations standard telles que la suppression et la modification des structures et des données.

Laisser un commentaire