Приветствую!
Вчера ко мне пришло много-много траффика на 80 порт с бесполезными
данными в запросе, то есть просто мусор.
Траффика исходящего было дофига и как я понял весь он состоял из ответов
nginx об плохом запросе 400 Bad request.
Я настроил так
log_format fail2ban '$time_local $remote_addr == $request ==
$status == $http_referer == $http_user_agent';
в логи сыпит дофига запросов вида:
12/Jan/2012:14:57:47 +0400 222.253.150.xxx == - == 400 == - == -
12/Jan/2012:14:57:49 +0400 123.24.190.xxx == - == 400 == - == -
12/Jan/2012:14:57:50 +0400 141.250.83.xxx == - == 400 == - == -
12/Jan/2012:14:57:51 +0400 187.59.185.xxx == - == 400 == - == -
С помощью fail2ban добавлял в ipset на блокировку всех с такими
запросами. За часов 10 набежало в ipset:
# ipset list fail2ban-badbot-ips | tail -n +7 | wc -l
6687
Меня терзают смутные сомнения, не блочу ли я легитимных пользователей по
какой-то причине?
P.S. проблема с кучей внезапно появившегося исходящего трафика решилась так.
Знакомо, хотя товарищи прогрессируют... Я обычно считал для каждого
адреса параллельно количество нормальных запросов и банил только когда
плохих запросов становилось больше random(10, 100) и больше чем хороших.
При бане напрямую всех иногда в список паразитов попадали боты.