2015-11-12 2 views
0

Я обсуждаю, следует ли использовать S3 в качестве хранилища CDN. Первый шаг - позволить ведро иметь доступ для чтения всем, что я сделал с политикой, и работает нормально. Я ожидаю, что ведро будет содержать медиафайлы: jpg, png, gif, mp4.Эксплуатация на открытом ведомости S3 с открытым доступом

Теперь я разрешаю WRITE доступ к серверу Django, который пишет S3, используя django-storage. Таким образом, вопрос заключается в следующем:

Каковы возможные взрывы с этой настройкой?

Я наткнулся на это blog, в котором упоминается, что доступ READ к публике обескуражен, и заставило меня задаться вопросом, что думает сообщество.

+1

Просто обратите внимание, что S3 действительно не является CDN, а просто файловым хранилищем. Если вы заботитесь о производительности и безопасности, я бы поставил перед ним CDN, например CloudFront или CloudFlare или MaxCDN. –

+0

Я полностью согласен с вами. – Clocker

ответ

0

Причина, по которой в блоге не предлагается публикация. Доступ для чтения заключается в том, что злоумышленник может list всех объектов в вашем ковше. Я думаю, что это актуальная проблема безопасности: на ведре с общедоступным доступом для чтения я должен иметь возможность получать контент для данного ключа S3, но не должен позволять просматривать все объекты, которые он содержит.

Этот блог был написан в 2012 году. Я не знаю, поддерживала ли S3 политику bucket тогда. Сегодня вы можете легко справиться с этой ситуацией, указав политику ведра на Allow ВСЕ на GetObject, но Deny ALL на ListObjects.

На стороне примечания, вы рассматривали использование AWS CloudFront для работы в качестве CDN? Кажется, это лучше подходит для вашего варианта использования, а не для S3.

Смежные вопросы