Progettazione della consegna dei contenuti

0

Sto progettando un sistema in cui gli utenti possono accedere ai file archiviati in un servizio di archiviazione di contenuti esterni come AWS di S3. Ecco un semplice diagramma:

 ------       ------------       -----------------
| User | <=> | Web Server | <=> | Content Storage |
 ------       ------------       -----------------

I file sono memorizzati con un ID (lungo) univoco. Sono preoccupato principalmente di due aspetti: prestazioni e sicurezza delle informazioni.

Ci sono due opzioni che mi vengono in mente ma sono sicuro che può essere fatto in un modo migliore (prestazioni e sicurezza):

  1. Fornire all'utente un url con il quale il file può essere scaricato direttamente dal servizio di archiviazione del contenuto. Contro: l'URL potrebbe essere forzato brutale. Questo potrebbe essere risolto inserendo una password nel file, ma mi piacerebbe usarlo come ultima risorsa.
  2. Il server Web scarica il file dal servizio di archiviazione del contenuto e lo serve all'utente. Contro: troppo traffico.

C'è un modo per effettuare un reindirizzamento HTTP senza esporre l'URL risolto del file? Qualcosa come il proxy dei pacchetti?

Non voglio rendere questa tecnologia specifica (questo è ciò che SO è per), ma nel caso in cui aggiunge qualsiasi valore, sto usando Rails un server di rotaie dietro nginx. Ho il pieno controllo del server web, ma sono limitato al servizio di archiviazione dei contenuti poiché utilizzo S3.

    
posta jlhonora 02.03.2015 - 22:19
fonte

2 risposte

1

L'unico modo che vedo ora è utilizzare autenticazione REST fornita da Amazon

Crea URL in scadenza che possono essere dati a terze parti. Quindi, fondamentalmente l'idea è di accedere all'utente al tuo sito web, controllare le sue autorizzazioni e quindi generare URL da cui scaricare il file.

AWS IAM può anche essere usato per quello, ma questo limita il numero di opzioni, in realtà.

    
risposta data 05.03.2015 - 11:16
fonte
0

Forse l'hai già suggerito con "password al file": combina l'opzione 1 (url per scaricare direttamente) con la crittografia del file, in modo che possa essere decodificata in sicurezza dall'applicazione client solo dai client con il possesso di un segreto chiave. Questo è probabilmente un livello minimo di sicurezza, comunque, se sei preoccupato per la sicurezza. Non sarà di aiuto con gli attacchi denial of service.

    
risposta data 04.03.2015 - 17:23
fonte

Leggi altre domande sui tag