La whitelist degli indirizzi IP è utile se l'indirizzo IP non è "segreto"?

1

Sto lavorando a un'applicazione che avrà accesso alle chiavi API fornite dai nostri utenti. L'applicazione effettua chiamate API per conto dei nostri utenti.

L'API che stiamo utilizzando consente agli utenti di inserire nella whitelist gli indirizzi IP che possono utilizzare le loro chiavi API. Stavo pensando di dire ai nostri utenti di inserire nella whitelist l'indirizzo IP dell'app per aggiungere un ulteriore livello di sicurezza, in modo che solo le richieste provenienti dal nostro indirizzo IP siano consentite.

Ma ho letto che è abbastanza facile falsificare gli indirizzi IP e considerando che sto per dire ai nostri utenti quale indirizzo IP inserire nella whitelist (cioè, un attore cattivo non dovrebbe lavorare troppo per vedere quali indirizzi IP sono validi), mi chiedo se valga anche la pena?

Se un attore malintenzionato doveva in qualche modo mettere le mani sulle chiavi API degli utenti, la whitelist degli indirizzi IP avrebbe davvero aggiunto un livello significativo di sicurezza? O sarebbe solo un piccolo inconveniente nel migliore dei casi per il cattivo attore?

Grazie!

    
posta AntiWiggin 04.08.2018 - 09:06
fonte

1 risposta

1

But I've read it's fairly easy to spoof IP addresses

Questo è dove ti sbagli. È facile connettersi a un sito Web in modo che veda un indirizzo IP che non è il tuo routing attraverso un server proxy, ma non non può spoofare un indirizzo IP arbitrario. Per il protocollo TCP, che è con ogni probabilità quello che si sta usando, è semplicemente impossibile falsificare un indirizzo IP senza compromettere gran parte della spina dorsale stessa di Internet.

Il motivo è che TCP usa un handshake per stabilire una connessione. Innanzitutto, il client invia un pacchetto SYN. Il pacchetto contiene l'IP di origine. Il server risponde quindi all'IP specificato con un pacchetto SYN + ACK, dopo di che il client invia infine un ACK. Mentre è tecnicamente possibile falsificare l'IP di origine, il server invierà SYN + ACK all'indirizzo di origine falsificato che, naturalmente, non si sarebbe aspettato e rifiuterebbe la connessione. Poiché il traffico può essere inviato solo dopo aver completato l'handshake, funzioneranno solo indirizzi IP originali.

would IP address whitelisting really add any meaningful layer of security?

Se un utente malintenzionato che ha rubato le chiavi API può solo utilizzarle per accedere al servizio, quindi l'inserimento di il proprio IP nella whitelist non offre alcun miglioramento della sicurezza. Dopotutto, un utente malintenzionato si connetterà all'indirizzo della whitelist per poter (ab) utilizzare comunque la chiave API rubata. Se invece la preoccupazione è che l'autore dell'attacco crei una copia falsa del tuo sito (ad esempio un attacco MITM) e tenti di far sì che la tua applicazione invii la chiave API, la whitelist non sarà ancora di aiuto. Invece, è necessario utilizzare TLS per tutte le comunicazioni e hardcode l'impronta digitale TLS nell'applicazione. In questo modo, i tuoi clienti possono essere sicuri che l'applicazione rifiuterà di connettersi a un server non originale.

    
risposta data 04.08.2018 - 09:10
fonte

Leggi altre domande sui tag