Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/11/2020, à 09:51

Guismo

ne pas laisser apparent un mot de passe

Bonjour,

Je voudrais ne pas laisser apparent un mot de passe dans un script en bash voici l'exemple :

DB_PASS="nagios"

Alors comment faire pour que ce mot de passe "nagios" ne puisse pas apparaitre dans le script ou tout simplement comment sécuriser ce script?

Merci pour vos futurs intervention et vos pistes données smile


L'Homme est l'espèce la plus insensée, il vénère un dieu invisible et massacre une nature visible ! Sans savoir que cette nature qu'il massacre est ce dieu invisible qu'il vénère !

Hors ligne

#2 Le 11/11/2020, à 11:39

WW

Re : ne pas laisser apparent un mot de passe

Bonjour Guismo,

Le plus simple est de le demander en prompt interactif via, par exemple :

read -s DB_PASS

L'option -s pour silent permet de ne pas afficher les caractères à la saisie.

SInon il te faut l'enregistrer chiffré et le déchiffré, idéalement avec une paire de clé publique/privée dont tu es le seul à posséder l'exemplaire de la privée.

Cordialement


Quand on sait c'est facile, mais qui n'a jamais été débutant.

Hors ligne

#3 Le 11/11/2020, à 18:03

Guismo

Re : ne pas laisser apparent un mot de passe

Salut WW,

Merci de ton intervention
Yes c'est pas mal comme idée ça.

J'avais avec ma petite débrouille déclaré ma variable

DB_PASS=`cat /opt/save` 

après avoir créé mon fichier save dans lequel j'ai noté le mot de passe puis ensuite j'ai fait un

chmod 100 /opt/save

pour ne donner aucun droits en lecture.

de plus le fichier est dans /opt donc je me suis dit qu'au niveau sécurité c'était bien non ?

J'ai fait des test on ne peut lire le passe, mais bon je ne suis pas un Linux Master donc...


Merci encore mais si il y à d'autre solution j'aimerais bien les connaître smile

Dernière modification par Guismo (Le 11/11/2020, à 18:26)


L'Homme est l'espèce la plus insensée, il vénère un dieu invisible et massacre une nature visible ! Sans savoir que cette nature qu'il massacre est ce dieu invisible qu'il vénère !

Hors ligne

#4 Le 11/11/2020, à 22:18

DonutMan75

Re : ne pas laisser apparent un mot de passe

Hello,
après je ne sais pas à quoi sert ce mot de passe mais il est aussi sans doute possible de le remplacer par un jeu de clef publique / clef privée...
On peut ensuite ajouter une passphrase sur la clef publique, passphrase qui sera demandée dynamiquement lors de l'exécution du script.
Mais pour creuser cette voie, il faudrait savoir à quoi se connecte le script.

D.

N.B : cette solution est bien différente de celle proposée en #2 par WW puisque, dans ce cas là, on chiffre le mot de passe par un jeu de clef publique/privée (si j'ai bien compris)

Dernière modification par DonutMan75 (Le 11/11/2020, à 22:20)

Hors ligne

#5 Le 12/11/2020, à 00:00

Hizoka

Re : ne pas laisser apparent un mot de passe

Juste pour info :

DB_PASS=`cat /opt/save` 

les ` sont dépréciés depuis longtemps.
Le cat est inutile, la bonne pratique serait plutôt :

DB_PASS=$(< /opt/save)

C'était juste histoire de dire... wink


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#6 Le 12/11/2020, à 00:30

kamaris

Re : ne pas laisser apparent un mot de passe

Guismo a écrit :

après avoir créé mon fichier save dans lequel j'ai noté le mot de passe puis ensuite j'ai fait un

chmod 100 /opt/save

pour ne donner aucun droits en lecture.

de plus le fichier est dans /opt donc je me suis dit qu'au niveau sécurité c'était bien non ?

Non, pas terrible, il n'y a pas vraiment de bonne solution en stockant sur disque je crois, il vaut mieux que tu fasses en interactif ou avec un système de clefs comme recommandé plus haut.
Par ailleurs :
- chmod 100 active le bit d'exécution sur ton fichier, ce qui est hors sujet. Tu peux mettre plutôt chmod 400  (de toutes façons, même si tu mets chmod 000, root pourra le lire).
- /opt n'est pas un endroit pour mettre ça, plutôt dans /root par exemple.

Dernière modification par kamaris (Le 12/11/2020, à 00:32)

Hors ligne

#7 Le 13/11/2020, à 18:32

Guismo

Re : ne pas laisser apparent un mot de passe

Salut à toutes et à tous,

un grand merci à tout le monde pour vos interventions smile

Kamaris, j'ai suivi ton conseil et j'ai mi le fichier dans root pour un souci je dirais de "propreté" !

Hizoka, non tu as bien fait au contraire effectivement j'aurais due y penser

DonutMan75, mon script se connecte sur un serveur FTP j'utilise des commande lftp et sftp pour me connecté !

Bon bien en mettant ce mot de passe dans un fichier sur lequel n'est administré aucun droit cela fonctionne que root puisse le lire pour moi se n'est pas grave, tans qu'un utilisateur ne puisse pas le lire c'est le principal.

Voila si il n'y à pas d'autre astuce d'ici une quinzaine bien je mettrais ce sujet en résolu!

Dernière modification par Guismo (Le 13/11/2020, à 18:32)


L'Homme est l'espèce la plus insensée, il vénère un dieu invisible et massacre une nature visible ! Sans savoir que cette nature qu'il massacre est ce dieu invisible qu'il vénère !

Hors ligne