Мой веб-сервер заполняется неверными запросами

Мой веб-сервер (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 не будет действительно громоздким и будет работать намного медленнее с сотнями таких запросов в секунду.

Другие вопросы по тегам