Sto creando una serie di processi batch che richiedono l'accesso regolare a un database, in esecuzione su un computer Solaris 10. A causa di vincoli di progettazione (immutabili), è necessario utilizzare un determinato programma per connettersi ad esso. Tale interfaccia ci richiede di passare una password in testo semplice su una riga di comando per connettersi al database. Questa è una pratica di sicurezza terribile, ma siamo bloccati con esso.Strategie di sicurezza per l'archiviazione della password sul disco
Sto cercando di assicurarmi che le cose siano correttamente protette da parte nostra. Poiché l'elaborazione è automatizzata (ovvero, non è possibile richiedere una password) e non è possibile memorizzare nulla al di fuori del disco, ho bisogno di una strategia per archiviare la nostra password in modo sicuro.
Ecco alcune regole di base
- Il sistema dispone di più utenti.
- Possiamo supporre che le nostre autorizzazioni siano applicate correttamente (cioè, se un file con un chmod'd a 600, non sarà pubblicamente leggibile)
- Non mi interessa nessuno con accesso da superutente guardando il nostro memorizzata la password
Ecco quello che ho finora
- Conservare la password in password.txt
- $ chmod 600 password.txt
- processo legge da password.txt quando è necessario
- Buffer sovrascritto con gli zeri quando non è più avuto bisogno di
Anche se sono sicuro che c'è un modo migliore.
E l'utilizzo di un servizio LDAP (o Kerberos) non è un'opzione? Ambiente aziendale – SystematicFrank
, tutto il software deve essere approvato dal comitato. fondamentalmente disponiamo solo di strumenti da riga di comando standard di Unix. – Mike
Se c'è un modo migliore, mi piacerebbe sentirlo anche io. – erickson