# Nouveau mot de passe à chaque démarrage ou périodique 2023-07-08T13:18:57Z Idée stupide pour éviter qu'on ne subtilise votre session quand vous avez le dos tourné : un mot de passe qui change à chaque démarrage. Bien sûr, il faut que l'utilisateur concerné puisse connaître son mot de passe. Pour ça, on peut imaginer plusieurs possibilités : - Un mot de passe avec un squelette de base qui ne change pas et une partie qui dépend de la date : ''stupid-password-$(date +%d%m)'' donnerait pour aujourd'hui ''stupid-password-0807''. Cette dernière partie peut aller chercher dans une bibliothèque de mots de passe dont seul l'utilisateur a le secret, chaque mot de passe dépendant du jour de la semaine... Tout est imaginable. - Mot de passe entièrement aléatoire et envoi du nouveau mot de passe à l'utilisateur par mail. Ça nécessite un accès à la boîte mail, mais c'est mieux que la précédente. Notez que l'on pourraît très bien imaginer appeler ce script toutes les heures avec une tâche cron pour root. Pour l'instant, je l'appelle dans ''/etc/rc.local'' pour qu'il soit appelé à chaque démarrage : ``` # generate random password for user at boot u="prx" # uncomment for a password depending on the date # newpw="stupid-password-$(date +%d%m)" # really random password sent by mail newpw="$(jot -rcs '' 20 32 126)" printf "%s" "${newpw}" | mail -s "newpw" prx@si3t.ch newpwhash="$(printf "%s" "${newpw}" | encrypt -b a)" usermod -p "${newpwhash}" "${u}" ``` Bien sûr, ça ne vaudra jamais une yubikey ou bien encore ceci : https://www.openbsd.org/faq/faq10.html#SKey --- Une réaction? Envoyez votre commentaire par mail (anonyme): mailto:bla@bla.si3t.ch?subject=new-password-at-each-boot Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: https://si3t.ch/log/_commentaires_.txt