Puoi creare chiave pubblica / privata coppie e crittografare la password. Questo dovrebbe offuscare la password dei passanti casuali, in quanto avrebbero solo la parte pubblica della chiave a loro nota.
Devi anche proteggere lo script usando le autorizzazioni di directory e file.
Inoltre, (a seconda del database) dovresti essere in grado di creare un account utente per il database che ha solo i privilegi di backup. Ciò impedirebbe a qualcuno di creare tabelle, scaricare tabelle e sostituire i contenuti. Puoi limitare l'accesso a questo utente ai tempi previsti per l'esecuzione dei backup.
Aggiorna
Questo post su Comodo in realtà spiega i tasti un po 'meglio . Dato che sei preoccupato per qualcuno che ha accesso alla password originale che esiste nel codice, l'utente malintenzionato dovrebbe ascoltare la chiave privata dell'utente che attiva lo script (che potrebbe accadere tramite SSH su un cron su un separato [virtuale] macchina). Ovviamente non ci sarebbe alcun motivo se stessimo memorizzando entrambe le chiavi sullo stesso sistema a meno che ovviamente non stiate memorizzando la chiave privata con privilegi più elevati rispetto alla chiave pubblica.
Entrambe le chiavi insieme = password
Informazioni sulle autorizzazioni, se qualcuno ha accesso al tuo sistema ed è questo il motivo per cui una password deve essere memorizzata sulla scatola in un "formato leggibile" sembra che ci siano problemi più profondi con la configurazione delle autorizzazioni sul scatola stessa. Inoltre, se qualcuno può sudo
e superare i propri privilegi (come l'host che esegue la casella), l'hashing della chiave è in realtà l'unica opzione per impedire all'utente di accedere al database.
Inoltre, dovresti disabilitare l'account root
sul database poiché ciò consentirebbe all'utente malintenzionato di leggere comunque le tabelle del database.