Général: Le meilleur moyen de gérer le mot de passe en clair? Spécifique: Cygwin / email / bash

5

J'installe Cygwin, et l'un des packages que j'utilise est le "courrier électronique", pour quoi d'autre, l'envoi de courrier électronique à partir d'un script.

J'ai "amélioré" l'une de mes préoccupations concernant la configuration de l'e-mail, en copiant /etc/email/email.confdans un répertoire de mon répertoire personnel, plutôt que de modifier ce fichier de configuration par défaut avec mes paramètres (c'est-à-dire le nom d'utilisateur et le mot de passe, principalement). heebie-jeebies pour taper mon mot de passe SMT en clair dans un fichier texte, même s’il est ~/my-email.conf.

La commande email a le paramètre -i (ou -smtp-pass), auquel je pourrais attacher le mot de passe dans le script d'appel, mais ce n'est pas vraiment mieux, car c'est toujours du texte en clair dans un fichier texte.

En outre, la commande email autorise le paramétrage smtp-auth='LOGIN'et demande le mot de passe, mais je préférerais (nécessite?) L'opération sans script du script, afin de pouvoir l'automatiser ultérieurement.

Quelle est la meilleure façon de résoudre ce problème de devoir stocker un mot de passe en clair dans un fichier de configuration (ou un script)? Cygwin, c’est mieux. Il est donc préférable de s’adresser simplement à Windows et de s’assurer que les autorisations de sécurité sur ce fichier sont limitées à moi-même. (c.-à-d. supprimer l'accès en lecture par défaut accordé au groupe "Utilisateurs", etc.) Ou existe-t-il un moyen plus courant / approprié de gérer cela?

JMD
la source

Réponses:

1

Il y a deux façons différentes de gérer cela.

  1. Vous pouvez hacher le mot de passe stocké ou utiliser une partie du hachage du mot de passe stocké comme mot de passe. Cela ne protégera pas le mot de passe de quelque manière que ce soit, puisque le script lui-même aura probablement la méthode pour décompresser le mot de passe incorporé, mais cela empêchera le mot de passe en texte clair d'être présent dans un fichier. Vous pouvez utiliser sha1sum, md5sum ou même crypt.

  2. Vous pouvez utiliser un script pour appeler votre programme de messagerie avec le mot de passe envoyé comme argument. Le script lui-même peut contenir votre mot de passe, bien que vous puissiez hacher cette valeur ou même utiliser sqlite3 pour la stocker. Si vous ne craignez pas de devoir exécuter le script en arrière-plan sans surveillance, il devrait être relativement facile de demander à un script de vous demander un mot de passe, puis de l'envoyer à la commande email.

  3. Vous pouvez utiliser expect pour répondre à l'invite si vous utilisez smtp-auth = 'LOGIN'. Expect est un paquet que vous pouvez installer sur cygwin. Il y a une question sur stackoverflow sur la façon de faire attendre un mot de passe . C'est plus une solution si vous avez besoin du script pour pouvoir envoyer le mot de passe sans surveillance.

Pour un simple extrait d’attente pour l’envoi du mot de passe à quelque chose comme ssh-add

set timeout -1
spawn ssh-add
match_max 1000000
expect "Enter passphrase for "
send -- "$password\r"
Darren Hall
la source
0

Sur les systèmes Debian, j'utiliserais ecryptfs pour créer un dossier chiffré dans mon répertoire personnel (c'est effectivement ce que je fais), puis créer un lien symbolique vers ce fichier.

Vous ne pouvez probablement pas trouver de logiciel pour le faire, mais TrueCrypt vous laissera une partition chiffrée que vous pourriez rendre assez petite et où stocker de tels fichiers. Les nouveaux liens symboliques du souper NTFS maintenant, vous devriez donc pouvoir le faire parfaitement.

singpolyma
la source