Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Продвинутый анализатор HTTP запросов.
- To: nginx-ru@xxxxxxxxx
- Subject: Продвинутый анализатор HTTP запросов.
- From: "kermit32dll" <nginx-forum@xxxxxxxx>
- Date: Sat, 21 Jul 2012 16:23:27 -0400 (EDT)
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tigger.jlkhosting.com; s=x; h=From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=L0Ci3qCk6BdjAL4YkNuxIG1Gzz+j0/4VpHBGUGQPXkA=; b=Mm/4wd/AS1zBxRr0N/jfHq0PUFKp1JO3WK+W9c7lmVlbRL8/FqJvE3ukO988QeSy85Nco8Qjz0Z5ks7DzZM0SaCdI3R6nIcYkazRA1intCvl1ZsCFeM/wZ2nr/5svGkV;
Доброго времени суток,
Возникла потребность в следующем
функционале:
1) имеется nginx, настроенный как прокси
для бэкэнда на Апаче.
2) принимаем запрос от пользователя, но
не сразу же проксируется на бэкэнд, а
"задерживается", а информация о запросе
скидывается в некий глобальный массив
3) на основании накопленных в массиве
запросов данных, скажем, за последние 5
секунд, постоянно обсчитывается
статистика для каждого IP, приславшего
какие-то запросы
4) если на основании статистики IP
распознаётся как зловредный, то все
запросы с него отбрасываются
(удаляются из массива из пункта "2" и
"забываются"), а сам IP заносится в чёрный
список и банится. А если же адрес
считается хорошим, т.е. за 5 секунд
ничего противозаконного не сделал, то
все накопленные запросы
пробрасываются на бэкэнд, а IP
запоминается как "хорошая".
Грубо говоря, имеется "мусорник", в
который скидываются все входящие
запросы, и если по прошествии 5 секунд
адрес не сделал ничего плохого в стиле
"10 х "GET /" за 2 секунды", то все запросы с
адреса пробрасываются на бэкэнд, а
иначе - удаляются.
Реализуемо ли это в nginx, или же подобная
блокировка запросов в nginx технически
невозможна?
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,228827,228827#msg-228827
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|