phpmyadmin security - PullRequest
       8

phpmyadmin security

3 голосов
/ 02 апреля 2009

У меня есть рабочий сервер с apache2, php, mysql. У меня есть только один сайт (mysite.com) в качестве виртуального хоста. Я хочу разместить там phpmyadmin, webalizer и, возможно, webmin. До сих пор я установил phpmyadmin, и он работает, но весь интернет можно перейти на mysite.com/phpmyadmin

Как можно уменьшить видимость, скажем, 192.168.0.0/16, чтобы она была доступна только машинам за моим брандмауэром?

Ответы [ 3 ]

7 голосов
/ 02 апреля 2009

1) Вы можете сделать это на уровне веб-сервера.

Используйте правила разрешить / запретить для apache. Если у вас нет прямого доступа к вашему файлу конфигурации apache, вы можете использовать файл .htaccess.

<Directory /docroot>
    Order Deny,Allow
    Deny from all
    Allow from 10.1.2.3
</Directory>

2) Вы можете сделать это на уровне приложения, используя файл конфигурации phpmyadmin.

Параметр конфигурации: $cfg['Servers'][$i]['AllowDeny']['rules']

Примеры правил:

'all' -> 0.0.0.0/0
'localhost' -> 127.0.0.1/8
'localnetA' -> SERVER_ADDRESS/8
'localnetB' -> SERVER_ADDRESS/16
'localnetC' -> SERVER_ADDRESS/24

Вы можете увидеть это в официальной документации по конфигурации phpMyAdmin.

http://www.phpmyadmin.net/documentation/#servers_allowdeny_order

1 голос
/ 02 апреля 2009

Вы бы использовали модуль в Apache с именем mod_access

Вы можете настроить его в конфигурационном файле apache или в файле .htaccess в корне каталога.

Вот краткий пример

<Directory /your_folder/location>
    Order Deny,Allow
    Deny from all
   Allow from 123.123.123.123
</Directory>
0 голосов
/ 02 апреля 2009

Используйте директиву (либо в конфигурации сервера, либо, если это разрешено, в .htaccess). Там вы можете использовать Allow from, чтобы запретить доступ всем остальным , за исключением некоторого определенного источника.

...