Sécuriser phpMyAdmin
phpMyAdmin est un logiciel populaire et en tant que telle est une cible pour diverses attaques scriptées.
Si vous exécutez l’installation de phpMyAdmin, quelque part, vous devriez vraiment faire en sorte qu’il est fixé.
Il ya certaines choses que vous pouvez faire afin de vous protéger:
Supprimer le répertoire d’installation de phpMyAdmin. Vous l’utilisez pas après la configuration initiale:
# rm -rf /usr/share/phpmyadmin/setup/
Pour empêcher l’accès aux bibliothèques d’annuaire à partir du navigateur. Vous pouvez utiliser un fichier. htaccess pour cela.
Dans le cas où vous ne voulez pas que tous les utilisateurs accéde à phpMyAdmin, vous pouvez utiliser des règles AllowDeny pour limiter ou configurez vhost et .htaccess
Utiliser la clause suivante dans le fichier de configuration, inc.php de phpMyAdmin pour restreindre l’accès à partir de machines distantes.
# vi /usr/share/phpmyadmin/config.inc.php
$cfg['Servers'][$i]['AllowDeny']['order'] = 'deny,allow'; $cfg['Servers'][$i]['AllowDeny']['rules'][] = 'allow % from 127.0.0.1'; $cfg['Servers'][$i]['AllowDeny']['rules'][] = 'allow % from xxx.xxx.xxx.xxx'; $cfg['Servers'][$i]['AllowDeny']['rules'][] = 'deny % from all';
Vous pouvez modifier les Alias / phpmyadmin avec tout autre nom que vous voulez. Exemple: Alias / pma
http://nom_de_domain_ou_IP/phpmyadmin
sécuriser phpMyAdmin
Vous pouvez maintenant vous connecter à l’interface en utilisant le nom d’utilisateur root et le mot de passe administrateur vous définissez-up Lors de l’installation de MySQL.
Lorsque vous vous connectez, vous verrez l’interface utilisateur, ce qui ressemblera à quelque chose comme ceci:
Sécurisez phpMyAdmin
Nous devons obtenir une interface sécurisez phpMyAdmin fiable et utilisable assez facilement. Cependant, nous n’avons pas encore fini. En raison de son omniprésence, phpMyAdmin est une cible populaire pour les attaquants du web. Nous devons sécurisez l’application phpMyAdmin pour les utilisations non autorisée.
Une des meilleures façon de le faire est de placer une passerelle en face de l’ensemble de l’application. Nous pouvons faire une authentification intégrée et des fonctionnalités d’autorisation de .htaccess de ce en utilisant Apache.
Configurer Apache pour autoriser les remplacements htaccess
Tout d’abord, nous devons permettre l’utilisation de remplacements de fichiers htaccess en modifiant notre fichier vhost de configuration d’Apache.
Nous allons éditer le fichier Cela a-été placé dans notre annuaire de configuration d’Apache:
vi /etc/httpd/conf.d/phpmyadmin.conf
Nous devons ajouter une directive AllowOverride All Dans le <répertoire /usr/share/phpmyadmin> section du fichier de configuration, comme ceci:
<Répertoire /usr/share/phpmyadmin>
options de FollowSymLinks
DirectoryIndex index.php
AllowOverride All
. . .
Vous avez ajouté cette ligne en rouge, enregistrez et fermez le fichier.
Redémarrez Apache:
Création d’un fichier htaccess
Nous avons besoin de créer un utilisateur pour mettre en œuvre la sécurité.
Pour réussir cela, le fichier doit être créé dans le répertoire racine de l’application phpMyAdmin. Nous pouvons créer le fichier et ouvrir dans notre éditeur de texte avec les privilèges root en tapant:
sudo vi /usr/share/phpmyadmin/.htaccess
Dans ce dossier, nous avons besoin d’entrer les informations suivantes:
AuthType Basic AuthName "Fichiers réservés" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user
Passons en revue chacune de ces lignes
AuthType Basic: Cette ligne spécifie le type d’authentification d’application que nous sommes. Ce type mettra en œuvre l’authentification par mot de passe de mise en œuvre en utilisant un fichier de mot de passe.
AuthName: Ceci définit le message de la boîte de dialogue d’authentification. Vous devez garder cela générique afin que les utilisateurs non autorisés n’auront pas toutes les informations à propos de The ce qui est protégé.
AuthUserFile: Ceci définit l’emplacement du fichier de mot de passe qui sera utilisé pour l’authentification. Ce doit être en dehors des répertoires qui sont servis. Nous allons créer ce fichier Peu.
Require valid-user: Ceci ne précise qui doit être accordée aux utilisateurs authentifiés d’accéder à cette ressource. C’est ce qui empêche effectivement les utilisateurs non autorisés d’entrer.
Lorsque vous avez terminé, enregistrez et fermez le fichier.
Créez le fichier htpasswd pour l’authentification
Maintenant que nous avons spécifié les informations d’un emplacement pour notre fichier de mot de passe grâce à l’utilisation de la directive AuthUserFile dans notre fichier .htaccess, nous avons besoin de créer le fichier .htpasswd
Debian nous devons installer
sudo apt-get install apache2-utils
Par la suite, nous aurons l’utilitaire htpasswd disponible.
L’emplacement choisi pour stoker les mots de passe est “/etc/phpmyadmin/.htpasswd”. Créons ce fichier et de le transmettre un utilisateur initial en tapant:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd username
Vous serez invité à le sélectionner et confirmer un mot de passe pour l’utilisateur que vous créez. Ensuite, le fichier est créé avec le mot de passe haché que vous avez entré.
Si vous voulez entrer un utilisateur supplémentaire, vous devez le faire sans le “-c” comme ceci:
sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser
Maintenant, lorsque vous accédez à votre répertoire phpMyAdmin, vous serez invité à saisir le nom de compte et mot de passe que vous «venez de configurer:
Après l’authentification Apache, vous serez redirigé vers la page réglementer phpMyAdmin pour entrer vos informations d’authentification phpMyadmin. Cela va ajouter une couche supplémentaire de sécurité à phpMyAdmin qui à souffert de vulnérabilités dans le passé.
conclusion
Maintenant vous devriez avoir configuré phpMyAdmin et être prêt à l’utiliser sur votre serveur. Grâce à cette interface, vous pouvez facilement créer des bases de données, des utilisateurs, des tables, etc, et effectuer les opérations habituelles comme la suppression et la modification des structures et des données.
Pour apprendre à sécuriser davantage vos interactions avec le serveur en cryptant votre communication avec SSL, consultez notre article sur la configuration de certificats SSL avec phpMyAdmin.