MariaDB
 sql >> Database >  >> RDS >> MariaDB

Protezione dei backup MySQL:una guida

Se hai mai usato MySQL, è probabile che tu abbia eseguito dei backup del tuo database. Se hai eseguito i backup del tuo database, è probabile che almeno una volta abbia pensato a come proteggerli. In questo post del blog ti diremo come fare esattamente questo.

Perché dovresti proteggere i tuoi backup MySQL?

Prima di dirti come proteggere i tuoi backup MySQL, dovremmo probabilmente dirti perché dovresti proteggerli in primo luogo. Cosa intendiamo anche per "proteggere" i tuoi backup MySQL? I backup MySQL dovrebbero essere sicuri per impostazione predefinita, giusto? Sfortunatamente, non tutto è così semplice come sembra. Per eseguire e mantenere backup MySQL sicuri, dovresti considerare quanto segue:

  1. Fai i tuoi backup MySQL in modo sicuro

  2. Archivia in modo sicuro i tuoi backup MySQL

  3. Trasferisci in modo sicuro i tuoi backup MySQL

Ora ovviamente è più facile a dirsi che a farsi, ma forniremo alcuni consigli generali che possono guidarti nella giusta direzione.

Protezione dei backup MySQL

  1. Per eseguire in modo sicuro i backup di MySQL utilizzando, ad esempio, mysqldump, considera di inserire il nome utente e la password del tuo Utente MySQL all'interno di my.cnf. Puoi persino creare un file .my.cnf nella tua home directory, memorizzare lì il nome utente e la password, quindi utilizzare l'opzione --defaults-extra-file per dire a MySQL di leggere questo file dopo il file delle opzioni globali:

    [mysqldump]
    user=demo_user
    password=demo_password

    In questo modo non è più necessario fornire la tua password MySQL durante l'esecuzione di mysqldump:inserendo il tuo nome utente e password all'interno di my.cnf rendi la tua password non osservabile a chiunque altro tranne che ai DBA.

  2. Considera di dare un'occhiata a mysqldump-secure:è uno script wrapper conforme a POSIX per mysqldump con funzionalità di crittografia. Lo strumento può eseguire il backup dei database come file separati. I database possono anche essere inseriti nella lista nera dal backup. Lo strumento può anche crittografare i tuoi database MySQL ed è anche autovalidante, il che significa che se qualcosa va storto, ti dirà cosa è successo e come risolverlo, quindi se stai cercando un'alternativa a mysqldump, considera sicuramente di dargli un prova.

  3. Dopo aver eseguito un backup delle istanze del database MySQL o MariaDB, considera la crittografia. È probabile che i dati siano una delle risorse più preziose per la tua organizzazione e crittografandoli puoi assicurarti che siano protetti correttamente. Per fortuna, la crittografia dei backup MySQL non è molto complessa e può essere eseguita in un paio di modi, inclusa la crittografia del file locale e la crittografia del backup al volo. Per crittografare una copia locale del backup, è sufficiente eseguire un backup dei dati archiviati in MySQL, quindi crittografarlo utilizzando, ad esempio, OpenSSL (sostituisci la password con la password che desideri utilizzare):

    $ openssl enc -aes-256-cbc -salt -in backup.tar.gz -out backup.tar.gz.enc -k password

    Il tuo backup può essere decrittografato eseguendo:

    $ openssl aes-256-cbc -d -in backup.tar.gz.enc -out backup.tar.gz -k password


    Puoi anche considerare di crittografare i tuoi backup al volo. Per fare ciò, in generale è necessario implementare la crittografia durante la generazione del backup (ovvero generare il backup, comprimerlo e crittografarlo). Ecco come farlo per MySQL usando mysqldump (il tuo backup si chiamerebbecrypt_backup.xb.enc):

    mysqldump --all-databases --single-transaction --triggers --routines | gzip | openssl  enc -aes-256-cbc -k password > encrypted_backup.xb.enc

    Puoi anche crittografare i tuoi backup utilizzando ClusterControl:seleziona semplicemente le caselle "Usa compressione" e (o) "Abilita crittografia" nell'ultima fase del backup e il gioco è fatto . Sì, è così facile!
     

Potresti anche dare un'occhiata a uno script di shell chiamato mysql_secure_installation (o mariadb_secure_installation se stai usando MariaDB). Lo script ti consente di:

  • Imposta una password per gli account root di MySQL.

  • Rimuovi gli account root accessibili dall'esterno del localhost.

  • Rimuovi eventuali account utente anonimi e il database di test a cui possono accedere utenti anonimi.

Se stai implementando MySQL o MariaDB utilizzando ClusterControl, cosa che puoi fare liberamente con la Community Edition, il processo di distribuzione si occupa automaticamente di queste misure di sicurezza.

Riepilogo

Quando si tratta di proteggere i backup di MySQL, l'elenco delle cose che puoi fare è piuttosto lungo. Ci auguriamo che questo post del blog ti abbia dato alcune idee su cosa puoi fare per proteggere i tuoi backup MySQL o MariaDB:in generale, i backup possono essere protetti rendendo la tua password non osservabile quando viene invocato mysqldump, anche quando crittografa i tuoi backup localmente o su- al volo.