Den73

Den73
Рейтинг
523
Регистрация
26.06.2010
kennius:
С сайтами понятно разберусь а что делать с другими портами типа игровыми(контра), с ftp. ssh?

туннель или сервер с защитой.

панель это не заменитель сисадмина, сама по себе работает вполне нормально, ничего там не слетает.

проще свалить все на панель.

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

тс слился похоже.

предсказуемо)

grisha2217:
Пример можно?:)

то что делает барф


awk '/REGEX/{print $1}' /var/log/nginx/access.log | sort | uniq -c | awk '{if($1 > 10) print "ipset -A ban " $2}' | sh

REGEX - что искать.

если нужно по коду ответа то


awk '{if($8 == '200')print $1}' /var/log/nginx/access.log | sort | uniq -c | awk '{if($1 > 10) print "ipset -A ban " $2}' | sh

$8 может отличаться, в зависимости от структуры логов.

и т.д

ipset нужен и белый список в нем.

можно вообще еще сократить. на чистом awk

шило на мыло 🍾

зачем нужен barf, этот же функционал реализуется в 1 строку средствами системных утилит.

grisha2217:
У меня http флуд

http идет по tcp, что бы уст. tcp сессию нужно отправить пакет с флагом syn

поэтому http сопроваждается тем же сином, просто у вас внимание сосредоточено на L7 приложении.

когда будет больше трафика там уже вылезут все другие проблемы.

grisha2217:
444,505 я сам добавил.


Что оставил:
(405|503|444|505)


444 - получает тот, кто в списке запрещенных стран
505 - получает тот, кто отсылает серверу запросы, содержащие "//?True


Именно эти запросы есть в логах. Nginx успешно отбивает такие запросы. Но апач почему-то загибается.

//?True ну это же типично только для 1 ботнета, каждый раз будете новые костыли добавлять

grisha2217:
Дак скрипт же смотрит тех, кто получит ошибки 505,444 и пр и заблочит их. Что здесь плохого?

400|403|405|499|503

400 с этим лучше быть аккуратней, то могут быть валидные обращения (заголовки не умещаются) или остаточное от только что забаненых или правило в нетфильтре сработало... и т.д

403 ваш бэкенд может так отвечать валидным пользователям (например нюансы сайта),а вы их банить пытаетесь.

499 тоже нужно быть аккуратнее, это могут быть браузеры, просто клиент закрыл соединение раньше времени.

444 там нету.

ADMINS_IP там 1, а если у вас на сервере кол ip больше чем 1 то вы можете забанить собственные адреса))

WapGraf:
А правила фаервола такие селают только одно - при достижении лимита отрубят весь трафик.

---------- Добавлено 23.02.2014 в 13:44 ----------


логи можно обнулять после каждого парсинга.

это само собой, если не обнулять это нужно быть ....

даже если обнулять то за xxx времени прилетает столько записей то что на парсинг уходит много времени.

ну а если брать только xxx посл. записей то какой тогда вообще смысл...

те же 10к ботов со среднем рейтом 30rps не дадут спокойно парсить, все рухнет. (на обычном 1 сервере)

Всего: 7706