Welcome! Log In Create A New Profile

Advanced

Продвинутый анализатор HTTP запросов.

July 21, 2012 04:23PM
Доброго времени суток,

Возникла потребность в следующем функционале:

1) имеется nginx, настроенный как прокси для бэкэнда на Апаче.
2) принимаем запрос от пользователя, но не сразу же проксируется на бэкэнд, а "задерживается", а информация о запросе скидывается в некий глобальный массив
3) на основании накопленных в массиве запросов данных, скажем, за последние 5 секунд, постоянно обсчитывается статистика для каждого IP, приславшего какие-то запросы
4) если на основании статистики IP распознаётся как зловредный, то все запросы с него отбрасываются (удаляются из массива из пункта "2" и "забываются"), а сам IP заносится в чёрный список и банится. А если же адрес считается хорошим, т.е. за 5 секунд ничего противозаконного не сделал, то все накопленные запросы пробрасываются на бэкэнд, а IP запоминается как "хорошая".

Грубо говоря, имеется "мусорник", в который скидываются все входящие запросы, и если по прошествии 5 секунд адрес не сделал ничего плохого в стиле "10 х "GET /" за 2 секунды", то все запросы с адреса пробрасываются на бэкэнд, а иначе - удаляются.

Реализуемо ли это в nginx, или же подобная блокировка запросов в nginx технически невозможна?
Subject Author Posted

Продвинутый анализатор HTTP запросов.

kermit32dll July 21, 2012 04:23PM

Re: Продвинутый анализатор HTTP запросов.

Alexandr Gomoliako July 21, 2012 04:34PM

Re: Продвинутый анализатор HTTP запросов.

kermit32dll July 22, 2012 08:07AM

Re: Продвинутый анализатор HTTP запросов.

Alex Vorona July 22, 2012 09:42AM

Re: Продвинутый анализатор HTTP запросов.

kermit32dll July 22, 2012 10:11AM

Re: Продвинутый анализатор HTTP запросов.

kermit32dll July 23, 2012 07:58AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 112
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready