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?

¿Fue útil?

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>

Utilice la directiva (ya sea en configuración del servidor o si se le permite, en .htaccess). En allí, se puede utilizar Allow from para denegar el acceso a todos los demás excepto alguna fuente determinada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top