Модуль path2ban чем можно заменить?

Главные вкладки

Аватар пользователя Игорек Игорек 13 февраля 2017 в 20:31

Наткнулся на модуль path2ban. Он дает возможность заблокировать по IP, если данный IP несколько раз безуспешно пытается загрузить одну и ту же страницу. Можно указать и запретить определенный путь для незарегистрированного пользователя и автоматически его забанить/разбанить. В принципе, модуль хорошо справляется с блокировкой ботов, снижая нагрузку на процессор.
Но пришлось от него отказаться, т.к. при нем перестали работать некоторые блоки ( напр, был установлен блок авторизации на конкретной странице(node/add*), при включенном модуле он не отображался. Блок отображался только если сделать его видимым на всех страницах ( а не на add*), либо отключив модуль.
Есть ли похожие по функционалу модули? flood_control - похож, но там только блокировка если бот несколько раз пытается зарегистрироваться, а мне надо указать определенный путь либо страницу (напр, бот пытается 5 раз за минуту добавить ноду, модуль его автоматически блокирует (что и делает path2ban).

Комментарии

Аватар пользователя Игорек Игорек 16 февраля 2017 в 17:59

Спасибо за ответ, пробую Ваш модуль. IP блокируется на постоянной основе? Просто в path2ban есть возможность автоматической разблокировки по времени (удобно когда реальный человек просто по своей неосторожности заблокирован). И что означает Cron enable в настройках? Т.е. IP блокируется при наступлении Cron? А если галочка убрана, то сразу блокируется?

Аватар пользователя Игорек Игорек 16 февраля 2017 в 18:20

Пишу вдогонку. Ваш модуль только анализирует и записывает сколько раз и кто зашел на запрещенную правилами страницу? Т.е. блокировать приходится все-равно в ручную через тест? По крайней мере у меня автоматом не блокируется, просто в тесте отображается кто и сколько раз нарушил установленное правило и оттуда же могу вручную заблокировать

Аватар пользователя goodboy goodboy 18 февраля 2017 в 0:12

- Блокируется на постоянной основе. Точнее, идет запись в таблицу блокировки (в стандартный по одному IP или в период если используется модуль IP_range), Я пишу в чужие таблицы, сам не блокирую. Разблокировка - не знаю, накладно ее делать, если больше одной таблицы. И они независимые же, может быть двойной бан.
- Cron enable - это значит блокировка идет по крону (по умолчанию). Но если не нужен автоматический бан, то можно снять и тогда возможна только ручная блокировка. В основном чекбокс должен быть включен.
- Блокировать можно автоматом (кроном, согласно правил) или же вручную:

  • в закладке Ban all по нажатию на кнопку
  • в режиме Test (для строки или для всего списка)
  • в журнале, на странице списка событий (нужно включить субмодуль)
  • в журнале, на странице события (нужно включить субмодуль)

- Насчет блокировать сразу, думаю. Стандартно модуль лениво блокирует, набирается статистика нарушений между запусками крона и блокирует нарушителей. Можно сразу - поступила запись в журнал и мигом проверка, но с точки зрения производительности каково будет. Для какого-то сумасшедшего наплыва ботов разве что, временно включать.

Аватар пользователя Игорек Игорек 21 февраля 2017 в 16:10

Блоки не отображались из-за того, что path2ban модуль после установки создавал пути path2ban/403 и path2ban/404 в настройках /admin/config/system/site-information.
Нужно добавить в настройках блока показывать на странице path2ban/403, тогда блоки отображаются правильно.