image_filter и хацкеры.
Михаил Монашёв
postmaster на softsearch.ru
Сб Мар 31 09:43:25 UTC 2012
Здравствуйте.
Есть проблема с непониманием юзерами происходящего. Если кто-то
вставляет на сайт картинку с внешнего сайта, а вебсервер этого сайта
вдруг начинает вместо картинки выдавать запрос на ввод логина и
пароля, то юзеры вбивают туда свою логины и пароли, отправляя их
нехорошим юзерам.
Проблема решается через
http://nginx.org/ru/docs/http/ngx_http_image_filter_module.html ,
когда все картинки, вместо отдачи напрямую, проксируются с внешнего
сервера и проверяются, что они картинки, а не запрос на авторизацию
или вирусня какая.
Но возникает другая проблема. Хакер может передавать нам урл, по
которому пойдёт вебсервер за картинкой. Это чревато следующим:
1) полученная картинка может быть огромной и libgd не сможет её
переварить;
2) url может вести в нашу внутреннюю подсеть и слать туда левые
запросы не хотелось бы.
3) nginx начинает использоваться, как досилка на хорошем канале. Ведь
достаточно в запрашиваемом урле менять один символ и nginx полезет по
этому урлу. Сценарий такой. Вставляется много картинок с разными
урлами на много страниц и потом на каждую страницу пригонятся по
парочке юзеров. Они все шлют запросы к nginx-у, а тот фигачит их с
нашего ip по жертве. Абузы от правайдеров точно будут приходить после
таких атак. Конечно можно в firewall-е настроить ограничение на
количество запросов к одному ip, но всёравно неприятный момент.
Как избежать описанных проблем или может есть иной способ решения
исходной проблемы с напрошенной авторизацией?
--
С уважением,
Михаил mailto:postmaster at softsearch.ru
Подробная информация о списке рассылки nginx-ru