ggbce Posté(e) le 10 juin 2005 Partager Posté(e) le 10 juin 2005 Je commence à utiliser MySQL comme base de données, et je suis entrain de me rendre compte que les fichiers de sauvegardes sont en texte clair ! Est-ce qu'il y a un moyen de faire une sauvegarde "sécure" ? Présentement j'ai essayé de faire les sauvegardes avec mysqldump et via l'interface Webmin qui me donne des cédules programmables. Au niveau du fichier de sauvegarde (*.sql) c'est pareil avec ces 2 méthodes. Est-ce que quelqu'uyn aurait un petit script (batch) fonctionnel qui me permettrait de faire la sauvegarde et peut-être la compresser avec ZIP ou TAR/GZIP en ajoutant un mot de passe sur le fichier compressé au minimum ? Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
gauret Posté(e) le 10 juin 2005 Partager Posté(e) le 10 juin 2005 Tu peux la compresser avec gzip (gzip file.dump), et ensuite la crypter avec l'utilitaire de ton choix. Par exemple GPG si tu veux faire du cryptage asymétrique (cad si tu veux l'envoyer à quelqu'un d'autre), mais tu peux utiliser blowfish si tu veux juste protéger par un mot de passe. Allez, je suis sympa, je t'évite le man de openssl (qui est chiant, faut le dire), voilà la commande : openssl bf-cbc -e -a -salt -in "fichier.dump" Et pour décrypter : openssl bf-cbc -d -a -in "fichier.dump" Ces deux commandent envoient le résultat sur la sortie standard, donc tu peux soit le rediriger, soit utiliser l'option -out pour l'envoyer dans un fichier. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ggbce Posté(e) le 10 juin 2005 Auteur Partager Posté(e) le 10 juin 2005 Donc si j'ai plusieurs fichiers .sql à sauvegarder, je me place dans le bon dossier et je lance GZIP de cette façon: gzip --best /serveur/backup/* Pour ça c'est OK ! Et ensuite j'ajoute un mot de passe sur les fichiers avec Blowfish (...je ne connais pas Blowfish). Je viens de trouver un RPM et je l'ai installé sans problème. C'est un module Perl d'après ce que je peux voir -> perl-Crypt-Blowfish-2.09-1.0.i386.rpm Mais ça ne contient aucun fichier exécutable... ? Est-ce que le simple fait d'avoir installé le package, OpenSSL reconnaitra le paramètre bf-cbc ? OK désolé de mon hâte... j'ai essayé et effectivement OpenSSL reconnaît immédiatement Blowfish Donc j'ai lancé comme cela: openssl bf-cbc -e -a -salt -in "backup.sql.gz" Là ça m'a demandé d'ajouter un mot de passe et de le confirmer et ensuite il est apparu une chaîne de caractère de ma clé d'encryption... Tout a bien l'air de s'être exécuté, mais si j'utilise VIM je peux très bien relire mon fichier de sauvegarde en texte clair... Lien vers le commentaire Partager sur d’autres sites More sharing options...
gauret Posté(e) le 10 juin 2005 Partager Posté(e) le 10 juin 2005 L'algorithme blowfish est déjà intégré à openssl. Il faut que tu rediriges la sortie de cette commande vers un autre fichier, par exemple backup.sql.gz.bf, ce qui donne openssl bf-cbc -e -a -salt -in "backup.sql.gz" > backup.sql.gz.bf C'est ce fichier-là qui est crypté. Ensuite tu peux virer l'ancien. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ggbce Posté(e) le 10 juin 2005 Auteur Partager Posté(e) le 10 juin 2005 Cool ! Ça marche bien. Il ne reste qu'à me faire une petite cédule à toutes les nuits pour faire mon backup. ...et là j'ai un bug avec OpenSSL/Blowfish. Comme tu dis Gauret, les lignes de commandes de OpenSSL ne sont pas toujours évidentes. Est-ce qu'il y a moyen de passer le mot de passe en ligne de commande pour que l'exécution se fasse directement dans mon batch file ? Merci ----------------------------------------------- Petit résumé pour tout le monde: 1- Sauvegarde de la BD avec mysqldump mysqldump -u user -ppassword mabasededonnee > backup.sql 2- Compression des données avec GZip pour prendre moins d'espace gzip --best backup.sql 3- Encryption les données pour une meilleure sécurité avec OpenSSL openssl bf-cbc -e -a -salt -in "backup.sql.gz" > backup.sql.gz.bf *Ici faut inscrire un mot de passe qui sera encrypté 4- Décryption les données si besoin de restaurer openssl bf-cbc -d -a -in "backup.sql.gz.bf" > backup.sql.gz -------------------------------------------------- Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 10 juin 2005 Partager Posté(e) le 10 juin 2005 Normalement il doit y avoir moyen de crypter avec une clé publique (ce qui permet d'éviter de mettre son mdp en clair) Lien vers le commentaire Partager sur d’autres sites More sharing options...
gauret Posté(e) le 10 juin 2005 Partager Posté(e) le 10 juin 2005 Bon, là, lis quand même un peu les pages de man. Tu fais un man openssl, ça te donne la liste des modules, et ensuite un "man <module>" te donne toutes les infos. Dans ton cas c'est un "man enc", et la 3ème option décrite est justement "-pass"... Par contre fais gaffe, si ton mot de passe est dans le script, tous ceux qui peuvent le lire vont pouvoir le récupérer. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ggbce Posté(e) le 13 juin 2005 Auteur Partager Posté(e) le 13 juin 2005 Merci Gauret ! Ça fonctionne très bien. Et il n'y a pas de problème pour le mot de passe dans le script, car le PC est un serveur web et il n'y a aucun utilisateur client qui s'y connecte directement. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.