it-swarm.dev

È sicuro consentire agli utenti l'accesso multiplo su browser e computer diversi?

Attualmente stiamo sviluppando un'applicazione Web. Gli sviluppatori hanno consentito l'accesso multiplo. ad esempio un utente può accedere a più computer contemporaneamente. Stanno citando l'account Gmail come esempio per consentire l'accesso multiplo.

Abbiamo protetto la nostra applicazione web in modo simile a qui.

Consentire l'accesso multiplo a computer/browser diversi aumenta la vulnerabilità agli hack? Se sì, come posso spiegarlo agli sviluppatori?

C'è una buona ragione per prevenire connessioni simultanee, se non sono necessarie ai tuoi utenti.

Una buona regola empirica è quella di non consentire più funzionalità di quella necessaria. Se i tuoi utenti non si collegheranno mai più di una sessione simultanea, la loro inattività ridurrebbe il rischio di attacco (poiché un utente malintenzionato non sarebbe in grado di condurre il proprio attacco mentre l'utente ha effettuato l'accesso).

Se, tuttavia, i tuoi utenti potrebbero aspettarsi di utilizzare più sessioni, dovrai disporre di questa funzionalità.

In realtà, questa domanda si riduce a un problema di funzionalità: google sa che i suoi utenti potrebbero dover connettersi da più macchine/posizioni/browser contemporaneamente, quindi avvisano solo di altre sessioni, anziché proibirle.

8
Rory Alsop

Penso che tutte le risposte fornite finora siano tutte valide. Tuttavia non sono sicuro di essere completamente d'accordo. Prendi questo sito per esempio. Posso avere più 'sessioni' aperte e registrate su stackexchange.com, questo rende security.stackexchange.com meno sicuro? Penso che i meriti di questo siano discutibili, e ci sono pro e contro dell'argomento. Sebbene direi che qualsiasi aumento del rischio per la sicurezza derivante dalla sua autorizzazione è trascurabile.

Penso che il problema di accessi multipli dipendenti dallo scenario sia meno una questione di sicurezza e più una questione di processo. Può essere logico vietare più accessi a causa di processi aziendali, ad esempio le licenze. Ma in altri scenari può avere senso ad esempio aumentare l'usabilità. Spetta a te come architetto decidere se l'aumento del rischio vale qualsiasi beneficio percepito o aumentare il lavoro per disabilitare più accessi.

4
Nicholas King

Non credo che consentire a più utenti di connettersi sia vulnerabile agli attacchi. Se Gmail lo consente, sono sicuro che hanno pensato ai potenziali rischi;)

Ora, ciò non significa che la tua applicazione non sia vulnerabile, ma sarà più basata su come hai sviluppato il processo di accesso (https, password con hash del database, ecc.).

Dato che dici che hai protetto la tua domanda come indicato su quel post , hai notevolmente ridotto il rischio (non posso dire che sia sicuro al 100%, niente lo è).

Ora puoi aggiungere la stessa funzione di Google Mail: elencare tutta la sessione connessa corrente per l'utente. In questo modo, se un account utente viene violato e vi si accede da qualche altra parte, sarà possibile vederlo, l'IP dietro di esso, ecc.

Non sarà più sicuro, ma fornirà un po 'di sollievo ai tuoi utenti.

1
Cyril N.

Penso che il problema e la preoccupazione siano davvero definiti dai dati e dai sistemi in questione. Se ogni accesso, consente la mutazione (modifica) dei dati condivisi o la modifica nei sistemi condivisi, avere più accessi da parte dello stesso utente è un problema.

Nel caso di Gmail, i dati in questione sono individuali e non condivisi, quindi non è mai così. Se cambio il mio gmail con un solo accesso, allora mi sto solo sparando ai piedi.

Anche dal punto di vista della sicurezza ci sono alcune preoccupazioni che vorrei sollevare/considerare:

  1. Ogni volta che consenti più accessi simultanei, stai essenzialmente dicendo che hai connessioni non sicure al tuo sistema. Se il computer su cui è in esecuzione il sistema non è adeguatamente protetto, quel "portale" è aperto e gratuito per qualcuno che non è l'utente corretto che abusa dell'accesso - quindi hai perso la tracciabilità e il ripudio del tuo sistema.

  2. Naturalmente qualsiasi pagina attiva (a meno che non sia puro html) rappresenterà un "portale" di potenziali exploit che se un aggressore ha accesso all'attacco può quindi sfruttare per un'ulteriore escalation oltre l'autorità dell'utente che ha effettuato l'accesso. O peggio ancora potrebbe creare un portale per attaccare i sistemi su cui l'applicazione e i suoi dati sono ospitati e sovvertire tutti i controlli e ottenere pieno accesso ai "gioielli della corona" per così dire.

  3. Finalmente non credere mai al tuo BS, non hai protetto l'applicazione. In quel momento hai fatto del tuo meglio per proteggere la tua applicazione al meglio delle tue conoscenze, altrimenti non esisterebbero attacchi di 0 giorni. Quindi non credere mai che la tua applicazione sia "protetta" e, quindi, puoi fare qualcosa che sembra nominale come stai proponendo. Nessuna offesa intesa qui, ma è la verità. Sii sempre paranoico sulla sicurezza.

0
Tek Tengu