Я создал php-скрипт, который обычно подсчитывает, сколько раз IP-адрес обращался к нашему сайту более x раз в течение 1 минуты.
Впоследствии я создал сценарий оболочки, который запрещает тем IP-адресам доступ к 80-му порту, количество обращений которых превышает x.
который выглядит следующим образом:
BLOCKDB=/tmp/ip.blocked
IPS=$(grep -Ev "^#" $BLOCKDB)
echo IPS
for i in $IPS
do
/sbin/iptables -A INPUT -p tcp --destination-port 80 -s $i -j DROP
/sbin/service iptables save
/sbin/service iptables restart
echo "Block ALL INPUT from " $i " net DROPPED."
done
Что требуется
Пожалуйста, порекомендуйте.
Обычный ответ fail2ban. Возможно, вам придется немного настроить его, чтобы читать журналы доступа в Интернет.