LINUX.ORG.RU

Блокировка IP по статистике - Какие есть решения?


0

0

В поиске был, и совершенно очевидно, что отбить атаку подходяющу под правило можно snort + flexresp, но как реализовать, то что мне нужно чето не вкурю :( Есть проблема, надо блокировать IP если с него слишком много запросов, например больше 100 в минуту (сервис не важен, может быть любой). Как IDS у меня стоит snort весьма приятная штука, но как ему описать такое правило не нашел... Подскажите плиз какой файрвол и/или IDS может работать с таким правилом? Система у меня linux шапка, файрвол локальный, т.е. защищает, то на чем стоит.


Ответ на: комментарий от ivlad

Хочу защитить сервер с досками (раздаются на халяву, поэтому их там много) от сканирования. Цель сканирования, естественно, сбор емейлов. Скрипт сервера сам защищаться не может, и менять там что-либо тоже нельзя... В общем мысль рубить злые IP на файрволе.

BioByte
() автор топика

man iptables->limit :)

anonymous
()

Поковырялся с модулем limit у iptables, однако это совсем не то. Мне необходимо блокировать злой IP совсем, а не ограничивать число пакетов для интерфейса. Т.е. раз попался и допустим час нет доступа к серверу или хотябы блокировать пожизненно (до снятия в ручную).

BioByte
() автор топика

У меня все светлые идеи закончились :( Спасайте... Кстати, посмотрел PortSentry, но это только защита от сканирования портов, да и похоже этот проект "приказал долго жить". На Psionic нет никакой инфы да и в других местах не густо.

BioByte
() автор топика
Ответ на: комментарий от BioByte

> У меня все светлые идеи закончились

на 100 запросах в минуту можно парсить логи апача запросто. По результатам парсенья - отстрельвать.

ivlad ★★★★★
()

> на 100 запросах в минуту можно парсить логи апача запросто. В среднем запросов гораздо больше 100 в минуту. Дело в том, что отстреливать надо тех умников, которые сгенерили больше 100 запросов с одного IP за минуту. Хотя светлая мысль в этом есть, 100 метров логов в день это не такая уж и большая проблема для лог парсера... Кстати, можно еще попробовать на web сервере считать запросы и в случае привышения лимита выдывать в заголовок X-строчку, которую ловить snort-ом и передавать flexresp-у чтобы разобрался. Но как то это все муторно выглядит, и денег на то что это сработает я бы не поставил (нарушение правила ведь будет от сервера исходить). P.S. Вот ведь... проблема вроде и не проблема вовсе, а дело запоем пахнет, надо спасать человека 8-)

BioByte
() автор топика

я бы сделал так: ограничить кол-во соединений для каждого ip, предварительно отключив в апаче keep-alive. для этого есть mod_limitipconn в гугле поищи короче :)

Rost ★★★★★
()
Ответ на: комментарий от Rost

Я немного по другому сделал, дописал cgi кусок который логит IP в таблицу + скрипт, запускаемый каждую минуту по крону, чистит эту таблицу попутно выясняя был ли в период (NOW(), NOW() - 1 min) злой IP если был, то зовет iptables на помощь :) Грубо говоря отстреливает обходя доверенные адреса из списка (чтобы себя не отстрелить случайно).

BioByte
() автор топика

Лучше читай лимит. Там можно это сделать. Например, разрешить 100 пакетов в год :) Задел тебя - ждёт год пока новая сотня не набежит.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.