Comment installer et sécuriser phpMyAdmin sur Debian 9

Il existe différentes solutions que nous pouvons adopter pour augmenter les possibilités de faire évoluer nos serveurs et les applications qui y sont hébergées, en nous concentrant sur l'amélioration des alternatives pour chaque utilisateur de l'organisation.
Dans tout ce monde d'applications, nous avons un segment qui se démarque et ce sont les bases de données, bien qu'aujourd'hui il soit normal d'utiliser un système de gestion de base de données tel que MariaDB, de nombreux utilisateurs et programmeurs ne sont pas totalement à l'aise avec son interface et donc ils choisissez d'utiliser une autre des applications les plus populaires telles que phpMyAdmin.

A travers ce tutoriel, Solvetic vous expliquera comment installer et sécuriser l'installation de phpMyAdmin dans Debian 9 et ainsi tirer le meilleur parti de ses fonctionnalités tout en protégeant son intégrité des accès non autorisés.

Qu'est-ce que phpMyAdminphpMyAdmin a été développé comme un outil logiciel gratuit qui a été écrit en PHP et dont le but est d'aider à améliorer l'administration de MySQL via le Web.

phpMyAdmin est compatible avec diverses opérations dans MySQL et MariaDB, dans ce domaine, toutes les opérations fréquemment utilisées telles que l'administration de bases de données, tables, colonnes, relations, index, utilisateurs, autorisations, nous pouvons les effectuer via l'interface et en même temps il sera possible d'utiliser directement n'importe quelle instruction SQL.

CaractéristiquesCertaines des fonctionnalités que nous trouvons lorsque nous utilisons phpMyAdmin sont

  • Interface Web intuitive
  • Il prend en charge de nombreuses fonctionnalités MySQL telles que l'exploration et la suppression de bases de données, de tables, de vues, de champs et d'index, la création, la copie, le renommage et la modification de bases de données, de tables, de champs et d'index, l'exécution de tâches de serveur de maintenance, de bases de données, de tables, etc.
  • Nous pouvons exécuter, éditer et marquer n'importe quelle instruction SQL, y compris les requêtes par lots
  • Facilite la gestion des comptes utilisateur et des privilèges MySQL
  • Gérer les procédures stockées et les déclencheurs
  • Exécute des recherches globales sur une base de données ou un sous-ensemble de celles-ci
  • Vous pouvez créer des graphiques de base de données dans différents formats
  • Vous êtes capable de créer des requêtes complexes en utilisant Query-by-example (QBE)
  • Il peut transformer les données stockées dans n'importe quel format en fonction d'un ensemble de fonctions prédéfinies
  • Peut gérer plusieurs serveurs
  • phpMyAdmin peut exporter des données vers divers formats tels que CSV, SQL, XML, PDF, ISO / IEC 26300 - OpenDocument Text and Spreadsheet, Word, LATEX et plus
  • Peut importer des données à partir de CSV et SQL

Exigences précédentesAvant de savoir comment installer et sécuriser phpMyAdmin nous devons remplir les conditions suivantes :

Avoir l'installation de LAMP (Linux, Apache, MariaDB et PHP) sur le serveur Debian 9, pour nous guider dans ce processus, nous pouvons visiter le lien suivant :

En plus de cela, nous devons avoir un pare-feu configuré avec ufw.

Comment mettre à jour le systèmeLa première étape à franchir est de mettre à jour les packages Debian 9, pour cela nous exécutons la commande suivante :

 mise à jour appropriée

1. Comment installer phpMyAdmin Debian 9

Étape 1
Une fois le système mis à jour, nous procédons à l'installation de PHP ainsi que de certaines dépendances en exécutant la commande suivante :

 apt installer phpmyadmin php-mbstring php-gettext

Étape 2
Là, nous entrerons la lettre S pour confirmer le téléchargement et l'installation de PHP et pendant ce processus, ce qui suit sera affiché :

Étape 3
Là, nous sélectionnons apache2 comme serveur Web, pour cette sélection, nous appuyons sur la touche Espace et avec la touche Tab nous sélectionnons OK, nous appuyons sur Entrée pour continuer le processus d'installation :

Étape 4
Plus tard, nous devons définir le mot de passe de l'application MySQL :

Étape 5
Nous appuyons sur Entrée et nous devons le confirmer :

Étape 6
Ensuite, nous confirmerons le mot de passe de l'utilisateur root pour la base de données. Ceci termine le processus d'installation de phpMyAdmin.

Le processus d'installation se charge d'ajouter le fichier de configuration Apache phpMyAdmin dans le répertoire /etc/apache2/conf-enabled/, qui est lu automatiquement.

Étape 7
Maintenant, nous devons explicitement activer l'extension PHP mbstring qui est utilisée pour gérer les chaînes non-ASCII et convertir les chaînes en différents encodages, nous le faisons en exécutant ce qui suit :

 mbstring phpenmod
Enfin, nous redémarrons le service pour appliquer les modifications :
 systemctl redémarrer apache2

2. Comment configurer les utilisateurs et les privilèges de phpMyAdmin Debian 9


Lors de l'installation de phpMyAdmin sur le serveur, un utilisateur de base de données nommé phpmyadmin a été automatiquement créé qui peut effectuer certains processus sous-jacents pour le programme, pour des raisons de sécurité, c'est idéal, au lieu de se connecter avec cet utilisateur et le mot de passe administratif qui a été défini lors de l'installation, signez avec un autre compte.

Sur les nouvelles installations sur les systèmes Debian 9, l'utilisateur root MariaDB est configuré pour s'authentifier à l'aide du plugin unix_socket par défaut au lieu d'un mot de passe, puisque phpMyAdmin demande aux utilisateurs de s'authentifier avec un mot de passe, un nouveau compte devra être créé MariaDB pour accéder au interface web de l'application.

Étape 1
Nous pouvons vérifier l'accès à phpMyAdmin en exécutant la syntaxe suivante dans un navigateur Web :

 https : // Server_IP / phpmyadmin

Étape 2
Là, nous entrons avec l'utilisateur standard et nous aurons accès à la plate-forme phpMyAdmin. Nous pouvons créer un nouvel utilisateur pour phpMyAdmin en entrant la ligne suivante dans le terminal Debian 9 :

 mariadb
Étape 3
En cas d'authentification par mot de passe active, nous allons exécuter la commande suivante pour obtenir des privilèges d'administrateur dans la base de données :
 mariadb -u utilisateur -p
Dans la console de la base de données, nous entrerons ce qui suit :

Étape 4
Nous allons créer l'utilisateur et attribuer le mot de passe souhaité :

 CREATE USER 'user @' localhost 'IDENTIFIED BY' password ';
Maintenant, nous accordons au nouvel utilisateur les privilèges appropriés :
 ACCORDER TOUS LES PRIVILÈGES SUR *.* À 'user' @ 'localhost' AVEC GRANT OPTION;
Nous quittons la base de données :
 sortir

Étape 5
Nous pouvons maintenant accéder à phpMyAdmin avec le nouvel utilisateur créé :

Étape 6
Cliquez sur Continuer et ce sera l'environnement phpMyAdmin :

AGRANDIR

Jusqu'à présent, nous aurons accès à la plate-forme phpMyAdmin et son pire environnement est toujours non sécurisé.

3. Comment sécuriser l'instance phpMyAdmin


phpMyAdmin est devenu une cible traditionnelle et fréquente pour les attaquants en raison de sa facilité d'accès, pour éviter cela, nous pouvons implémenter une passerelle pour l'application qui utilisera les fonctionnalités d'authentification et d'autorisation .htaccess intégrées d'Apache

Étape 1
Pour ce faire, nous allons activer l'utilisation des remplacements de fichiers .htaccess en éditant le fichier de configuration Apache via la ligne suivante :

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

Étape 2
Là, nous allons entrer la ligne suivante dans la section:

 AutoriserTout remplacer

Étape 3
Nous sauvegardons les modifications à l'aide de la combinaison de touches Ctrl + O et sortons de l'éditeur à l'aide des touches Ctrl + X.
Après cela, nous redémarrons le serveur Apache en exécutant la commande :

 systemctl redémarrer apache2
Étape 4
Nous avons activé l'utilisation de .htaccess pour l'application phpMyAdmin, maintenant nous allons créer un utilisateur pour implémenter la sécurité générale de l'environnement, ce fichier doit être créé dans le répertoire de l'application, pour cela nous allons créer le fichier et ouvrez-le avec l'éditeur souhaité comme suit :
 sudo nano /usr/share/phpmyadmin/.htaccess
Dans le nouveau fichier, nous collerons les éléments suivants :
 AuthType Basic AuthName "Fichiers restreints" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user

Étape 5
Nous sauvegardons les modifications avec la combinaison de touches Ctrl + O et sortons de l'éditeur à l'aide des touches Ctrl + X.

Les lignes que nous avons saisies représentent :

Type d'authentification de baseSpécifiez le type d'authentification que nous implémentons, ce type de paramètre implémentera l'authentification par mot de passe à l'aide d'un fichier de mots de passe.

AuthNameCette ligne établit le message pour la boîte de dialogue d'authentification qui sera affiché, il est idéal de conserver ce formulaire générique afin que les utilisateurs non autorisés n'aient accès à aucune information des données protégées.

AuthUserFileCette ligne définit l'emplacement du fichier de mots de passe qui sera utilisé pour l'authentification.

Exiger un utilisateur valideCette option spécifie que seuls les utilisateurs authentifiés peuvent accéder à cette ressource, empêchant ainsi tout accès non autorisé.

L'emplacement que nous avons sélectionné pour le fichier de mot de passe est /etc/phpmyadmin/.htpasswd, nous allons créer ce fichier et l'attribuer à un utilisateur initial à l'aide de l'utilitaire htpasswd :

 htpasswd -c /etc/phpmyadmin/.htpasswd "utilisateur"

Étape 6
Nous entrons le mot de passe souhaité et de cette façon ce nouvel utilisateur aura un accès sécurisé à phpMyAdmin. Maintenant, lorsque nous essayons d'accéder à nouveau à phpMyAdmin via le navigateur, la fenêtre contextuelle suivante s'affiche :

Étape 7
Là, nous entrons les informations d'identification de l'utilisateur que nous avons créé et en cliquant sur le bouton Accès, nous serons dans l'environnement phpMyAdmin :

AGRANDIR

De cette façon, nous avons appris à installer et sécuriser phpMyAdmin sur Debian 9.

wave wave wave wave wave