Come proteggere l'ID sessione?

1

Ho letto alcuni degli ultimi giorni sugli ID delle sessioni e sui metodi adottati per impedire alle persone di intercettarli e utilizzarli per dirottare una sessione.

Da quanto ho letto, quando si invia l'ID sessione in un cookie al browser SSL / TSL dovrebbe essere usato per impedire a qualcuno dal pacchetto di annotare l'ID sessione e questo cookie deve essere impostato su HttpOnly in modo che non possa essere letto da JavaScript.

Personalmente ho pensato di verificare che l'indirizzo IP del client da cui viene ricevuto l'ID della sessione sia costante sarebbe una buona misura aggiuntiva, ma ho letto argomenti in conflitto online su persone che dicono che i proxy e altre cose potrebbero rovinare questo.

Le mie domande sono:

  1. È SSL / TSL e HttpSolo abbastanza per essere sicuro che una sessione non possa essere dirottato?
  2. Esiste un modo per utilizzare gli indirizzi IP dei client come un ulteriore livello di protezione?
  3. Ci sono altre misure che possono essere adottate per proteggere una sessione?
  4. Possiamo mai essere al 100% che qualcuno non possa dirottare una sessione?
posta K Martin 15.06.2016 - 09:54
fonte

1 risposta

4

Is SSL/TSL and HttpOnly enough to be sure that a session cannot be hijacked?

Questi sono i dosaggi obbligatori e offrono una protezione buona (ma non perfetta). Vedi domanda quattro.

Is there a way to use client IP addresses as an extra layer of protection?

Basta controllare che un ID di sessione sia utilizzato dall'IP che lo ha creato per rompere il tuo sito per molti utenti, ad es. per gli utenti mobili che potrebbero non avere un IP costante: s. (Non proteggerà anche gli utenti se l'attaccante si trova sulla stessa LAN e condivide l'IP dell'utente.) Questo non è raccomandato.

Ciò che potresti considerare è l'utilizzo della posizione geografica. Se un ID di sessione creato per un utente in Messico viene improvvisamente utilizzato da qualcuno in Cina cinque minuti dopo, potrebbe essere un segno che qualcosa non va. D'altra parte, ciò spezzerà le cose per le persone che usano Tor e alcune VPN: s che ruota IP: s.

Are there any more measures that can be taken to protect a session?

Sì. Assicurati di generare ID di sessione lunghi e casuali: s con un CSPRNG.

Inoltre, assicurati di non essere vulnerabile alla correzione della sessione non accettando l'ID di sessione: non hai generato te stesso e / o modificare l'ID di sessione al login.

Can we ever be 100% that someone cannot hijack a session?

No. Non puoi mai essere sicuro al 100% di tutto ciò che riguarda la sicurezza (o qualcosa del genere). Ad esempio, non è possibile proteggere i propri utenti da qualcuno con accesso fisico al proprio computer, poiché ciò consentirebbe all'utente malintenzionato di leggere solo l'ID di sessione dal cookie nel browser.

    
risposta data 15.06.2016 - 10:35
fonte