Я не эксперт в этих вещах, и поэтому очень надеюсь, что кто-то из вас сможет мне помочь. Ниже моя проблема, а затем то, что я сделал, чтобы исследовать ее.
Описание проблемы:
В течение последних 2 дней я не могу использовать страницу администратора моего веб-сайта joomla из своей домашней сети.
1) Я могу успешно войти в учетную запись администратора, если использую URL: example.com/administrator
. Однако после входа в систему, какую бы другую ссылку я ни нажимал внутри страницы, она либо:
а) Отправляет мне сообщение "соединение с сервера разорвано" или
б) Браузер пытается загрузить саму index.php
страницу. Если я нажму «Сохранить и загрузить страницу», она загрузит 0-байтовый файл index.php.
2) Я не могу войти в учетную запись администратора, если использую URL-адрес example.com/administrator/index.php
. Он выполняет одно из двух действий, как показано в 1. а) и 1. б) выше.
3) Это поведение согласуется с тем, какую ОС / браузер я использую (проверено с Windows 7, Mac OS, Ubuntu Linux в IE, Chrome, Firefox, а также на iPhone. Очистка кеша браузера не помогает.
4) Проблема возникает только тогда, когда я использую домашнюю беспроводную широкополосную связь. Если я использую любой другой IP-адрес (например, отдельную учетную запись интернет-провайдера, используя 3g-соединение на iPhone и т. д.), я могу правильно получить доступ и использовать серверную часть администратора. Те же машины/смартфоны, которые не могут получить доступ с помощью домашнего широкополосного доступа, отлично работают при подключении к другому интернет-провайдеру.
5) Все остальные страницы моего веб-сайта доступны без каких-либо проблем с моего домашнего широкополосного доступа. Проблема только с доступом к странице /administrator/index.php.
6) Используя мой домашний широкополосный доступ, если я попытаюсь получить доступ через анонимный веб-прокси, это сработает.
Мое расследование/Возможные проблемы
1) Сначала я подумал, что исходящий IP-адрес моего домашнего широкополосного доступа запрещен на хост-сервере. Я связался с хостом, они подтвердили, что IP не забанен. Фактически, они явно разрешили диапазоны моих IP-адресов в правиле брандмауэра только для проверки. Нет помощи.
2) Затем я подумал, что проблема связана с конфигурацией сервера apache, из-за которой всякий раз, когда из браузера осуществляется доступ к любому файлу *.php
, сервер не отображает его и не позволяет браузеру загрузить его. Но этого не должно быть, поскольку я могу получить доступ к страницам администратора с других компьютеров с разных IP-адресов.
3) Я проверил, что в .htaccess нет фильтрации по IP. Я не использую программный брандмауэр уровня Joomla.
Короче говоря, что-то заставляет сервер либо разрывать соединение, либо разрешать загрузку файла .php (вместо рендеринга) при доступе с определенного IP-адреса.
Любая идея, шаги по устранению неполадок?
РЕДАКТИРОВАТЬ (ДОПОЛНИТЕЛЬНЫЕ ДЕТАЛИ):
Проблема в основном сводится к следующему: что-то заставляет сервер разрывать соединение при попытке доступа к любой странице *.php напрямую с определенного диапазона IP-адресов. Так,
example.com/administrator
==> работает, но
example.com/administrator/index.php
==> соединение разорвано!
И это происходит только для определенного диапазона IP-адресов (скажем, 203.101..).
Итак, вчера вечером мой администратор веб-сервера сообщил мне одну интересную деталь:
Утром, когда началась моя проблема, было много атак SQL Injection на модуль joomla /component/search, но атаки были заблокированы "
mod_security
". Есть ли возможность "mod_security" каким-то образом блокировать IP-адреса? Или может быть какие-то IDS?