la sécurité phpmyadmin
-
22-08-2019 - |
Question
J'ai un serveur de production avec apache2, php, mysql. J'ai juste un site en ce moment (mysite.com) en tant que hôte virtuel. Je veux mettre phpmyadmin, webalizer, et peut-être Webmin là-bas. Jusqu'à présent, j'ai installé phpmyadmin, et il fonctionne, mais l'Internet entier peut aller à mysite.com/phpmyadmin
Comment puis-je réduire la visibilité de dire 192.168.0.0/16 il est juste accessible aux machines derrière mon pare-feu?
La solution
1) Vous pouvez le faire au niveau du serveur Web.
Utilisez règles allow / deny pour apache. Si vous ne disposez pas d'un accès direct à votre fichier de configuration apache, vous pouvez utiliser un fichier .htaccess.
<Directory /docroot>
Order Deny,Allow
Deny from all
Allow from 10.1.2.3
</Directory>
2) Vous pouvez le faire au niveau de l'application à l'aide du fichier de configuration phpMyAdmin.
Le paramètre de configuration est la suivante: $cfg['Servers'][$i]['AllowDeny']['rules']
Des exemples de règles sont:
'all' -> 0.0.0.0/0
'localhost' -> 127.0.0.1/8
'localnetA' -> SERVER_ADDRESS/8
'localnetB' -> SERVER_ADDRESS/16
'localnetC' -> SERVER_ADDRESS/24
Vous pouvez le voir sur la documentation de configuration de phpMyAdmin officielle.
http://www.phpmyadmin.net/documentation/#servers_allowdeny_order
Autres conseils
Vous utilisez un module Apache appelé mod_access
Vous pouvez le configurer dans votre fichier de configuration apache ou dans un fichier .htaccess à la racine du répertoire.
Voici un court exemple
<Directory /your_folder/location>
Order Deny,Allow
Deny from all
Allow from 123.123.123.123
</Directory>