I rischi di proteggere l'API REST usando SSL?

4

Stiamo pensando di creare un'API REST in cui tutte le chiamate siano su SSL. Dopo aver effettuato correttamente l'accesso, le chiamate successive includeranno un token che è stato restituito dal servizio di accesso. Il server convaliderà che il token è legittimo e valido. Questo è considerato un metodo valido per proteggere un'API? Quali sono i rischi qui?

    
posta Marcus Leon 11.02.2016 - 03:52
fonte

3 risposte

2

Ciò presuppone che molti altri componenti del sistema siano sicuri. Allo stesso modo non protegge l'API dall'attacco diretto di un attore cattivo che può registrarsi per un account (potrebbe essere o non essere un problema per te). È inoltre sempre consigliabile avere una protezione in banda per le connessioni a qualsiasi servizio. Magari guarda qualcosa come un Web Application Firewall (WAF) o qualcosa come mod_security per aggiungere controlli aggiuntivi. Alcune dipendono dalla sicurezza delle cose ma ci sono molti controlli di sicurezza aggiuntivi a seconda dell'applicazione.

Per ulteriori informazioni su REST, consulta il Cheat Sheet sulla sicurezza OWASP REST e non dimenticarti di rafforzare i server e proteggere anche la tua rete.

link

    
risposta data 11.02.2016 - 09:33
fonte
0

Ho lavorato con i servizi web REST che hanno questo stesso schema di sicurezza. Questo è un buon modo per proteggere i tuoi servizi web secondo me. L'unico rischio che vorrei sottolineare è di essere cauti sulla quantità di informazioni che si registrano quando si invocano i servizi Web. Nello specifico, fai attenzione che le credenziali dell'utente non vengano memorizzate in qualche registro quando gli utenti invocano il servizio web di autenticazione per ricevere i token. Inoltre, assicurati che i token non vengano registrati nelle richieste successive. Se questa informazione viene registrata, assicurati di mascherare i dati.

    
risposta data 11.02.2016 - 04:35
fonte
0

Questo è sicuro se:

  • l'utente malintenzionato non può accedere (il che implica che l'intero processo di autenticazione deve essere protetto)
  • l'utente malintenzionato non può ottenere un token valido (il che richiede che i token vengano mantenuti laddove l'utente malintenzionato non può ottenerli e non essere trapelato trasmettendoli)
  • la verifica del token non può essere ignorata e accetta solo token validi

Mentre SSL (implementato correttamente) proteggerà il token in transito, il token rimane vulnerabile agli endpoint della comunicazione e a qualsiasi intermediario che fa intercettazione SSL (come "proxy HTTPS"). Anche se questi sistemi sono affidabili, possono perdere il token senza intenzione, ad esempio perché registrano la richiesta (ad esempio, è meglio non passare il token nell'URL, perché ciò si verifica comunemente nei file di log).

    
risposta data 15.02.2016 - 23:43
fonte

Leggi altre domande sui tag