Страница 1 из 1
mod_evasive + nginx
Добавлено: 2008-04-26 0:51:11
SMiX
Установил mod_evasive, прекрасно работает, если обращаться к серверу, минуя nginx(81 порт, отключив файрволл). Через прокс же коннекты не режутся, что, наверное логично(mod_realip стоит, но, видимо, не влияет на evasive). Существует ли какая-нибудь альтернатива ему или решение этой проблемы?
Re: mod_evasive + nginx
Добавлено: 2008-04-26 10:24:19
paix
mod_evasive - как мертвому припарки, проку от него мало.
Резать нужно на уровне фронтенда, чтобы на апач даже не попадали запросы.
Так называемы досы, от которого модевасиве должен оберегать - это просто хосты с агресивным поведением, или просто шлюзы.
Реальный дос положит апач тутже.
PS. у меня подобная конфигируация, сначала (давно) был апач потом появился нжинкс как прокси...но в логах до сих пор сообщения от мод_евасиве
Код: Выделить всё
Apr 25 19:26:04 srv3 mod_dosevasive[61790]: Blacklisting address 93.80.127.213: possible DoS attack.
Apr 25 19:26:04 srv3 mod_dosevasive[64388]: Blacklisting address 93.80.127.213: possible DoS attack.
Apr 25 21:18:44 srv3 mod_dosevasive[72099]: Blacklisting address 91.123.156.192: possible DoS attack.
Apr 25 23:14:44 srv3 mod_dosevasive[81006]: Blacklisting address 193.19.84.16: possible DoS attack.
и это обычный нат.
Re: mod_evasive + nginx
Добавлено: 2008-04-26 11:54:38
SMiX
У меня часто проц нагружают, дося с одного ip. Нагружают на 100%, апач не валится. Если идет распределенная атака/ ситуация та же. Апач за все время атак упал только 1 раз. Баню ипы по логам нжинкса, своим скриптом. Хотелось бы на уровне самого нжинкса ограничивать кол-во соединений на ip...
Re: mod_evasive + nginx
Добавлено: 2008-04-26 12:59:05
paix
SMiX писал(а): Хотелось бы на уровне самого нжинкса ограничивать кол-во соединений на ip...
http://sysoev.ru/nginx/docs/http/ngx_ht ... odule.html
правильнее на уровне фаера
man ipfw /limit
man pf.conf / max-src-nodes
Re: mod_evasive + nginx
Добавлено: 2008-04-26 13:27:32
SMiX
Спасибо, интересное решение.Не подскажете, что я неправильно делаю?
Код: Выделить всё
#ipfw list
00100 allow tcp from any to 11.11.11.11 dst-port 80 limit src-addr 2
00200 allow tcp from 11.11.11.11 to 11.11.11.11 dst-port 81
00300 deny tcp from any to 11.11.11.11 dst-port 81
00400 deny tcp from any to 11.11.11.11 dst-port 80
65535 allow ip from any to any
Пытаюсь для теста ограничить кол-во соединений до 2. Но ничего не режется.
Re: mod_evasive + nginx
Добавлено: 2008-04-26 13:32:35
paix
#$fw add 1000 allow tcp from any to me 80 via $ext_if setup limit src-addr 25
#$fw add 1000 allow tcp from any to me 81 via $ext_if setup limit src-addr 55
Re: mod_evasive + nginx
Добавлено: 2008-04-26 13:44:15
SMiX
Код: Выделить всё
00100 allow tcp from 11.11.11.11 to 11.11.11.11 dst-port 81 #это правило для нжинкса
00200 deny tcp from any to 11.11.11.11 dst-port 81 #на 81 порт запрещено все, кроме самого ипа сервера
01000 allow tcp from any to me dst-port 80 via bge0 setup limit src-addr 2
01000 allow tcp from any to me dst-port 80 via bge1 setup limit src-addr 2
65535 allow ip from any to any
Всеравно ничего не режется. Переменной ext_if нет, интерфейсы указал напрямую.
Re: mod_evasive + nginx
Добавлено: 2008-04-26 16:09:12
SMiX
Извините, все работает, спасибо. Не взял в рассчет, что браузер использует keep-alive соединения.