Здравствуйте, Митрофанов!
Wednesday, March 29, 2006, 6:10:13 PM, you wrote:
ММВ> Пару дней мои сервера бомбили такими запросами, до 4000 в секунду:
ММВ> 212.220.207.103 - - [24/Mar/2006:13:54:15 +0300] "POST /users/posts/edit/1135161334
HTTP/1.1" 302 5 "http://www.el
ММВ> Что посоветуете для защиты soft\hard?
Работоспособное решение на коленке, может кому пригодится:
Вариант реакции постфактум, когда сигнатуры запросов уже ясны (а
обычно это так и есть)
Забиваем IP-адреса атакующих в таблицу ipfw (добавив соответствующее
запрещающее правило).
Такой скрипт во время атаки можно выполнять раз в минуту или чаще.
#!/bin/sh
ips=`tail -n 1000 /var/log/nginx-attack.log | egrep 'E8E7EEEBFFF2EEF0FB' | awk
'{print $1}' | sort | uniq`
for ip in $ips; do
if ! grep $ip ./blocked >/dev/null; then
echo " ADDING $ip"
ipfw table 1 add $ip
echo $ip >>./blocked
fi
done
Поиск по таблицам в ipfw осуществляется крайне быстро.
Если бы ещё ipfw умел задерживать RST на N секунд... - цены б такому
решению не было бы...