Не получается ограничить доступ к phpMyAdmin

12
Александр Фролов
На сайте с 27.12.2007
Offline
155
3562

Пытаюсь ограничить доступ по IP к phpMyAdmin версии 3.5.7 (FreeBSD 8.3 amd64, Apache/2.2.23 (FreeBSD) PHP/5.4.11 DAV/2, свежая установка ISPmanager), но доступ блокируется даже к разрешенным адресам IP.

Подскажите, пожалуйста, в чем может быть проблема?

Заранее спасибо за ответы!

Это файл /usr/local/www/phpMyAdmin/config.inc.php:


<?php
/* $FreeBSD: ports/databases/phpmyadmin/files/config.inc.php.sample,v 1.5 2012/11/17 05:55:20 svnexp Exp $
*
* Skeleton configuration file -- this file is empty on a fresh
* installaton of phpmyadmin.
*
* Copy any settings you want to override from
* libraries/config.default.php or visit /phpmyadmin/setup/ to generate a
* basic configuration file
*
*/


$cfg['PmaAbsoluteUri'] = 'https://'.$_SERVER["HTTP_HOST"].'/myadmin/';
$cfg['PmaAbsoluteUri_DisableWarning'] = TRUE;
$cfg['PropertiesIconic'] = TRUE;
$cfg['Export']['******'] = FALSE;
$cfg['blowfish_secret'] = '****1';
$cfg['Servers'][1] = array(
'verbose' => 'MySQL',
'auth_type' => 'cookie',
'user' => '',
'host' => 'localhost',
'controluser' => 'pma',
'controlpass' => '*******1',
'pmadb' => 'phpmyadmin',
'bookmarktable' => 'pma_bookmark',
'relation' => 'pma_relation',
'table_info' => 'pma_table_info',
'table_coords' => 'pma_table_coords',
'pdf_pages' => 'pma_pdf_pages',
'column_info' => 'pma_column_info',
'history' => 'pma_history',
'tracking' => 'pma_tracking',
'designer_coords' => 'pma_designer_coords',
'userconfig' => 'pma_userconfig',
'table_uiprefs' => 'pma_table_uiprefs',
'recent' => 'pma_recent'
);

//block users from logging in except from the private networks
$cfg['Servers'][1]['AllowDeny']['order'] = 'deny,allow';
$cfg['Servers'][1]['AllowDeny']['rules'] = array(
'deny % from all',
// 'allow % from localhost',
'allow % from 111.111.111.111',
'allow % from 111.111.111.111',
) ;
?>
Andreyka
На сайте с 19.02.2005
Offline
822
#1

В логах например

Не стоит плодить сущности без необходимости
Александр Фролов
На сайте с 27.12.2007
Offline
155
#2

httpd-error.log:


[Wed Feb 20 10:02:42 2013] [error] [client {IP сервера}] client denied by server configuration: /usr/local/www/phpMyAdmin/

Больше ничего...

Может это какая-то несовместимость с PHP 5.4? Ищу в гугле, но пока ничего определенного не нашел...

N
На сайте с 10.02.2010
Offline
51
#3
Александр Фролов:
httpd-error.log:

[Wed Feb 20 10:02:42 2013] [error] [client {IP сервера}] client denied by server configuration: /usr/local/www/phpMyAdmin/


Больше ничего...
Может это какая-то несовместимость с PHP 5.4? Ищу в гугле, но пока ничего определенного не нашел...

by server configuration - на уровне apache, скорее всего, закрыто. Или в .htaccess, или где-нибудь а-ля /etc/httpd/conf.d/phpMyAdmin.conf

Александр Фролов
На сайте с 27.12.2007
Offline
155
#4

Файла .htaccess нету.

А вот секция для phpMyadmin в конфиге Апача, создана установщиком ISPmanager:


Alias /myadmin /usr/local/www/phpMyAdmin/
<Directory /usr/local/www/phpMyAdmin>
<IfModule mpm_itk_module>
AssignUserID www www
</IfModule>
AllowOverride All
RemoveHandler .php
AddType application/x-httpd-php .php
php_admin_value open_basedir /usr/local/www/phpMyAdmin:/etc/phpmyadmin:/etc/phpMyAdmin:/var/lib/phpmyadmin:/var/lib/phpMyAdmin:/tmp:.:..:./:../
php_admin_value upload_tmp_dir /tmp
php_admin_value include_path /etc/phpmyadmin:/etc/phpMyAdmin:/var/lib/phpmyadmin:/var/lib/phpMyAdmin:.:..
php_admin_value session.save_path /tmp
php_admin_value safe_mode off
DirectoryIndex index.php
Order allow,deny
Allow from all
</Directory>

Вручную изменения не вносились...

Когда в файле /usr/local/www/phpMyAdmin/config.inc.php закрываю комментарием строку 'deny % from all', пускает, но со всех IP подряд.

Открываю - не пускает даже с валидных IP.

N
На сайте с 10.02.2010
Offline
51
#5
Александр Фролов:
Когда в файле /usr/local/www/phpMyAdmin/config.inc.php закрываю комментарием строку 'deny % from all', пускает, но со всех IP подряд.
Открываю - не пускает даже с валидных IP.

тут подсказать не могу, никогда так доступ не настраивал.

Я бы на вашем месте доступ не через config.inc.php ограничил, а как раз в Apache.

Вместо

Order allow,deny

Allow from all

так, к примеру:

Order deny,allow

deny from all
allow from 1.2.3.4
Александр Фролов
На сайте с 27.12.2007
Offline
155
#6

Попробовал, очень интересная вещь обнаружилась.

Доступ запрещен, в логах Апача:


[Wed Feb 20 12:13:43 2013] [error] [client 89.188.127.171] client denied by server configuration: /usr/local/www/phpMyAdmin/index.php, referer: https://{Адрес сервера}/myadmin/

Такое впечатление, что запросы на phpMyAdmin попадают не с IP моего локального компа, а c IP сервера. У меня еще стоит nginx, там я тоже после установки ISPmanager еще ничего не делал:


#user nobody;
worker_processes 16;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

error_log /dev/null error;

#pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

access_log off;
keepalive_timeout 3m;
proxy_read_timeout 5m;
proxy_send_timeout 5m;


sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
#keepalive_timeout 65;

#gzip on;



# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;

# location / {
# root html;
# index index.html index.htm;
# }
#}


# HTTPS server
#
#server {
# listen 443;
# server_name localhost;

# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;

# ssl_session_timeout 5m;

# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;

# location / {
# root html;
# index index.html index.htm;
# }
#}

include /usr/local/ispmgr/etc/nginx.domain;
client_max_body_size 16M;
}

Кстати, в конфиге Апача закомментирована такая строка:


#LoadModule rpaf_module libexec/apache22/mod_rpaf2.so
N
На сайте с 10.02.2010
Offline
51
#7
Александр Фролов:
Такое впечатление, что запросы на phpMyAdmin попадают не с IP моего локального компа, а c IP сервера. У меня еще стоит nginx, там я тоже после установки ISPmanager еще ничего не делал:
///
Кстати, в конфиге Апача закомментирована такая строка:


#LoadModule rpaf_module libexec/apache22/mod_rpaf2.so

У меня вместо mod_rpaf стоит mod_extract_forwarded

mod_extract_forwarded.conf

ничего особо не настраивается, только

MEFaccept 127.0.0.1 1.2.3.4

1.2.3.4 - ip сервера

Александр Фролов
На сайте с 27.12.2007
Offline
155
#8

Оказалось, что все же модуль mod_rpaf2.so загружается. Попытка загрузить его ни к чему не привела (

---------- Добавлено 20.02.2013 в 12:27 ----------

Да, точно. В phpMyAdmin запросы попадают с IP сервера, а не с IP моего компа. Добавил IP сервера в файл конфигурации myPHPAdmin, стало пускать. Но всех, конечно, так что проблема осталась (

N
На сайте с 10.02.2010
Offline
51
#9

Отписал Вам в личку, посмотрите

Александр Фролов
На сайте с 27.12.2007
Offline
155
#10
nchdel:
Отписал Вам в личку, посмотрите

Ответил, посмотрите, пожалуйста.

---------- Добавлено 20.02.2013 в 12:52 ----------

Огромное спасибо nchdel, проблема решена.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий