Gli URL segreti sono protetti su HTTPS? [duplicare]

16

Immagina un servizio che rende le informazioni sensibili disponibili sotto un URL segreto solo tramite HTTPS, senza richiedere altre autenticazioni. In realtà, questi sono già diffusi.

Quale livello di sicurezza offre questa offerta, rispetto, ad esempio, a un modulo di accesso HTTPS tradizionale utilizzando un nome utente / password salvati nel browser?

I browser perdono l'URL HTTPS (escludendo vulnerabilità non scoperte, di aiuto) o sono, in teoria, sicuri quanto i file locali sulla macchina che esegue il browser?

Esempio vettori di perdita: reporter di crash di Firefox; Chrome find-as-you-type; Servizio di protezione da malware di IE. Tutti questi possono potenzialmente trapelare l'URL a terzi. Gli URL HTTPS sono protetti da questo?

    
posta RomanSt 04.04.2013 - 16:17
fonte

3 risposte

16

In HTTPS , l'URL effettivo viene inviato solo dopo l'esecuzione dell'handshake SSL. Ciò che gli estranei possono osservare è:

  • Il nome del server (che viene fornito chiaramente nel certificato del server).
  • La lunghezza della richiesta dal tuo browser, da cui in genere la lunghezza dell'URL può essere dedotta.

Un potenziale problema con "URL segreto" è che possono essere aggiunti ai segnalibri o copiati dall'utente (ad esempio inviati via e-mail) e visualizzati anche nella schermata utente (nella barra degli indirizzi), quindi potenzialmente vulnerabili a surfisti spalla . Per password e anche per cookie sicuri (cookie inviati da server con il flag "sicuro"), le applicazioni coinvolte (ovvero i browser) dovrebbero essere un po 'più caute di con URL. Anche gli utenti umani sono un po 'meno attenti con l'URL che con le password. Nel complesso, l'URL segreto è un meccanismo di sicurezza valido, ma è necessario essere consapevoli dei dettagli.

    
risposta data 04.04.2013 - 16:22
fonte
7

What level of security does this offer, compared to, say, a traditional HTTPS login form using a username/password that's saved in the browser?

Come hai raccolto da altre risposte, HTTPS nasconde la richiesta stessa. L'URL completo non viene inviato quando ci si connette al server: la parte del documento dell'URL è impostata come una richiesta simile a questa:

GET /login/reallysecure/thisismypassword

o più tradizionalmente:

POST /login

con i parametri POST inviati più tardi nella richiesta HTTP sia in forma semplice sia come parte di un corpo mime multipart.

Una considerazione che probabilmente non hai pensato è che l'accesso all'URL è tipicamente loggato dai server Web, il che significa che in qualsiasi momento dovrai dire 3 giorni (aggiustare il criterio di conservazione dei log) vale la pena di login utente uno a pochi passi dagli amministratori di sistema. Mentre questo è indubbiamente immateriale poiché una modifica all'applicazione stessa potrebbe scaricare le credenziali di accesso ordinarie senza troppe difficoltà, ora c'è un ulteriore fattore di protezione: si esegue il backup dei log? Cosa succede se vengono rubati?

Peggio ancora, cosa succede se c'è un modo per manipolare il tuo server per restituire i log ad un client esterno? Si tratta di una grave violazione della sicurezza, ma a differenza della restituzione di un database di password che si spera utilizzi una buona tecnica di hashing per mitigare (ed è molto mitigato) l'impatto di questo, un URL non ha la stessa protezione - è semplicemente istantaneo accesso all'account in questione.

Questa è la fine lato server del rischio sul lato client che Thomas ha già evidenziato.

    
risposta data 04.04.2013 - 17:31
fonte
2

L'URL in chiaro verrà memorizzato nella cronologia del browser e nei file di cache, ma gli URL stessi non verranno trasmessi in chiaro sulla rete, poiché la sessione SSL inizia prima che venga inviato qualsiasi traffico HTTP.

Un altro canale laterale è che qualsiasi contenuto non HTTPS nella pagina HTTPS potrebbe far filtrare l'URL della pagina principale tramite l'intestazione del referrer. Risulta che il precedente è falsa. Il referer non viene inviato dalle pagine HTTPS alle pagine HTTP.

    
risposta data 04.04.2013 - 16:22
fonte

Leggi altre domande sui tag