Мой веб-сервер заполняется неверными запросами
Мой веб-сервер (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? Странно, что они пытаются посетить сайты, которые я даже не размещаю. Я думал, что это будет полезно запретить их, но я не уверен, как я это сделаю.
3 ответа
Это пример хорошо известного эксплойта. Некоторые версии 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 не будет действительно громоздким и будет работать намного медленнее с сотнями таких запросов в секунду.