I rischi di creare un'API senza autenticazione?

1

Ho intenzione di creare un'API per il mio progetto e di pensare all'autenticazione. Qual è il rischio di non avere alcuna autenticazione?

Qualcuno potrebbe "scansionare" tutti i miei post / ottenere percorsi? E come fanno a sapere quali dati / argomenti devono inviare per fare un cattivo uso di una qualsiasi delle funzioni API?

Ad esempio, alcune delle mie funzioni API potrebbero essere: recuperare i dettagli degli account utente, effettuare prenotazioni di servizi, recuperare i dettagli delle prenotazioni, ecc.

    
posta Jk33 16.09.2018 - 02:29
fonte

1 risposta

3

"Buone pratiche di sicurezza" è quello di seguire Principio di Kerckhoffs :

One ought to design systems under the assumption that the enemy will immediately gain full familiarity with them.

Non seguire il principio di Kerckhoff significa che stai facendo sicurezza attraverso l'oscurità . Un rapido google ti mostrerà ciò che la comunità pensa di questo.

La tua domanda:

And how would they know what data/arguments they need to send in order to make bad use of any of the API functions?

Forse attraverso un cingolo a forza bruta. Forse in qualche modo avranno accesso ai tuoi file WSDL o Swagger contenenti la descrizione completa dell'API. Forse ottengono l'accesso all'app o all'SDK del cliente e eseguono il reverse-engineer dell'API. Forse annusano il traffico e osservano le persone che usano la tua API. Forse altri metodi.

Dipende chiaramente da te se l'aggiunta di auth rientra nell'ambito del tuo progetto, ma disporre di API che servono o accettano dati sensibili senza autenticazione è una pessima pratica. Meglio ancora è avere il controllo degli accessi su auth per controllare chi può visualizzare / impostare quali dati.

    
risposta data 16.09.2018 - 04:15
fonte

Leggi altre domande sui tag