Re: image_filter и хацкеры.

Anton Yuzhaninov citrin на citrin.ru
Сб Мар 31 19:24:51 UTC 2012


31.03.2012 13:43, Михаил Монашёв написал:
> Есть  проблема  с  непониманием  юзерами  происходящего.  Если  кто-то
> вставляет  на  сайт картинку с внешнего сайта, а вебсервер этого сайта
> вдруг  начинает  вместо  картинки  выдавать  запрос  на  ввод логина и
> пароля,  то  юзеры  вбивают  туда  свою  логины и пароли, отправляя их
> нехорошим юзерам.
>
> Проблема решается через
> http://nginx.org/ru/docs/http/ngx_http_image_filter_module.html ,
> когда  все  картинки,  вместо отдачи напрямую, проксируются с внешнего
> сервера  и  проверяются,  что они картинки, а не запрос на авторизацию
> или вирусня какая.
>
> Но  возникает  другая  проблема.  Хакер  может  передавать нам урл, по
> которому пойдёт вебсервер за картинкой. Это чревато следующим:
>
> 1) полученная  картинка  может  быть  огромной  и  libgd  не сможет её
> переварить;

http://nginx.org/ru/docs/http/ngx_http_image_filter_module.html#image_filter_buffer

При превышении размера сервер вернёт ошибку 415 (Unsupported Media Type).

>
> 2)  url  может  вести  в  нашу  внутреннюю  подсеть и слать туда левые
> запросы не хотелось бы.

Запрети nginx-ку проксирующему картинки ходить во внутреннюю сеть. 
Например с помощью файрвола.
Ну и плюс секретные данные даже во внутренней сети должны требовать 
авторизации.

>
> 3)  nginx начинает использоваться, как досилка на хорошем канале. Ведь
> достаточно  в запрашиваемом урле менять один символ и nginx полезет по
> этому  урлу.  Сценарий  такой.  Вставляется  много  картинок с разными
> урлами  на  много  страниц  и  потом  на каждую страницу пригонятся по
> парочке  юзеров.  Они  все  шлют запросы к nginx-у, а тот фигачит их с
> нашего  ip по жертве.

Смысла нет - DoSить с кучи пользовательских IP эффективнее, чем с одного 
ip твоего сервера. IMHO проблема достаточно надуманная.



Подробная информация о списке рассылки nginx-ru