23 сентября 2009 г.

NGINX блокировка по User Agent

Повадились ко мне на сервер ходить плохие боты и сканировать на наличие уязвимых скриптов. Эти боты имеют оригинальные User Agent, вот и решил им прикрыть дверцу с помощью NGINX. Собственно в логах это выглядит так ... 193.205.231.11 - - [22/Sep/2009:07:20:36 +0300] "GET ///scripts/setup.php HTTP/1.1" 404 5 "-" "Plesk" .... 92.241.168.67 - - [22/Sep/2009:15:50:17 +0300] "GET /roundcube//bin/msgimport HTTP/1.1" 404 5558 "-" "Toata dragostea mea pentru diavola" ... Блокировать по IP не имеет смысла так как он постоянно разный. Дли блокировки ботов с User Agent "Plesk" и "Toata dragostea mea pentru diavola" отредактируем конфиг NGINX'а
sudo vi /etc/nginx/default
добавим следующий код в секцию server {}
if ($http_user_agent ~ "Toata dragostea") {
    return 403;
}

if ($http_user_agent ~ "Plesk") {
    return 403;
}
Чтобы изменения вступили в силу - необходимо перезапустить NGINX
sudo /etc/init.d/nginx restart

Комментариев нет:

Отправить комментарий