Qual è il modo migliore per memorizzare le password?
Questo è un ampio argomento molto che comprende molte diverse aree dell'IT. Ha anche la tendenza ad essere basata sull'opinione pubblica. Tuttavia, ci sono alcune cose molto importanti che possiamo sapere e quindi utilizzare per prendere una decisione informata.
Inoltre, ci sono molti modi diversi per gestire le password. Che azienda di dimensioni? Piccolo? Medio? Grande? Colossale? Secondo me, non puoi semplicemente chiedere il modo migliore per memorizzare le password, né memorizzarle tutte nello stesso posto in tutti i casi. Devi sapere perché le persone hanno bisogno di password e quando hanno bisogno di loro.
Devi anche sapere cosa succederà se devi modificare le password (a causa di una violazione, ecc.). E dopo, devi sapere l'impatto di cambiare le password. Romperà le tue applicazioni? In tal caso, con quale velocità gli sviluppatori possono aggiornare il loro codice? Violare la triade della CIA? Triade della CIA = Riservatezza , Integrità , Disponibilità .
Le tue password dovrebbero essere sottoposte a hash con un algoritmo appropriato e non archiviate in testo normale, ma allo stesso tempo, molti ruoli diversi richiedono molte password in chiaro. C'è una differenza tra una stampa di testo in chiaro e la memorizzazione di password unshsh nel database. Non mescolare questi concetti.
Sicurezza delle informazioni è tutta una questione di gestione del rischio. Non puoi tenere conto al 100% di ogni scenario, ma puoi fare la dovuta diligenza per ridurre drasticamente il rischio.
The scenario is: The person responsible for IT has to manage a lot of passwords for servers and third-party services. It would be bad if these passwords are only known to the person in charge. The person can get sick, let go, etc. pp. So there needs to be a way for management to retrieve said passwords and make them accessible for other people - if needed. But they also need to be secure and only accessible in this case.
Che tipo di politiche dovrebbero essere in atto?
- Gestione superiore dovrebbe essere in grado di richiedere modifiche della password per tutti gli account, anche se non conoscono le password , in modo che le modifiche alle password non costituiscano un problema. Ci dovrebbe anche essere una pista di controllo per questo per evitare di inquadrare qualcuno. Per Windows,
Active Directory
può farlo ed è molto potente.
- Tutti i nomi utente e le password importanti devono essere divisi e assegnati solo a coloro che hanno il ruolo o i ruoli corretti.
I team di sviluppo hanno spesso bisogno di password importanti
Se hai un team di sviluppo, è probabile che avrai molte password diverse. Non solo password, ma anche nomi utente. Ad esempio, potresti aver suddiviso il tuo ambiente di sviluppo, testing e produzione. Se non lo hai fatto, hai terribili pratiche IT.
Nessuno, ad eccezione degli amministratori di database affidabili, dovrebbe avere accesso root al database di produzione. E solo gli amministratori di sistema fidati dovrebbero avere accesso ai server di produzione.
Memorizzare le password in testo semplice può essere una cattiva idea. Nel caso dei dati dei clienti, è decisamente un'idea terribile . Un buon esempio di caso d'uso sarebbe per i team di sviluppo. In che modo il team di sviluppo aggiornerà il database? Come stanno andando a testare i loro cambiamenti?
Gli sviluppatori non possono se non hanno accesso. Se devono continuare a richiedere password per testare le loro modifiche, la produttività diminuisce, le idee vanno perse e la tua azienda non può rimanere competitiva.
Hai bisogno di separare le preoccupazioni. Per cambiare il database di produzione, dovresti avere le autorizzazioni e le istruzioni appropriate. Lo sviluppatore run-of-the-mill non dovrebbe avere accesso al database di produzione o al server.
Tuttavia, lo sviluppatore ha sicuramente bisogno di accedere agli ambienti di sviluppo e testing. In questo caso, i tuoi sviluppatori dovrebbero avere una stampa dei nomi utente e delle password del database che sono rilevanti per loro. Come ulteriore stop-gap, dovresti avere profili aziendali che consentono solo l'accesso a quegli account se hanno l'autorizzazione, quindi anche se ottengono la password, non possono connettersi senza l'autorizzazione appropriata.
All'interno di un'azienda di dimensioni medio-grandi, è fondamentale poter sviluppare correttamente senza troppi ostacoli. Essere trattenuti dalla burocrazia è estremamente dannoso per il processo di sviluppo.
Spegni la tua soap box e torniamo alla memorizzazione della password!
My approach would be to use a simple plain text file on an encrypted USB drive + one backup (also USB drive) in a secure (physical) location. Then provide management with the password for the drive. The person in charge can carry the drive around like a key. If stolen, it is useless. If lost, there is a backup. If person isn't available anymore, management can access it.
Questo è il modo in cui molte aziende lo fanno. Tuttavia, farei un ulteriore passo avanti a causa dell'asineria in carta tinfoil:
- Crea un'applicazione in cui è possibile modificare le password.
- Collega 4 dispositivi USB al computer.
- L'applicazione scrive le password su più unità flash per la ridondanza. Può essere aggiornato con la stessa facilità e le copie di
role-appropriate
possono essere fornite agli utenti corretti.
- Assicurarsi che tutte le password possano essere modificate da un account principale. Idealmente, ne vorresti più di uno.
- Avresti anche bisogno di documentazione cartacea in una stanza chiusa a cui pochi hanno accesso.