Romka_Kharkov

Romka_Kharkov
Рейтинг
485
Регистрация
08.04.2009
Должность
Хостинг
Качественный хостинг

Я исключительно за свой биллинг, простите, но хочется понимать как считается денежка.... Уже не однократно указывали WHMCS (его используем на другом проекте) на бока в подсчетах.... так что имейте ввиду... :) Кстати ТС, не думал что придется, но стоит вам напомнить о поиске по форуму, такая тема только за этот год мелькала дважды... там уже многие высказались ))) мало вероятно, что какие-то мнения поменялись, да и если даже какие-то поменялись, не думаю, что это существенно. :)

Glueon:
Да, не обратил внимания ... Если это убрать или переместить этот кусок - непонятно будет заблокирован ли уже IP или нет. Я так понимаю это сделано именно из этих побуждений :)
Меняем log_dir на root-only доступную директорию и все будет нормально. Не пойдет разве?

Если у вас апач от рута, то пойдет :D Везде конечно по разному, меня пока успокаивает suPHP, стало быть можно "вычленить" виртуалхосты от "nobody", но есть же и установки когда все виртуальные хосты это nobody.... тогда предоставив возможность читать\писать в эту директорию апачу (для модуля) автоматически выдаем эту же возможность всем владельцам vhosts....

---------- Добавлено 27.07.2013 в 18:15 ----------

iHead:
при наличии nginx этот модуль интересен разве что от брутофорсов и то, как описали в комментариях на сайте разработчика, он вызовет ложные срабатывания на пользователей за нат.

Да я в общем-то не стараюсь взять его за эталон, ровно как вы и сказали от мелкой атаки решил поотбиваться, тупо долбят по 2-3 ИП в сутки разные, решил немного автоматизировать, и вот.... ;)))

Видать придется старый добрый fail2ban с цепи спускать ;)

iHead:
кто запрещает создавать файлики не в /tmp? :)

Да, но это уже звучит как решение, а проблема на лицо :D

[ Новый сервер ]

Сегодня запущен новый сервер для виртуального хостинга на базе Intel Core i7. Милости просим на пока что пустой сервер.

Glueon и не выполнится system_command .......

А теперь читаем пост номер 2 .... файл создать может КТО угодно в системе , а mod_evasive в этом случае .... зажует морковку :D

Стало быть в таком положении дел любой локальный юзер может по факту "отключить" блокировку по CMD путем создания файлика в /tmp :)

iHead:
man 2 stat

:)

Да читал, что толку то...

---------- Добавлено 27.07.2013 в 01:39 ----------

Glueon:
Возвращает -1?
Странный код. Если срабатывает else, то все как раз в порядке, потому что если происходит ошибка, например, файла нет, тогда if( stat(...) ) будет true и в тот LOG, что у вас в примере, вы не попадете.
Видимо, если в if-е идет какая-то обработка файла в случае, если он существует, должно быть:

if (stat(filename, &s) > 0) {
......
}

Посмотрите код сами, там совсем не много, функция access_checker()

---------- Добавлено 27.07.2013 в 01:40 ----------

Glueon:
Возвращает -1?
Странный код. Если срабатывает else, то все как раз в порядке, потому что если происходит ошибка, например, файла нет, тогда if( stat(...) ) будет true и в тот LOG, что у вас в примере, вы не попадете.
Видимо, если в if-е идет какая-то обработка файла в случае, если он существует, должно быть:

if (stat(filename, &s) > 0) {
......
}

Тут в том то и дело, что когда файл есть... :) А проверка там судя по всему boolean , когда false / true возвращается, либо возврат в виде 0 считается true.

В общем беда в конструкции:



if (stat(filename, &s)) {
......
}

Дописал к ней


else { LOG(...) }

поехали сообщения с ошибками.... стало быть в случае когда файл уже создан.... stat() не происходит..... или не может происходить, я не особый программист, может кто подскажет как отдебажить еще плотнее? Что бы понять в чем загвоздка, я предположил что дело в правах на файлы /tmp/dos-*, но при 777 - результат тот же.. stat() вроде как указывает на существующий файл , судя по документации функции, но х3 как это трактовать....

ware:
Вряд ли, аванс бывшему клиенту, который он незаконно присвоил себе, он так и не вернул.

Чисто интересно: вы там свечи держали??? :)

Чудо из чудес :D

Исходя из выше сказанного, пришла идея проверки одной логики, которая дала свой результат, в ходе изучения стало ясно, что если файл /tmp/dos-x.x.x.x есть в наличии.... то дело до CMD в общем-то не доходит..... стало быть , достаточно подложить файл с IP откуда будет атака в папочку /tmp и дело в шляпе... как понимаем сложности в этом нет ни у одного из пользователей системы....

Теперь внимание, как проверялось и при каких настройках:

evasive.conf (включенный в апач)


<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSPageInterval 10
DOSSiteCount 15
DOSSiteInterval 3
DOSBlockingPeriod 30
DOSSystemCommand "/usr/bin/sudo /usr/bin/evasive_ban %s"
</IfModule>

В sudo разрешено....

/usr/bin/evasive_ban:


#!/bin/bash
if [ "x$1" = "x" ] ; then
echo "USAGE: $0 IPADDR"
exit
fi
/sbin/iptables -A DENYIN -s $1 -j DROP

Очищаем /tmp/dos-*

Перезапускаем апач....

Запускаем test.pl из поставки модуля, для генерации сотни запросов в сторону 127.0.0.1

В логах получаем:

Jul 26 11:14:55 xeon sudo: nobody : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/evasive_ban 127.0.0.1

Т.е все сработало /tmp/dos-127.0.0.1 появился.

Теперь повторяем то же самое, только с небольшим изменением:

Очищаем /tmp/dos-*

Перезапускаем апач....

Заходим в систему под пользователем 'romka' :) (условно) и проделываем следующее:


touch /tmp/dos-127.0.0.1

после чего запускаем test.pl из той же поставки и...... повторяем команду "perl test.pl" хоть 20 раз, в логе сообщение от sudo мы не получаем, стало быть процедура бана не работает, не смотря на то, что апач все таки в ответ скрипта начинает выдавать 403......

Пойду наверное на код взгляну.... :) А то собрал непонятно что в апач себе :D

Нормальная такая пятница :D

---------- Добавлено 26.07.2013 в 19:19 ----------

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

Предлагаю вариант размещения на Unmanaged Xen VPS в Канаде.

Перенос данных: 20$/разово.

Какие-то панели управления используются или ....?

Всего: 6833