Perché dovrei consentire più indirizzi IP su un sito Web per una singola sessione?


18

Spero che la mia domanda corrisponda allo scopo di questo sito.

Sto sviluppando un CMS . Attualmente i miei utenti che hanno effettuato l'accesso sono bloccati sul loro indirizzo IP per la sessione. Sfortunatamente una piccola parte della mia base di utenti salta costantemente tra due o più indirizzi IP. Molti di loro usano probabilmente i bilanciatori del carico. Tecnicamente non è necessario bloccare le sessioni degli utenti su un indirizzo IP. Non mi aspettavo che i client passassero tra più indirizzi IP per una singola pagina richiesta sul mio sito Web.

Mi chiedo ora, quali sono i rischi nel consentire ai miei clienti di passare costantemente da un indirizzo IP all'altro per una richiesta di pagina (ad esempio, i file CSS sono richiesti da xxx.xxx.xxx.xxx e i file JavaScript sono richiesti da yyy.yyy.yyy. yyy)? Dovrei generalmente consentirlo o vietarlo?


39
Non è nemmeno necessario il bilanciamento del carico per saltare attorno agli IP. Connettiti al telefono in metropolitana, potresti ricevere un IP diverso ogni pochi minuti mentre il treno viaggia, quindi di nuovo quando il telefono passa al WiFi in una destinazione.
whatsisname

13
Anche per i laptop che si spostano da una posizione all'altra (diciamo, home> lavoro> starbucks). Inoltre: indirizzi casuali IPv6 (estensioni di privacy SLAAC IPv6).
marzo

intuitivamente, mi aspetterei che il client saltando su Ips di origine diversi causasse problemi se fosse qualcosa di più che "occasionalmente".
Tom H,

1
Se si sta sviluppando una webapp che verrà installato in una rete che si controllare o siete a conoscenza di voi può decidere di fare questo per la sicurezza dal momento che si potrebbe essere in grado di dire "in questa situazione IP multipli non stanno per accadere dal momento che gli utenti devono accedervi dal loro WS e non ci sono bilanciatori del carico o altre cose che potrebbero cambiare il loro IP "... in tal caso potresti persino essere in grado di tracciare gli IP degli utenti poiché i loro WS potrebbero sempre avere lo stesso (o potrebbe cambiare solo una volta ogni due mesi)
Bakuriu,

1
@TomH No, la stragrande maggioranza delle webapp non si preoccupa del tuo indirizzo IP, accetteranno gli stessi cookie in una richiesta HTTP su una nuova connessione TCP. Solo una merda demenziale e mal progettata blocca la sessione su un IP o una connessione.
Navin

Risposte:


35

una piccola parte della mia base di utenti passa costantemente tra due o più indirizzi IP.

Le cause

Supponendo che i tuoi utenti non stiano attivamente cercando di nascondere i loro veri indirizzi IP utilizzando un servizio di anonimizzazione ...:

La maggior parte degli esempi aziendali che ho visto sono causati da aziende più grandi e alcuni ISP utilizzano un cluster di server proxy, ognuno con un diverso indirizzo IP esterno, con le richieste degli utenti che vengono bilanciate sul carico rispetto a quel cluster.

È possibile che gli utenti Dual Stack facciano richieste sia su IPv4 che IPv6 e passino tra i due protocolli RFC 8305 per le richieste successive.

L'altro scenario è quando mi trovo all'estrema distanza di un punto di accesso Wi-Fi e il mio dispositivo passa "casualmente" tra i dati Wi-Fi e cellulari.

soluzioni

Nel primo scenario potresti scendere a compromessi nel mantenere tale "sicurezza" dell'indirizzo IP nelle tue sessioni prendendo in considerazione solo i primi tre ottetti, poiché in genere un tale cluster di server proxy si trova all'interno di una piccola sottorete e avrà indirizzi IP vicini.

Nel secondo e terzo scenario vedrai indirizzi IP client completamente diversi, anche da provider non correlati.

Non associare le sessioni a un indirizzo IP specifico, che è più probabile che interrompa l'esperienza dell'utente piuttosto che fornire una sicurezza effettiva migliorata.


27
Nessuno lega più le sessioni agli indirizzi IP, proprio per questi motivi.
Michael Hampton

33
Mai e poi mai legare le sessioni agli indirizzi IP, gli anni '80 sono finiti! Il mio ISP fornisce al mio telefono una rete completa / 64 in cui il mio browser salta come un matto.
Bjoster,

6
Oltre a tutto, Multipath TCP sta diventando sempre più comune.
Può Poyrazoğlu il

3
Se stai creando il tuo CMS per utenti tecnici, puoi mettere una casella di controllo "limita questa sessione al tuo ip (xxx.yyy.zzz.iii)" nella pagina di accesso
Ferrybig

6
@bjoster è perché le estensioni della privacy di IPv6 continuano a cambiare indirizzo in modo che i siti Web non possano seguirti dal tuo IP da solo (questo non è un problema con IPv4, poiché più persone sono dietro lo stesso indirizzo)
Ferrybig

9

Mi chiedo ora, quali sono i rischi nel consentire ai miei clienti di passare costantemente da un indirizzo IP all'altro per una richiesta di pagina (ad esempio, i file CSS sono richiesti da xxx.xxx.xxx.xxx e i file JavaScript sono richiesti da yyy.yyy.yyy. yyy)? Dovrei generalmente consentirlo o vietarlo?

Il rischio principale è un utente malintenzionato che dirotta la sessione. Se potessi bloccare uno o un piccolo set di indirizzi IP, potresti impedire agli utenti di indirizzi IP completamente diversi di dirottare la sessione.

Il problema è che alcuni utenti lo fanno legittimamente. Sia che utilizzino un proxy con bilanciamento del carico o che si trovino ai margini di due punti di accesso wireless (o qualsiasi altra cosa), utilizzano più indirizzi IP. Quindi devi praticamente permetterlo per quegli utenti. Ed è difficile dire quali utenti richiedono più indirizzi IP tranne quando lo richiedono da più indirizzi IP.

Un modo per ridurre l'impatto di questo è utilizzare HTTPS. Quindi l'attore dannoso deve avere un modo per compromettere il livello sicuro e il cookie di sessione. Su una connessione non sicura, l'attore malintenzionato potrebbe semplicemente utilizzare l'ispezione di rete per compromettere un cookie di sessione. Ma su HTTPS, lo stesso attore malintenzionato deve avere accesso a una delle estremità della conversazione. E se l'attore dannoso ha questo, allora non è necessario utilizzare un IP diverso.

TL; DR : in genere dovresti consentire richieste da diversi indirizzi IP per lo stesso utente. Ci sono motivi legittimi che ciò può accadere. Usa HTTPS invece per proteggerti da quella classe di exploit.


4

quali sono i rischi nel consentire ai miei clienti di passare costantemente da un indirizzo IP all'altro per una richiesta di pagina

Dal punto di vista della sicurezza: zero rischi.

Ora, da un punto di vista pratico. Significa che non è possibile utilizzare determinati tipi di algoritmi per la sicurezza o la protezione DoS .

Un modo semplice per limitare le richieste degli utenti è tenere traccia dell'indirizzo IP. Poiché non è necessario che interagisca con il server delle applicazioni, è possibile utilizzare i servizi ai livelli inferiori per farlo. Software come mod_evasive di Apache fanno questo. È ancora possibile utilizzare queste tecniche, ma l'utente che modifica gli indirizzi IP ne ridurrà l'efficacia. Inoltre, gli utenti cambieranno comunque gli indirizzi IP, quindi queste tecniche non sono mai state davvero efficaci.

Un caso d'uso correlato ma diverso è la limitazione dei tentativi di accesso non riusciti. Questo per evitare di indovinare la password della forza bruta. Ma ancora una volta, non c'è niente che puoi fare se gli utenti cambiano gli indirizzi IP. Un hacker davvero serio non userebbe nemmeno le proprie macchine. Acquisterebbe solo un po 'di tempo su una botnet (o userebbe la propria botnet precedentemente infetta) e si collegherebbe al tuo servizio tramite PC di altre 10.000 persone (indirizzi IP). Questo non è realmente correlato alla limitazione dell'indirizzo IP dell'utente perché è pre-login, ma è qualcosa da tenere a mente.


1

Esistono diversi motivi per cui un utente può passare a un nuovo indirizzo IP.

  1. Estensioni di privacy IPv6, molti client IPv6 oggi saltano all'interno del / 64 sulla lan.
  2. Caricare i proxy bilanciati, la richiesta dei client viene indirizzata a uno dei numerosi proxy ciascuno con un IP separato.
  3. Pool NAT, il border nat è configurato con più indirizzi IP e assegna combinazioni IP / porta dal pool arbitrariamente alle connessioni TCP client.
  4. L'utente si sposta tra diverse reti o parti di una rete, comune con i telefoni al giorno d'oggi.
  5. Gli utenti a doppio stack possono passare da IPv4 a IPv6.

Mi chiedo ora, quali sono i rischi nel consentire ai miei clienti di passare costantemente da un IP all'altro per una richiesta di pagina

Il vantaggio di bloccare sessoin client su IP è che rende più difficile la sessione di furto di attacchi. Se un utente malintenzionato dispone di un meccanismo che consente di rubare i cookie dei client ma non consente loro di stabilire connessioni al server dall'indirizzo IP del client, il blocco IP impedisce loro di rubare la sessione.

Il rovescio della medaglia è come dici che causerà la rottura per alcuni utenti che trovano la loro sessione invalidata senza motivo ovvio.

La maggior parte dei siti oggi sembra pensare che la rottura superi i benefici di tale blocco.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.