Sono nuovo nello scambio di security stack, quindi sentiti libero di modificare la domanda o di reindirizzarmi su un altro forum se questo non è adatto.
Attualmente sto lavorando a un'applicazione web che consentirà all'utente di gestire il proprio account di posta elettronica di Exchange; leggere la posta, inviare la posta, creare nuove cartelle e così via. Voglio supportare versioni di Exchange vecchie come 2007, che supportano solo l'autenticazione di base e NTLM rispetto all'API EWS. Ciò significa che devo archiviare i dettagli dell'utente in testo in chiaro, se solo temporaneamente, sul mio server. La configurazione che ho oggi appare come segue:
L'utentefornisceleinformazionisull'accountel'endpointEWSalmioserver.
QuestainformazionevienequindiverificatapervedereseècorrettainviandounasemplicerichiestaGETall'endpoint,individuandoilmetododiautenticazione"più strong" guardando il contenuto dell'intestazione "WWW-Authenticate". L'autenticazione è fatta per vedere se il nome utente e la password forniti erano corretti.
-
Se lo era, creo un token casuale di lunghezza 32 e lo utilizzo come chiave con le credenziali dell'utente come valore in un semplice oggetto JavaScript in memoria e restituisco questo token all'utente.
-
L'utente è quindi in grado di recuperare informazioni, dato che il token fornito nelle richieste successive 'L'intestazione di autorizzazione è valida.
Le sessioni vengono cancellate dopo un'ora e nessun dato viene mai conservato in un database.
Ho appena trovato questo fantastico scambio di stack qualche giorno fa e ho letto ferocemente da allora ( BASIC-Auth secure? , La password è memorizzata in sicurezza? per nominare alcuni grandi). La sicurezza non è il mio strong, ma sono impaziente di imparare, quindi per favore sii duro e dimmi se sto facendo qualcosa di riprovevole.
Ciò che sto facendo attualmente è considerato alquanto sicuro, o dovrei riconsiderare completamente il mio approccio? Grazie.