то что делает барф
REGEX - что искать.
если нужно по коду ответа то
$8 может отличаться, в зависимости от структуры логов.
и т.д
ipset нужен и белый список в нем.
можно вообще еще сократить. на чистом awk
шило на мыло 🍾
зачем нужен barf, этот же функционал реализуется в 1 строку средствами системных утилит.
http идет по tcp, что бы уст. tcp сессию нужно отправить пакет с флагом syn
поэтому http сопроваждается тем же сином, просто у вас внимание сосредоточено на L7 приложении.
когда будет больше трафика там уже вылезут все другие проблемы.
//?True ну это же типично только для 1 ботнета, каждый раз будете новые костыли добавлять
400|403|405|499|503
400 с этим лучше быть аккуратней, то могут быть валидные обращения (заголовки не умещаются) или остаточное от только что забаненых или правило в нетфильтре сработало... и т.д
403 ваш бэкенд может так отвечать валидным пользователям (например нюансы сайта),а вы их банить пытаетесь.
499 тоже нужно быть аккуратнее, это могут быть браузеры, просто клиент закрыл соединение раньше времени.
444 там нету.
ADMINS_IP там 1, а если у вас на сервере кол ip больше чем 1 то вы можете забанить собственные адреса))
это само собой, если не обнулять это нужно быть ....
даже если обнулять то за xxx времени прилетает столько записей то что на парсинг уходит много времени.
ну а если брать только xxx посл. записей то какой тогда вообще смысл...
те же 10к ботов со среднем рейтом 30rps не дадут спокойно парсить, все рухнет. (на обычном 1 сервере)
пустая трата времени, скрипты без реалтайма - не помогут, атака на ваш сервер завершиться с успехом :)
это может навредить больше чем принести пользу (будете отдавать ошибку "полезным ботам"). "вредные" медленные боты - не редкое явление, приведенный вами скрипт разве что от F5
пока вы там лог парсите бэкенд перестанет обслуживать подключения а логи так разрастутся то что все процессорное время уйдет на парсинг.
нужно смотреть, могу пофиксить от 20$.
на вкус и цвет согласен. с FastCGI ушли 2 года назад или 3, уже не помню.
ну и ладно, там оверхед не значительный.
это лучше чем apache/cgi