Я обнаружил, что при загрузке большого количества небольших файлов на S3 возникают значительные накладные расходы. Часть этих накладных расходов исходит от самого SSL.
Насколько безопасно разговаривать с S3 без SSL при работе в EC2?
Вот некоторые пояснения из замечательных комментариев ниже: это НЕ вопрос о HTTPS по сравнению с HTTP или о конфиденциальности моих данных. Я пытаюсь понять особенности сети и протокола EC2 и S3. Например
Будем признательны за отзывы людей, имеющих некоторый опыт работы с AWS.
Гарантированно ли мы проходим только через сеть AWS при обмене данными от EC2 к S3?
В пределах одного региона (в том числе между зонами доступности) - да. Между регионами нет.
Могут ли другие пользователи AWS (кроме персонала) прослушивать мои сообщения между EC2 и S3
Нет (за исключением какой-то дыры в безопасности).
Аутентификация на их api выполняется при каждом вызове, и, таким образом, учетные данные передаются при каждом вызове? Или есть какая-то аутентифицированная сессия. Я использую jets3t lib.
Каждый звонок аутентифицируется отдельно.
Это так же безопасно, как и все остальное по HTTP вместо HTTPS. Вы бы сделали банк через HTTP? Нет. Но вы бы скачать порно через HTTP? Наверное.
Все зависит от вашего случая использования, но я собираюсь пойти по прихоти и сказать «Да». За исключением случаев, когда ответ - «Нет».
При втором чтении вашего вопроса, я думаю, вы в основном спрашиваете: «Уменьшена ли поверхность атаки из-за того, что я перехожу с EC2 на S3 напрямую»; то есть потому, что они находятся между двумя сервисами, которые находятся в сети Amazon.
Я не использую AWS на регулярной основе, но мне запомнилось следующее: если он проходит только через внутренние сети Amazon (в тех же зонах доступности), с вас не взимается плата за трафик, но если он проходит через их вход / egress тогда вы платите за это. Так что, если вы не платите за трафик AWS> S3, то да, ваша поверхность атаки уменьшенный потому что он проходит только через одну сеть, а не через сети, принадлежащие третьей стороне, но это не оправдание, чтобы не использовать HTTPS там, где он должен использоваться.