Назад | Перейти на главную страницу

LameUser пытается - аутентификация веб-сервера apache2 - диапазон IP-адресов для доступа без пропуска, запрашивать другие с ним

У меня есть (возможно, глупый) вопрос относительно веб-сервера apache2 и безопасности - я пытаюсь архивировать это: пользователи, подключающиеся с 192.168.1.24, не должны запрашивать пароль и разрешено. Другие запрашивают имя пользователя и пароль, если они верны, а затем подключаются. Я пытаюсь сделать это для всего каталога / var / www

Независимо от того, помещаю ли я код в файл .htaccess или в httpd.conf, он у меня не работает.


Order deny,allow 
Deny from all 
AuthName "PassRequest" 
AuthType Basic 
AuthUserFile /var/.htpasswd 
Require valid-user 
Allow from 192.168.1.24 
Satisfy Any

Если я пытаюсь подключиться к странице, мне разрешено использовать как разрешенный IP-адрес, так и любой другой. Если я удалю строку «Удовлетворять любую», мне будет предложено ввести пароль, если я тоже удалю пароль и попытаюсь подключиться с другого IP-адреса, я НЕ ОТКАЗАНО ... необходимо активировать какой-либо модуль или почему директива IP пропущена?

Его нужно положить в каждую папку или достаточно /var/www/.htaccess? могу я просто поместить его в httpd.conf или нет ??

Я провожу последние 4 часа, пытаясь найти в Google, почему он так себя ведет. Любая помощь будет принята с благодарностью :-))

РЕДАКТИРОВАТЬ 1.11.2012: добавлено разрешение переопределения, применено к каталогу и перемещено в httpd.conf, безуспешно, проверены загруженные модули, проблема все еще сохраняется

Я добавил директиву AllowOverride (хотя в настоящее время не было .htaccess в / var / www) и поместил все в httpd.conf с каталогом root ...

Вот что у меня сейчас в httpd.conf

    <Directory />
AllowOverride None
   Order deny,allow
   Deny from All
   Allow from 195.137.181.24
   Options Indexes
   AuthType Basic
   AuthName "You are accessing outside of our network, Enter password!"
   AuthUserFile /var/.htpasswd
   Require valid-user

Satisfy Any
</Directory>

список загруженных модулей из apache2ctl -M:

Loaded Modules:
 core_module (static)
 log_config_module (static)
 logio_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 alias_module (shared)
 auth_basic_module (shared)
 authn_file_module (shared)
 authz_default_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgi_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 perl_module (shared)
 php5_module (shared)
 python_module (shared)
 reqtimeout_module (shared)
 setenvif_module (shared)
 status_module (shared)
Syntax OK

Модуль Authz_host присутствует, поэтому я не вижу, где еще я мог сделать ошибку. Тем не менее проблема остается той же: когда я получаю доступ с IP 195.137.181.24, мне разрешают и не спрашивают пароль, когда я пытаюсь получить доступ со своего мобильного телефона через 3G с совершенно другим IP-адресом, мне все еще разрешено и НЕ ЗАПРЕЩАЕТСЯ ввести пароль: - (((

Что я делаю не так ? У меня больше нет идей, что попробовать. Будем благодарны за любую дополнительную помощь или советы. Майк


Я добавил директиву AllowOverride (хотя в настоящее время не было .htaccess в / var / www) и поместил все в httpd.conf с каталогом root ...

Вот что у меня сейчас в httpd.conf

    <Directory />
AllowOverride None
   Order deny,allow
   Deny from All
   Allow from 195.137.181.24
   Options Indexes
   AuthType Basic
   AuthName "You are accessing outside of our network, Enter password!"
   AuthUserFile /var/.htpasswd
   Require valid-user

Satisfy Any
</Directory>

список загруженных модулей из apache2ctl -M:

Loaded Modules:
 core_module (static)
 log_config_module (static)
 logio_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 alias_module (shared)
 auth_basic_module (shared)
 authn_file_module (shared)
 authz_default_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgi_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 perl_module (shared)
 php5_module (shared)
 python_module (shared)
 reqtimeout_module (shared)
 setenvif_module (shared)
 status_module (shared)
Syntax OK

Модуль Authz_host присутствует, поэтому я не вижу, где еще я мог сделать ошибку. Тем не менее проблема остается той же: когда я получаю доступ с IP 195.137.181.24, мне разрешают и не спрашивают пароль, когда я пытаюсь получить доступ со своего мобильного телефона через 3G с совершенно другим IP-адресом, мне все еще разрешено и НЕ ЗАПРЕЩАЕТСЯ ввести пароль: - (((


Обновление 5.11.2012

Нашел :-D

В apache2 / sites-enabled был скрытый файл, переопределяющий мои директивы в папке / var / www ... глупо, что я не думал об этом раньше :-)

Во-первых, ваша конфигурация верна и работает должным образом в моей системе.

Проверить AllowOverride в вашем httpd.conf, и если вы загрузили модуль mod_authz_host в apache ...

На другие вопросы: вы можете поместить свою конфигурацию в Каталог директиву точно так же, как и в .htaccess - и даже предпочтительнее.

Настройки для каждого каталога наследуются всем подкаталогам, поэтому для защиты корневого каталога достаточно.