Ce projet actuel nécessite que la base de données soit sauvegardée, chiffrée et poussée vers s3. Je me demande quelles pourraient être les "meilleures pratiques" pour une telle tâche. À partir de maintenant, j'utilise une méthode assez simple, mais j'aimerais avoir de meilleures idées en matière de sécurité. Voici le début de mon script:
mysqldump -u root --password="lepass" --all-databases --single-transaction > db.backup.sql
tar -c db.backup.sql | openssl des3 -salt --passphrase foopass > db.backup.tarfile
s3put backup/db.backup.tarfile db.backup.tarfile
# Let's pull it down again and untar it for kicks
s3get surgeryflow-backup/db/db.backup.tarfile db.backup.tarfile
cat db.backup.tarfile | openssl des3 -d -salt --passphrase foopass |tar -xvj
De toute évidence, le problème est que ce script contient tout ce dont un attaquant aurait besoin pour déclencher l'enfer.
Toutes les pensées, critiques et suggestions pour cette tâche seront appréciées.
la source
L'utilisation d'un mot de passe dans le script est une très mauvaise idée car cela peut être vu
ps aux
et lu par tous les utilisateurs du système.Je vous suggère de regarder dans mysqldump-secure . Il s'agit d'un script shell qui effectue le
openssl
chiffrement basé sur le chiffrement par clé publique-privée et est beaucoup plus performant que gpg.la source
Vous pouvez également simplement utiliser RDS qui fait tout cela pour vous.
la source