2010-04-07 3 views
0

J'ai un serveur avec lequel je ne peux pas utiliser de clés pré-partagées et ssh - toute l'authentification se fait via des invites interactives. Ce serveur a également cron et at désactivé pour les utilisateurs non root.Utiliser 'expect' de manière sécurisée pour automatiser les connexions/travail à distance

Je voudrais être en mesure de cron un travail sur mon ordinateur local qui exécutera un script sur le serveur distant pour effectuer une maintenance/des rapports périodiques.

Je ai composé avec expect certains, mais j'ai remarqué que pour automatiser la saisie du mot de passe à l'invite au bon moment, il doit être stocké en clair.

Existe-t-il un moyen de sécuriser le mot de passe de manière à le saisir une fois, puis brouillé/ce qui est local (comme passwd), puis je ne stocke pas le mot de passe en clair dans le script lui-même?

Répondre

2

Il est très peu sécurisé de s'en tenir à l'authentification par mot de passe en raison des attaques basées sur les réseaux de robots qui peuvent réduire l'utilité des hachages. Mais si vous devez, vous devez ...

Ce que je ferai quand coincé dans cette situation est de mettre le mot de passe dans un fichier séparé du script, rendre ce fichier de mot de passe seulement lisible par moi, et faire le répertoire est seulement lisible (et exécutable) par moi aussi. Je veillerai également à ce que le mot de passe ne soit jamais passé en argument ou dans une variable d'environnement; les deux sont trivialement snoopable avec ps. Passer le nom du fichier de mot de passe est OK (peut sécuriser le chemin) et passer le mot de passe à travers un tuyau sans nom est également sûr.

+0

Je ne suis pas concerné par les botnets avec ce serveur: c'est sur un réseau segmenté sans connectivité extérieure – warren

2

Le stockage des mots de passe est toujours non sécurisé (si vous avez besoin d'accéder au mot de passe en clair). Votre script devra avoir la logique de "dés-encodage". Toute personne disposant d'un accès en lecture à votre script pourra alors déterminer où le mot de passe codé est stocké et comment l'unencoder.

C'est un appel de jugement pour vous. Lequel appréciez-vous le plus: l'automatisation (pour gagner du temps) ou la sécurité par mot de passe?

Questions connexes