2013-06-19 1 views
6

Я планирую перенаправить пользователей на назначенные URL-адреса важных ресурсов, хранящихся в S3. Они генерируются после проверки прав пользователя и имеют агрессивные таймауты (30 секунд). Мое беспокойство, однако, заключается в том, возможно ли какое-либо вредоносное ПО, присутствующее на машине моего клиента, для захвата URL-адреса и загрузки файла в течение срока действия URL-адреса. Или я просто слишком параноик?Насколько безопасны назначенные URL-адреса в AWS S3?

Если это было ранее, ответьте мне в этом направлении. Ценю вашу помощь.

ответ

2

Я нашел это - http://docs.aws.amazon.com/AmazonS3/latest/dev/AuthUsingTempFederationTokenRuby.html и дал ему попробовать. Кажется, это работает. Перефразируя код из дока -

# Start a session with restricted permissions. 
sts = AWS::STS.new() 
policy = AWS::STS::Policy.new 
policy.allow(
    :actions => ["s3:ListBucket"], 
    :resources => "arn:aws:s3:::#{bucket_name}" 
).condition.add(:like, :referer, "domain.com") 

session = sts.new_federated_session(
    'User1', 
    :policy => policy, 
    :duration => 2*60*60) 

Таким образом, политика, которую мы создаем может иметь БЕРУЩИЕ IP-адрес, с которого загружает клиент и/или могут быть АМС: Referer поле установлено в области моего приложения. Я думаю, что это обеспечивает по крайней мере один уровень препятствий для вашего ресурса. Я получаю это, IP-адрес или референт можно легко подделать. Но это лучше, чем вообще не иметь никакой защиты.

4

Любой, кто получает URL до истечения срока действия, может использовать его для доступа к данным. S3 поддерживает ковшеобразные политики, которые ограничивают IP-адреса, которым разрешен доступ к данным:

http://docs.aws.amazon.com/AmazonS3/latest/dev/AccessPolicyLanguage_UseCases_s3_a.html

Однако в этом случае вы беспокоитесь о вредоносных программах на клиентском компьютере. Так что это не помогло бы. Вы считали, что шифрование данных так, что только клиентский процесс может расшифровать его?

Вы по-прежнему уязвимы для небезопасного/небрежного клиента, который каким-то образом утечка данных.

+0

Абсолютно, это действительно не поможет. Спасибо за ответ в любом случае. –

+0

Политики bucket не работают, но знаете ли вы, каким образом временный acl может быть включен в URL? thx- –

+0

Нет. В любом случае вы можете проксировать запрос и продавать по существу одноразовый URL-адрес? – sethwm

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