MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Protegendo backups do MySQL:um guia

Se você já usou MySQL, é provável que tenha feito backups do seu banco de dados. Se você fez backups de seu banco de dados, é provável que tenha pensado pelo menos uma vez em como protegê-los. Neste post, vamos dizer-lhe como fazer exatamente isso.

Por que você deve proteger seus backups do MySQL?

Antes de dizermos como você deve proteger seus backups do MySQL, provavelmente devemos dizer por que você deve protegê-los em primeiro lugar. O que queremos dizer com “proteger” seus backups do MySQL? Os backups do MySQL devem ser seguros por padrão, certo? Infelizmente, nem tudo é tão simples quanto parece. Para fazer e manter backups seguros do MySQL, você deve considerar o seguinte:

  1. Faça backups do MySQL com segurança

  2. Armazene com segurança seus backups do MySQL

  3. Transfira com segurança seus backups do MySQL

Agora, obviamente, é mais fácil falar do que fazer, mas forneceremos alguns conselhos gerais que podem orientá-lo na direção certa.

Protegendo backups do MySQL

  1. Para fazer backups do MySQL com segurança usando, por exemplo, mysqldump, considere colocar o nome de usuário e a senha do seu Usuário MySQL dentro de my.cnf. Você pode até criar um arquivo .my.cnf em seu diretório pessoal, armazenar o nome de usuário e senha lá, então usar a opção --defaults-extra-file para dizer ao MySQL para ler este arquivo após o arquivo de opção global:

    [mysqldump]
    user=demo_user
    password=demo_password

    Dessa forma, você não precisa mais fornecer sua senha do MySQL ao executar o mysqldump - colocando seu nome de usuário e senha dentro de my.cnf, você torna sua senha inobservável para qualquer outra pessoa, exceto DBAs.
  2. Considere dar uma olhada em mysqldump-secure:é um script wrapper compatível com POSIX para mysqldump com recursos de criptografia. A ferramenta pode fazer backup de bancos de dados como arquivos separados. Os bancos de dados também podem ser colocados na lista negra de backup. A ferramenta também pode criptografar seus bancos de dados MySQL e também é auto-validante, o que significa que, se algo der errado, ele informará o que aconteceu e como corrigi-lo, portanto, se você estiver procurando por uma alternativa ao mysqldump, considere definitivamente dar-lhe um experimentar.

  3. Depois de fazer um backup de suas instâncias de banco de dados MySQL ou MariaDB, considere criptografá-lo. É provável que os dados sejam um dos ativos mais preciosos da sua organização e, ao criptografá-los, você pode garantir a proteção adequada. Felizmente, criptografar backups do MySQL não é muito complexo e pode ser feito de duas maneiras, incluindo criptografar o arquivo local e criptografar o backup em tempo real. Para criptografar uma cópia local do seu backup, basta fazer um backup dos dados armazenados no MySQL e criptografá-lo usando, por exemplo, OpenSSL (substitua a senha pela senha que deseja usar):

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

    Seu backup pode ser descriptografado executando:

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


    Você também pode considerar criptografar seus backups rapidamente. Para fazer isso, em geral, você precisaria implementar a criptografia quando o backup estiver sendo gerado (ou seja, gerar o backup, compactá-lo e criptografá-lo). Veja como fazer isso para o MySQL usando mysqldump (seu backup seria chamado criptografado_backup.xb.enc):

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

    Você também pode criptografar seus backups usando o ClusterControl:basta marcar as caixas “Use Compression” e (ou) “Enable Encryption” na última etapa do backup e pronto . Sim, é tão fácil quanto isso!

Você também pode dar uma olhada em um script de shell chamado mysql_secure_installation (ou mariadb_secure_installation se estiver usando MariaDB). O script permite que você:

  • Defina uma senha para as contas root do MySQL.

  • Remova contas raiz acessíveis de fora do host local.

  • Remova quaisquer contas de usuários anônimos e o banco de dados de teste que possa ser acessado por usuários anônimos.

Se você estiver implantando MySQL ou MariaDB usando ClusterControl, algo que você pode fazer livremente com o Community Edition, o processo de implantação automaticamente cuida dessas medidas de segurança.

Resumo


Quando se trata de proteger seus backups do MySQL, a lista de coisas que você pode fazer é bem longa. Esperamos que esta postagem do blog tenha lhe dado algumas idéias sobre o que você pode fazer para proteger seus backups MySQL ou MariaDB:em geral, os backups podem ser protegidos tornando sua senha inobservável quando mysqldump é invocado, também ao criptografar seus backups localmente ou on-line. o voo.