Che tipo di sicurezza è necessaria per la semplice API REST su Amazon AWS

0

Sto immaginando una semplice API REST per la mia app che funziona essenzialmente come server proxy per alcune API dell'organizzazione. Pertanto, nessuna informazione sensibile viene archiviata o disponibile tramite la mia API.

Criticamente, le informazioni devono essere costantemente disponibili e accurate. Non ha bisogno di essere mantenuto riservato, in quanto si tratta di informazioni pubbliche.

Amazon AWS è relativamente economico per l'hosting privato, ma temo di non affrontare i problemi di sicurezza perché non so quali sarebbero effettivamente tali preoccupazioni.

Per sicurezza, intendo qualsiasi cosa che ha a che fare con la protezione del mio server: una specie di firewall, password complessa (ovviamente), autenticazione a 2 fattori ... Non so cos'altro .

Ci sono problemi di sicurezza che dovrei affrontare per questa semplice API REST senza dati sensibili su AWS?

    
posta IHaveAQuestion 19.09.2017 - 23:50
fonte

2 risposte

2

Come i principi di sicurezza più basilari, devi considerare la triade della CIA: Riservatezza, integrità, disponibilità.

Dite che le informazioni ospitate sul sito sono informazioni pubbliche, quindi la riservatezza per la vostra azienda non è una priorità. Tuttavia, è necessario considerare anche che la percezione della riservatezza da parte dell'utente potrebbe non essere necessariamente uguale alla percezione di riservatezza della propria azienda. Anche se sono informazioni pubbliche, molte persone non vogliono che le loro abitudini di navigazione siano tracciate per vari motivi, molte persone cercano informazioni pubblicamente disponibili su questioni mediche che potrebbero considerare imbarazzanti, forse un LGBT ancora nell'armadio non vuole che nessuno sanno che stanno navigando su determinati siti che potrebbero far desistere altre persone, forse un marito vuole nascondere le sue ricerche per una ricerca di un piano di vacanza a sorpresa da sua moglie. Le buone pratiche moderne di solito ritengono che sia troppo difficile da valutare correttamente, dal momento che non è sempre possibile indovinare i motivi degli utenti, quindi finire con la crittografia di tutto con HTTPS.

Che ne dici di Integrità? Quanto è importante che il pubblico sappia che questi dati sono pubblicati da te e non sono stati alterati da altre entità? Se l'integrità è un po 'importante, allora dovresti considerare l'utilizzo di HTTPS e possibilmente anche pubblicare la firma crittografica dei dati che hai pubblicato. Quanto è importante che l'utente sappia che i dati sono aggiornati? Potresti voler aggiungere un timestamp firmato della data di pubblicazione dei dati, per garantire che gli utenti possano stabilire se stanno impostando dati obsoleti (attacco di riproduzione), in circostanze sinuose, potresti persino voler autenticare il timestamp pubblicando l'hash dei dati in , per esempio, la blockchain di Bitcoin.

Hai suggerito che la disponibilità è importante. I rischi di disponibilità che è necessario considerare sono che l'attaccante esegua un attacco DDOS per sopraffare il sito o che l'utente malintenzionato attivi i blocchi degli account utilizzando password errate. Per la disponibilità di base, si desidera implementare firewall, sistemi di monitoraggio e di avviso, si vorrebbe garantire agli utenti legittimi un modo per reimpostare il blocco degli account che l'utente malintenzionato non è in grado di eseguire. Quanto è importante che i dati siano disponibili in caso di censure deliberate come ad esempio Great Firewall of China? A seconda del livello di disponibilità che hai scelto come target, potresti prendere in considerazione l'utilizzo di una rete di mirror, CDN, Tor o Freenet per distribuire i dati.

    
risposta data 20.09.2017 - 06:22
fonte
0

Sto indovinando dalla tua domanda che hai un'API con requisiti di elevata disponibilità e integrità dei dati. Dal punto di vista dell'infrastruttura, hai trasferito il problema della disponibilità ad Amazon. Il nostro obiettivo principale ora diventa l'integrità dei dati per cui è necessario considerare i seguenti scenari:

  1. Come / da dove vengono generati i dati e popolati nel sistema. La tua API fornisce anche la possibilità di apportare modifiche ai dati? In caso contrario, quali sono gli altri punti di ingresso nel sistema?
  2. Nessun rischio può essere valutato senza contesto. È necessario sapere chi utilizza i dati e cosa può andare storto se i dati vengono modificati in modi non previsti. Ciò ti consentirebbe di valutare l'impatto di un potenziale problema di sicurezza e di esaminare potenziali minacce.
  3. Hai già detto che i dati provengono da una fonte diversa, ma devi assicurarti che tutti i software / librerie usati nell'istanza di AWS siano privi di vulnerabilità.
risposta data 20.09.2017 - 13:33
fonte

Leggi altre domande sui tag