Мой веб-сервер (nginx) продолжает получать такие запросы:
23.244.104.206 - - [15/Jun/2014:21:21:47 -0400] "GET http://ib.adnxs.com/ttj?id=2947236&size=300x250&cb={CACHEBUSTER}&referrer={REFERRER_URL}&pubclick={INSERT_CLICK_TAG} HTTP/1.0" 200 612 "http://www.businessfull.net/?p=8167" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; de-de) AppleWebKit/534.15+ (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4"
216.244.65.21 - - [15/Jun/2014:21:21:47 -0400] "GET http://ib.adnxs.com/ttj?id=2583052&referrer=http%3A%2F%2Fwww.excitingflashgames.com%2Fgame%2Frun_chicken_run.html&cb=78488 HTTP/1.0" 200 612 "http://www.excitingflashgames.com/game/run_chicken_run.html" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.2 (KHTML, like Gecko) Ubuntu/11.04 Chromium/15.0.871.0 Chrome/15.0.871.0 Safari/535.2"
Таких запросов множество, и они заставляют мой http-сервер работать намного медленнее. Есть ли способ заблокировать это с помощью iptables? Странно то, что они пытаются посещать сайты, которые я даже не размещаю. Я думал, что это будет полезно для их запрета, но я не уверен, как бы это сделать.
Это пример хорошо известного эксплойта злоупотребления прокси. Некоторые версии Apache (с установленным прокси-модулем) часто остаются неправильно настроенными или незащищенными и позволяют кому-либо направлять запрос через ваш веб-сервер, фактически превращая его в невольный и незаконный прокси-сервер (который можно использовать при неприятном приступе).
Хотя tomtom рекомендует переложить вашу безопасность на CloudFlare, решение довольно простое и должно быть реализовано как часть любого базового аудита безопасности (даже для самых простых веб-сайтов).
Основываясь на ответе Винисиуса Феррао; После установки Fail2Ban вам нужно будет настроить фильтр (в debian / ubuntu создайте файл /etc/fail2ban/filter.d/nginx-proxy.conf
).
В этом файле введите следующее:
# Block IPs trying to use server as proxy.
#
# Matches e.g.
# 192.168.1.1 - - "GET http://www.something.com/
#
[Definition]
failregex = ^<HOST> -.*GET http.*
ignoreregex =
а затем создайте этот блок внутри файла конфигурации fail2ban (обычно в /etc/fail2ban/jail.conf
):
## block hosts trying to abuse our server as a forward proxy
[nginx-proxy]
enabled = true
port = 80,443
filter = nginx-proxy
logpath = /path/to/websites/access.log.file
maxretry = 2
bantime = 86400
(заменяя logpath =
с путем к журналу доступа вашего сайта)
Это будет использовать режим блокировки по умолчанию, чтобы заблокировать хосты, пытающиеся использовать ваш сайт в качестве прокси-сервера.
После этого я бы подумал о том, чтобы проверить вашу конфигурацию nginx и использовать элементы управления, чтобы никто не отправлял эти запросы на ваш сервер (если не с определенного IP-адреса).
Надеюсь это поможет!
Этого не должно быть, но если вы постоянно получаете много запросов из одного и того же источника и это вызывает отказ в обслуживании (DoS) на вашем сервере, вам следует подумать об использовании чего-то вроде fail2ban
для временного запрета доступа оскорбительных клиентов к вашему серверу.
В любом случае рекомендуется избегать атак грубой силы, например, если у вас нет какого-либо устройства безопасности до вашего конечного пункта назначения (вашего сервера).
Вы можете получить больше информации о fail2ban
на его сайте: http://www.fail2ban.org и есть несколько советов по настройке fail2ban
с участием nginx
здесь: http://www.fail2ban.org/wiki/index.php/NginX
Добро пожаловать в Интернет. Там, где боты в изобилии, пытаются найти эксплойты на каждом подключенном сервере.
Живи с этим. Вы ничего не можете сделать разумно.
Таких запросов очень много, и из-за них мой сервер работает намного медленнее.
Вы запускаете свой сервер на оборудовании 50-летней давности =? потому что даже самый маленький VPS не будет набухать и работать намного медленнее с сотнями таких запросов в секунду.