la seguridad phpmyadmin
-
22-08-2019 - |
Pregunta
Tengo un servidor de producción con apache2, php, mysql. Tengo un solo sitio en ese momento (mysite.com) como una máquina virtual. Quiero poner phpmyadmin, Webalizer, y tal vez webmin allí. Hasta ahora, he instalado phpMyAdmin, y funciona, pero todo el Internet puede ir a mysite.com/phpmyadmin
¿Cómo puedo reducir la visibilidad decir 192.168.0.0/16 lo que es sólo accesible a las máquinas detrás de mi firewall?
Solución
1) Puede hacerlo a nivel servidor web.
Uso permitir / denegar reglas para apache. Si usted no tiene acceso directo al archivo de configuración de Apache, puede utilizar un archivo .htaccess.
<Directory /docroot>
Order Deny,Allow
Deny from all
Allow from 10.1.2.3
</Directory>
2) Usted puede hacerlo a nivel de aplicación utilizando el archivo de configuración phpmyadmin.
El parámetro de configuración es: $cfg['Servers'][$i]['AllowDeny']['rules']
Los ejemplos de reglas son:
'all' -> 0.0.0.0/0
'localhost' -> 127.0.0.1/8
'localnetA' -> SERVER_ADDRESS/8
'localnetB' -> SERVER_ADDRESS/16
'localnetC' -> SERVER_ADDRESS/24
Esto se puede ver en la documentación oficial de configuración phpMyAdmin.
http://www.phpmyadmin.net/documentation/#servers_allowdeny_order
Otros consejos
Se podría utilizar un módulo en Apache llamado mod_access
Usted puede configurarlo en el archivo de configuración de Apache o dentro de un archivo .htaccess en la raíz del directorio.
Aquí hay un ejemplo corto
<Directory /your_folder/location>
Order Deny,Allow
Deny from all
Allow from 123.123.123.123
</Directory>