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 .

  • Comment puis-je ssh au server avec rsa-key avec un nom d'user spécifique?
  • key ssh avec empreinte digitale
  • Le port SSHD modifié dans VPS ne peut pas se connecter
  • SSH gèle quand il est inactif pendant un certain time
  • Augmenter la limitation FD alors que SSH ne fonctionne pas?
  • Comment find par programme la key ssh par défaut?
  • OS X ssh: qu'est-ce que HostKeyAlgorithms et Ciphers sont disponibles?
  • L'authentification de la key partagée ssh request un mot de passe, à less que sshd ne s'exécute avec l'option -d
  • Quelle est la security pour protéger une key ssh sans mot de passe en utilisant l'option "command" dans le file authorized_keys?
  • Renvoi de port SSH avec un canal maître
  • Différences entre les tunnels de SSH et OpenVPN
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.