еще один вариант, который спасал меня - зачастую у ботнетов старые агенты - их можно перечислить в nginx и отбрывать коннект на них:
map $http_user_agent $forbidden {
default 0;
"Opera/9.02 (Windows NT 5.1; U; ru)" 1;
"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1" 1;
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" 1;
}
... (Location /) ....
if ($forbidden) {
return 444;
}
...
|