best practice per l'archiviazione di password recuperabili

3

Sto cercando di creare un NMS (sistema di gestione della rete) e sono obbligato a memorizzare le password per i database, i dispositivi e i server di terze parti che vengono gestiti (non le password degli utenti). Queste password devono poter essere recuperate come testo normale per accedere ai dispositivi, connettersi ai database remoti.

Vorrei conoscere le migliori pratiche per l'archiviazione di tali password in un database o in un file di testo. Il mio attuale approccio è che, memorizzare la password come base64 codificata in un file di configurazione del testo e decodificarla nel codice sorgente. Solo gli sviluppatori hanno accesso in lettura / scrittura al file di configurazione e al codice sorgente. Nessun altro utente sul server dev / prod può leggere questi file. Pensi che questo sia un approccio sicuro?

E sì, ho questa risposta , ma nel mio caso particolare, non ho a che fare con le password degli account degli utenti, ma invece mi occupo di password per l'accesso ai dispositivi che vengono gestiti. È vero, se qualcuno si impossessa di tali password, possono facilmente accedere alla casella e "ricaricare / riavviare".

Inoltre, poiché l'NMS è interamente basato sull'automazione (e supponendo che eseguirò più cronjob), non posso pretendere che lo strumento NMS richieda password.

Grazie, Amit

    
posta abarik 09.10.2015 - 01:32
fonte

1 risposta

2

Mai. Mai. Uso. Base. 64. Codifica. Non è sicuro Inoltre, non è consentito se gestisci password di altre persone.

È necessario memorizzare le password crittografate tramite un programma a livello macchina che le crittograferà e le decrittograferà. Dopo che sono stati crittografati, puoi memorizzarli dove preferisci, ma devi sempre passare attraverso il programma per crittografarli e decrittografarli.

Roboform Enterprise è un ottimo gestore di password. Il responsabile della sicurezza può cambiare la password di Roboform per i clienti, generare password casuali e mantenere le cose al sicuro.

Naturalmente, dal momento che stai costruendo il tuo, la verità è che dovrai costruire un programma di crittografia rotante con chiave automatica con le chiavi archiviate in una posizione separata, fisica, non di rete e sicura. Quindi crittografare le password e memorizzarle.

Quando una chiave viene ruotata, il programma recupera tutte le password, decodifica, crittografa con la nuova chiave, e le ripristina nel database o lo fa al volo con il successivo recupero. Ma in pratica devi avere un programma a livello di sistema.

Dovresti anche renderlo dipendente dal sistema su cui è stato compilato. In questo modo puoi assicurarti che se il programma stesso viene portato su un nuovo sistema, non funzionerà correttamente per decifrare quelle password.

Ovviamente questo significa che per ogni client sul tuo sistema, hanno bisogno della propria copia dell'applicazione e del proprio set di chiavi. Questo tuttavia è la natura della sicurezza aziendale.

    
risposta data 09.10.2015 - 01:59
fonte

Leggi altre domande sui tag