1 votes

Comment cacher un mot de passe à ps, s'il est donné à un processus via script ou ligne de commande ?

J'ai donc un certain programme, qui fonctionne presque 24 heures sur 24 et 7 jours sur 7.

J'ai écrit en bash un script script qui fait simplement :

./app --user XXX --pass YYY

Il existe quelques autres options, mais elles ne sont pas pertinentes pour cette question.

Une fois exécuté, le laissez-passer s'affichera toujours dans ps pour d'autres utilisateurs et, je suppose, dans d'autres lieux également. Comment éviter cela ? L'application ne peut pas être modifiée, la seule option que j'ai est de le faire en passant le mot de passe d'une manière ou d'une autre.

Il est également très important que l'application soit lancée via un script car j'automatise son démarrage et son arrêt sur plusieurs machines. Le saisir manuellement à chaque fois n'est pas vraiment une option.

Cependant Je n'ai pas besoin qu'il soit illisible dans le script de bash lui-même. Il n'y a pas de problème s'il est en texte clair, j'ai seulement besoin qu'il soit sécurisé dans les endroits où d'autres utilisateurs pourraient être en mesure de vérifier les processus en cours, tels que ps

2voto

martin Points 49

La solution la plus sûre consiste à transmettre le mot de passe autrement que par une option de ligne de commande. Les deux méthodes les plus courantes consistent à utiliser une variable d'environnement ou à demander au programme de le lire à partir d'un fichier.

Chacune de ces méthodes peut nécessiter des modifications du programme lui-même s'il ne les prend pas déjà en charge.

Une autre approche, moins sûre (mais toujours meilleure que celle que vous avez actuellement), consiste pour le programme à copier le mot de passe de la ligne de commande vers un autre emplacement de la mémoire, puis à effacer l'emplacement de la mémoire où est stockée la ligne de commande.

Cette approche est moins sûre, car elle sera encore visible brièvement pendant le démarrage du programme. Certains programmes le font déjà, mais si ce n'est pas le cas, le programme devra être modifié pour le faire.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X