L'utility mysql_config_editor di MySQL
consente di evitare l'utilizzo di username e password in chiaro.
mysql_config_editor genera un file crittografato
nella home directory dell'utente con tutte le stringhe
di connessione necessarie.
Riassumendo con una battuta: mai piu' password in chiaro con MySQL!
La classica modalita' di connessione a MySQL permette di specificare l'utenza e la password in chiaro:
In questo modo con un ps o accedendo all'history dell'utente
si disporra' della password di accesso al DB.
Interattivamente e' possibile non inviare la password e farla richiedere al prompt,
ma se utilizzano script di gestione o di backup la password sara' sempre in chiaro...
Utilizzando il file .mylogin.cnf il comando di connessione sara':
Quindi la password non e' visibile ed anche nel file viene crittografata!
Il comando mysql_config_editor consente di impostare (set),
stampare (print) e rimuovere (remove) le stringhe di connessione
user/password/host al database MySQL.
I parametri di connessione hanno la sintassi classica di MySQL:
-h o --host, ...
mysql_config_editor genera il file crittografato .mylogin.cnf
nella home directory dell'utente.
Il file .mylogin.cnf e' strutturato a sezioni e puo' mantenere diversi path di connessione.
Una volta definiti i login-path possono essere utilizzati nei normali comandi mysql, mysqldump, ... utilizzando il parametro login-path:
Il vantaggio maggiore e' che le password non sono piu' visibili con un ps -efa da parte di un qualsiasi utente presente sul sistema. Inoltre non e' piu' necessario lasciare password in chiaro negli script.
Nel file .mylogin.cnf e' possibile impostare le stringhe di connessione anche per DB presenti su altri host.
Evitare password in chiaro e' sicuramente molto importante ma la sicurezza del file .mylogin.cnf NON e' elevata.
Il file .mylogin.cnf deve essere adeguatamente protetto e
non deve essere leggibile da utenti differenti.
Il contenuto e' solo offuscato ovvero e' crittografato
con un tecnica ed un chiave nota
[NdA chiave iniziale a 0 e crittografia AES-128 ECB]
anche perche' i tool MySQL debbono essere poi in grado di
ottenere la stringa di connessione da utilizzare.
Un utente esperto e' quindi in grado di ottenere le password in chiaro,
un utente un po' meno esperto puo' semplicemente copiare il file,
solo gli utenti meno preparati non riuscirebbero ad ottenere le password
[NdA a meno di non vedere il Source].
Sul sito MySQL si trova tutta la documentazione ufficiale.
mysql_config_editor e' stato introdotto nella versione MySQL 5.6. Nelle versioni precedenti era possibile utilizzare altri file di configurazione (eg. my.cnf) ma le password erano memorizzate in chiaro nei file. Le differenti versioni di MySQL sono riportate in questo documento.
Titolo: mylogin
Livello: Medio
Data:
14 Febbraio 2018
Versione: 1.0.0 - 14 Febbraio 2018 ❤️ San Valentino
Autore: mail [AT] meo.bogliolo.name