Назад | Перейти на главную страницу

Лучший способ автоматического запрета / ограничения агрессивных клиентов на веб-сервере Linux / Apache на определенный период времени?

Я замечаю периодические всплески нагрузки на мой сервер, и когда я проверяю журналы доступа, я замечаю шаблон для некоего автоматического форума, который пытается повторно получить доступ к URL-адресу комментария / ответа. Как лучше всего сдерживать / запрещать их на несколько минут / часов? Может ли CSF, например, сделать это так? Я действительно ищу быстрое и грязное решение.

Для этого можно использовать Iptables.

Блокировка параллельных подключений:

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit \
     --connlimit-above 20 -j REJECT --reject-with tcp-reset

Блокировка флуда (блокировка более 10 подключений в минуту):

iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent \
   --update --seconds 60 --hitcount 10 -j DROP