Mysql
 sql >> Database >  >> RDS >> Mysql

Dove devo conservare le credenziali del mio database?

Prima di tutto, dovresti essere consapevole che qualunque cosa tu faccia, se un utente malintenzionato riesce ad accedere ai file del tuo server, sarà in grado di rubare la password.

Se utilizzi l'origine dati di un server delle app, sposti semplicemente la posizione della password in chiaro in un file diverso.

Se utilizzi una qualche forma di crittografia per evitare di memorizzare una password in chiaro, la tua app dovrà comunque decrittografarla con un'altra password che avrà già. Se un utente malintenzionato fa di tutto per ottenere l'accesso al tuo sistema, puoi essere abbastanza sicuro che anche lui lo saprà. Quello che stai facendo è offuscare (e acquisire un falso senso di sicurezza) piuttosto che proteggerlo effettivamente.

Una soluzione più sicura è che un utente fornisca la password (o una password per decrittografare la password del database) durante l'avvio dell'app, ma ciò renderà l'amministrazione davvero difficile. E se sei già paranoico (il tipo di buona sicurezza, non il tipo pazzo) che qualcuno abbia accesso al tuo server, dovresti considerare che la password del DB risiederà nella memoria di sistema.

A parte questo, mantieni la tua password nel tuo file di configurazione (che puoi essere abbastanza sicuro che il server non mostrerà al mondo esterno), blocca il tuo sistema e concedi all'utente del database solo le autorizzazioni minime richieste.