Il personale che gestisce i datacenter AWS accede alle mie istanze ec2 e monitora i dati in uso nella mia applicazione?

6

Sto costruendo un'app Express (NodeJS) e programma di ospitare con AWS ec2. Voglio proteggere il più possibile i dati dei miei utenti e sto prendendo in considerazione anche scenari anomali. E così la domanda è nata:

Le istanze di ec2 sono gestite fisicamente in alcuni datacenter di Amazon e ovviamente c'è personale che gestisce le strutture che hanno accesso fisico a tali macchine. Possono accedere teoricamente alle applicazioni che risiedono su quei server e visualizzare / monitorare / sottrarre dati sensibili attualmente in uso nell'applicazione?

Questo dovrebbe essere un problema? In tal caso, cosa possiamo fare come sviluppatori per mitigare questo?

    
posta ryd3r 31.12.2015 - 04:09
fonte

1 risposta

8

Sì, possono teoricamente accedere o monitorare i dati.

No, questo non dovrebbe essere un problema. I loro incentivi (organizzativi e individuali) per fornire un servizio stabile e sicuro sono certamente maggiori dei loro incentivi a rubare i dati dell'applicazione, su tutti i milioni di macchine virtuali e applicazioni per cui gestiscono l'infrastruttura.

Come sviluppatore, c'è molto poco che puoi fare per mitigarlo, al di fuori del non hosting con Amazon. O qualsiasi altro cloud o provider di servizi gestiti. O impianto di collocazione, se è per questo.

In definitiva, qualsiasi infrastruttura fuori dal tuo controllo è, beh, fuori dal tuo controllo. Questo non dovrebbe tenerti sveglio la sera però. È come passare il tempo a preoccuparsi di essere rapiti dagli alieni. Mentre il rischio è teoricamente possibile, otterresti più valore per il tuo tempo concentrandoti su uno qualsiasi dei rischi più banali e realistici che la tua applicazione rischierebbe di cadere, come uno qualsiasi dei OWASP Top 10 .

Passi puoi (e dovresti) prendere :

Quindi, ci sono dei passaggi che tu come sviluppatore di applicazioni puoi intraprendere per proteggere i tuoi dati nonostante queste realtà? Certo, ci sono molte cose che puoi fare.

Il più semplice (e probabilmente ovvio) è non raccogliere o conservare i dati di cui non hai assolutamente bisogno e eliminare i dati che tieni non appena possibile. Meno dati significano meno da perdere in un attacco.

Secondo, proteggere i dati utilizzati dall'applicazione. Inizia proteggendolo in transito. Utilizzare HTTPS / TLS per le comunicazioni tra l'applicazione e gli utenti. Questo è un modo efficace ed economico per proteggerlo da chiunque abbia accesso alla rete del data center per sniffare il traffico sul filo. Proteggilo anche a riposo. Se si dispone di password utente, proteggerle con un algoritmo hash lento come bcrypt. In questo modo, anche se i dati sono accessibili, non può essere facilmente abusato. Per altri dati sensibili è possibile consultare la crittografia e oggigiorno i principali fornitori di servizi cloud (tra cui Amazon AWS e Microsoft Azure) offrono HSM basati su cloud per proteggere le chiavi di crittografia. Anche se non è infallibile, garantisce almeno che qualcuno che accede alle macchine virtuali o alle immagini del disco non acquisisca anche le chiavi di crittografia.

Per riassumere, ci sono sempre dei passi che puoi fare per rendere più sicura la tua applicazione e i tuoi dati, anche quando non controlli l'infrastruttura. Si riduce comunque a comprendere le esigenze applicative e aziendali, le realtà di come e dove viene eseguito, e quindi la minaccia modellandola correttamente per il suo scopo e ambiente e attenuando in modo appropriato. Da lì, seguendo standard di progettazione sicura, sviluppo e pratiche operative contribuirà a garantire che l'applicazione e i dati siano il più sicuri possibile.

    
risposta data 31.12.2015 - 04:20
fonte

Leggi altre domande sui tag