2013-06-19 12 views
6

Sto pianificando di reindirizzare gli utenti agli URL preselezionati delle risorse sensibili archiviate in S3. Questi vengono generati dopo aver controllato i diritti dell'utente e hanno timeout aggressivi (30 secondi). Tuttavia, la mia preoccupazione è se sia possibile che alcuni malware siano presenti sulla macchina del mio cliente per acquisire l'url e comunque scaricare il file entro il tempo di scadenza dell'URL. O sono semplicemente troppo paranoico?Quanto sono sicuri gli URL presegnati in AWS S3?

Se è già stata data una risposta, per favore indicami in quella direzione. Apprezzo il tuo aiuto.

risposta

2

Ho trovato questo - http://docs.aws.amazon.com/AmazonS3/latest/dev/AuthUsingTempFederationTokenRuby.html e fatto un tentativo. Sembra funzionare. Parafrasando il codice della doc -

# 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) 

Così la politica che abbiamo creato può essere l'indirizzo IP di origine da cui i download di client e/o possono essere le AWS: Campo di riferimento impostato a dominio di mia app. Penso che questo fornisca almeno un livello di ostruzione alla tua risorsa. Ho capito, l'indirizzo IP o il referente possono essere facilmente falsificati. Ma è meglio che non avere alcuna protezione.

4

Chiunque ottenga l'URL prima della scadenza può utilizzarlo per accedere ai dati. S3 sostiene le politiche di secchio che limitano gli indirizzi IP a cui è consentito l'accesso ai dati:

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

Tuttavia, in questo caso siete preoccupati per il malware sul computer client. Quindi non sarebbe d'aiuto. Hai preso in considerazione la crittografia dei dati in modo tale che solo il processo client può decodificarli?

Sei ancora vulnerabile a un cliente incerto/incurante che perde i dati in qualche modo.

+0

Assolutamente, questo non sarebbe di grande aiuto. Grazie comunque per la risposta. –

+0

Le politiche del bucket non funzionano, ma sai in che modo un URL temporaneo può essere incluso nell'URL? thx- –

+0

No. Esiste comunque la possibilità di eseguire il proxy della richiesta e di vendere essenzialmente un URL una tantum? – sethwm

Problemi correlati