Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: image_filter и хацкеры.
On Sat, Mar 31, 2012 at 01:43:25PM +0400, Михаил Монашёв wrote:
> Здравствуйте.
>
> Есть проблема с непониманием юзерами происходящего. Если кто-то
> вставляет на сайт картинку с внешнего сайта, а вебсервер этого сайта
> вдруг начинает вместо картинки выдавать запрос на ввод логина и
> пароля, то юзеры вбивают туда свою логины и пароли, отправляя их
> нехорошим юзерам.
>
> Проблема решается через
> http://nginx.org/ru/docs/http/ngx_http_image_filter_module.html ,
> когда все картинки, вместо отдачи напрямую, проксируются с внешнего
> сервера и проверяются, что они картинки, а не запрос на авторизацию
> или вирусня какая.
>
> Но возникает другая проблема. Хакер может передавать нам урл, по
> которому пойдёт вебсервер за картинкой. Это чревато следующим:
>
> 1) полученная картинка может быть огромной и libgd не сможет её
> переварить;
>
> 2) url может вести в нашу внутреннюю подсеть и слать туда левые
> запросы не хотелось бы.
>
> 3) nginx начинает использоваться, как досилка на хорошем канале. Ведь
> достаточно в запрашиваемом урле менять один символ и nginx полезет по
> этому урлу. Сценарий такой. Вставляется много картинок с разными
> урлами на много страниц и потом на каждую страницу пригонятся по
> парочке юзеров. Они все шлют запросы к nginx-у, а тот фигачит их с
> нашего ip по жертве. Абузы от правайдеров точно будут приходить после
> таких атак. Конечно можно в firewall-е настроить ограничение на
> количество запросов к одному ip, но всёравно неприятный момент.
>
> Как избежать описанных проблем или может есть иной способ решения
> исходной проблемы с напрошенной авторизацией?
В Политбюро, как известно, не дураки не сидят, поэтому в Рамблере при
произвольном проксировании картинок image-фильтр использовался совместно с
http://nginx.org/ru/docs/http/ngx_http_secure_link_module.html
--
Igor Sysoev
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|