sql >> Database >  >> RDS >> MariaDB

MySQL-back-ups beveiligen:een gids

Als je ooit MySQL hebt gebruikt, is de kans groot dat je back-ups van je database hebt gemaakt. Als u back-ups van uw database hebt gemaakt, is de kans groot dat u er minstens één keer over heeft nagedacht hoe u deze kunt beveiligen. In deze blogpost gaan we je vertellen hoe je dat precies doet.

Waarom zou u uw MySQL-back-ups beveiligen?

Voordat we u vertellen hoe u uw MySQL-back-ups moet beveiligen, moeten we u waarschijnlijk vertellen waarom u ze in de eerste plaats moet beveiligen. Wat bedoelen we zelfs met het "beveiligen" van uw MySQL-back-ups? MySQL-back-ups moeten standaard veilig zijn, toch? Helaas is niet alles zo eenvoudig als het lijkt. Om veilige MySQL-back-ups te maken en te onderhouden, moet u rekening houden met het volgende:

  1. Maak veilig uw MySQL-back-ups

  2. Sla uw MySQL-back-ups veilig op

  3. Zet uw MySQL-back-ups veilig over

Dat is natuurlijk makkelijker gezegd dan gedaan, maar we zullen wat algemeen advies geven dat je in de goede richting kan leiden.

MySQL-back-ups beveiligen

  1. Om veilig uw MySQL-back-ups te maken door bijvoorbeeld mysqldump te gebruiken, kunt u overwegen de gebruikersnaam en het wachtwoord van uw MySQL-gebruiker in my.cnf. U kunt zelfs een .my.cnf-bestand in uw thuismap maken, de gebruikersnaam en het wachtwoord daar opslaan en vervolgens de optie --defaults-extra-file gebruiken om MySQL te vertellen dit bestand te lezen na het algemene optiebestand:

    [mysqldump]
    user=demo_user
    password=demo_password

    Op deze manier hoeft u uw MySQL-wachtwoord niet langer op te geven wanneer u mysqldump uitvoert - door uw gebruikersnaam en wachtwoord in my.cnf te plaatsen, maakt u uw wachtwoord onzichtbaar voor iemand anders dan DBA's.

  2. Overweeg om mysqldump-secure te bekijken:het is een POSIX-compatibel wrapper-script voor mysqldump met encryptiemogelijkheden. De tool kan back-ups maken van databases als afzonderlijke bestanden. Databases kunnen ook op de zwarte lijst worden gezet om een ​​back-up te maken. De tool kan ook uw MySQL-databases versleutelen en het is ook zelfvaliderend, wat betekent dat als er iets misgaat, het u zal vertellen wat er is gebeurd en hoe u het kunt oplossen, dus als u op zoek bent naar een alternatief voor mysqldump, overweeg dan zeker om het een probeer.

  3. Als u eenmaal een back-up hebt gemaakt van uw MySQL- of MariaDB-database-instanties, kunt u overwegen deze te versleutelen. De kans is groot dat gegevens een van de kostbaarste activa van uw organisatie zijn en door ze te versleutelen, kunt u ervoor zorgen dat ze goed worden beschermd. Gelukkig is het versleutelen van MySQL-back-ups niet erg ingewikkeld en kan het op een aantal manieren worden gedaan, waaronder het versleutelen van het lokale bestand en het on-the-fly versleutelen van de back-up. Om een ​​lokale kopie van uw back-up te versleutelen, maakt u gewoon een back-up van de gegevens die zijn opgeslagen in MySQL en versleutelt u deze vervolgens met bijvoorbeeld OpenSSL (vervang het wachtwoord door het wachtwoord dat u wilt gebruiken):

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

    Uw back-up kan worden gedecodeerd door het volgende uit te voeren:

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


    U kunt ook overwegen om uw back-ups on-the-fly te versleutelen. Om dat te doen, zou u in het algemeen codering moeten implementeren wanneer de back-up wordt gegenereerd (d.w.z. de back-up genereren, comprimeren en coderen). Hier leest u hoe u dat voor MySQL doet met mysqldump (uw back-up zou versleuteld_backup.xb.enc heten):

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

    U kunt uw back-ups ook versleutelen met ClusterControl:vink in de laatste fase van de back-up gewoon de vakjes "Compressie gebruiken" en (of) "Encryptie inschakelen" aan en u bent klaar . Ja, zo eenvoudig is het!
     

Misschien wil je ook eens kijken naar een shellscript genaamd mysql_secure_installation (of mariadb_secure_installation als je MariaDB gebruikt). Met het script kunt u:

  • Stel een wachtwoord in voor de root-accounts van MySQL.

  • Verwijder root-accounts die toegankelijk zijn van buiten de localhost.

  • Verwijder alle anonieme gebruikersaccounts en de testdatabase die toegankelijk is voor anonieme gebruikers.

Als u MySQL of MariaDB implementeert met ClusterControl, iets dat u vrijelijk kunt doen met de Community Edition, zorgt het implementatieproces automatisch voor deze beveiligingsmaatregelen.

Samenvatting

Als het gaat om het beveiligen van uw MySQL-back-ups, is de lijst met dingen die u kunt doen behoorlijk lang. We hopen dat deze blogpost je wat ideeën heeft gegeven over wat je kunt doen om je MySQL- of MariaDB-back-ups te beveiligen:in het algemeen kunnen back-ups worden beveiligd door je wachtwoord onzichtbaar te maken wanneer mysqldump wordt aangeroepen, ook wanneer je je back-ups lokaal of op- vliegensvlug.


  1. Hoe u alle standaardbeperkingen met kolommen in de SQL Server-database kunt weergeven - SQL Server / TSQL-zelfstudie, deel 92

  2. Implementeer een Hybrid Cloud MySQL-database met ClusterControl

  3. Netherlands Access Developer Day 2019 – 14 september

  4. Vraag naar ORDER BY het aantal rijen dat is geretourneerd door een andere SELECT