Scripting postgres synchronisation – est-ce sécurisé?

J'ai écrit un script pour synchroniser (recréer à partir de zéro) une database de production avec une database de développement, et je souhaitais avoir un aperçu des fautes / problèmes de security potentiels, le script est affiché ci-dessous. Le server a un access distant désactivé pour des raisons de security, et l'authentification ssh est gérée à l'aide de l'authentification publickey.

#!/bin/bash #this is pretty seriously sketchy script... current_time=`date +%s` dump_file_name=/tmp/temporary_dump_$current_time.dump echo SSHing and dumping to $dump_file_name ssh -t remoteuser@remote.server.amazonaws.com << EOT pg_dump -U postgres -Fc dbName > $dump_file_name PASSWORD #password in plain text exit EOT echo SCPing the file locally to: `pwd`$dump_file_name scp remoteuser@remote.server.amazonaws.com:$dump_file_name $dump_file_name echo Cleaning up the remote file ssh -t remoteuser@remote.server.amazonaws.com << EOT rm $dump_file_name exit EOT ssh -t development@development-testing << EOT pg_restore --clean --dbname=dbName -Fc --username=postgres -W $dump_file_name PASSWORD #password in plain text exit EOT echo Cleaning up the local file rm $dump_file_name exit 0 

One Solution collect form web for “Scripting postgres synchronisation – est-ce sécurisé?”

À première vue, je vois quatre problèmes:

  1. Vous stockez un mot de passe en text clair.
    Peur horrible, imperdable même. Il existe d'autres façons de faire face à cela, mais chacun a ses propres problèmes de security.
    Si vous devez absolument save ceci, assurez-vous que le script n'est pas lisible par quiconque ne devrait pas avoir le mot de passe …

  2. Vous stockez votre déchargement DB dans le nuage, non chiffré.
    Avez-vous vraiment confiance à la security d'Amazon? Vous ne devriez pas.

  3. Vous pouvez exécuter ce script plus d'une fois (et avoir 2 en même time).
    Ce n'est pas un problème de «security», mais cela peut être abusif pour votre database. Le script devrait se verrouiller afin qu'il ne puisse pas fonctionner plus d'une fois.

  4. pg_dump gets inefficace sur les grandes bases de données
    Ce n'est pas non plus un problème de «security», mais consultez la documentation de Postgres sur la sauvegarde et la restauration pour plus d'informations.
    Également envisager de requestr des sauvegardes sur notre site DBA .

  • SSH sans invoquer la coquille
  • Quelle est la meilleure pratique pour la communication entre les instances Amazon EC2?
  • Exécuter le code de fonction local sur un server distant
  • Comment vérifier l'état mysql sur Unix
  • Tunnel SSH donnant «interdit administrativement: ouvert échoué» après quelques heures
  • Comment définir le port SSH pour le server cible avec znapzendsetup
  • Définition d'une variable pour un hôte SSH donné
  • git pull: Autorisation refusée (publickey)
  • Routage de tous les trafics par le biais de socks proxy en utilisant ssh -D
  • Migrer des données d'un server à l'autre en utilisant rsync
  • qu'est-ce que 'Connecté sans divulguer la key publique - Intrusion?' signifier?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.