Come proteggere correttamente un server di risorse, ma consentire ai client pubblici di avere accesso in uno stile macchina-macchina senza interazione dell'utente

0

Il mio scenario è questo, ho la mia web API che voglio proteggere da persone esterne, ma voglio consentire l'accesso per le mie applicazioni che potrebbero essere eseguite in Windows Form / android / ios / etc ... [considerato clienti pubblici].

Uso il server identità 3 ( Link Github ) come implementazione del mio provider di identità.

Il mio pensiero iniziale è stato generare un ID client + segreto e metterlo (in qualche modo) in tutti i client, ma questo è considerato pericoloso perché i client pubblici non dovrebbero avere segreti su di esso, perché con più o meno sforzo si può sempre avere accesso a esso.

Quindi qual è il modo migliore per proteggere la mia API Web? Ho il controllo delle API Web, dei client e del server Identity, perché sono tutti i miei prodotti.

    
posta user1845593 06.05.2016 - 16:38
fonte

1 risposta

0

Limita la frequenza delle chiamate API. Assicurati che ogni installazione abbia un ID univoco (vedi UUID). Limita le chiamate all'API per UUID e IP a un limite rigoroso.

Ma attenzione: a volte, più utenti legit utilizzano lo stesso indirizzo IP. Pertanto, dovresti impostare il limite a circa 2-3 volte quello che un singolo cliente consumerà.

    
risposta data 06.05.2016 - 18:22
fonte

Leggi altre domande sui tag