Journal pam_usb + pam_ssh

Posté par  .
Étiquettes : aucune
0
18
août
2005
Cher journal,

Gros feignant de nature je cherche un moyen simple pour ne pas taper plusieurs fois des mots de passe tout en gardant un niveau de sécurité correct.

Je m'explique. Je souhaiterais avoir une clef privée SSH chiffrée par une passe phrase sur une clef USB. Cette clef privée devrit me permettre également de m'authentifier via GDM. Le but est de rentrer une seule fois la passe phrase pour GDM et ssh-add. Si en plus le système pouvait vérifier le n° de série de la clef USB, et locker la machine qd je retire la clef, ce serait le top.

J'ai regardé du côté de pam_usb [1] qui permet de s'authentifier avec une clef privée chiffrée et gère le n° de série mais je n'ai rien vu concernant la gestion d'une clef SSH.

D'un autre côté pam_ssh [2] permet de s'authentifier en utilisant la passe phrase de la clef SSH et d'utilisent ssh-agent sans retaper la phrase.

Globalement, je souhaiterais combiner pam_usb et pam_ssh.

Une idée ?

[1] http://pamusb.org/(...)
[2] http://pam-ssh.sourceforge.net/(...)
  • # 30 secondes sur Google

    Posté par  (site web personnel) . Évalué à 4.

    • [^] # Re: 30 secondes sur Google

      Posté par  (site web personnel) . Évalué à 4.

      et tu n'as plus qu'a monté la clé usb en /home/tonlogin à la connection ;)
      Et tes données ne seront même pas sur ton PC.
      • [^] # Re: 30 secondes sur Google

        Posté par  (site web personnel) . Évalué à 5.

        Je ne vois pas là la solution à son problème: la page n'explique pas comment faire pour que cela configure ssh-agent quand on se logue avec pam_usb...

        Par contre, à mon avis, il doit y avoir quelque chose à faire avec l'option standard des modules pam "try_first_pass" qui dit à un module d'essayer le mot de passe entré pour celui d'avant, et d'en demander un uniquement si ca ne va pas. Bien sûr, il faut alors utiliser le même mot de passe pour pam_ssh et pam_usb
  • # Rien à voir mais

    Posté par  . Évalué à 4.

    feignant -> fainéant.

    Je sais bien qu'on prononce (à tort) à la manière du premier, mais ce n'est pas une raison pour l'écrire...
    • [^] # Re: Rien à voir mais

      Posté par  . Évalué à 8.

      Arf !! A toujours vouloir trouver des fautes partout, y en a qui dise n'importe quoi !

      On trouve feignant ici : http://atilf.atilf.fr/(...)

      FEIGNANT, ANTE, FAIGNANT, ANTE, adj. et subst.
      [Forme pop. de fainéant] Synon. de cossard (pop.), paresseux; anton. bûcheur (fam.), travailleur.

      On a quand même bien le droit d'utiliser des termes populaires !
      • [^] # Re: Rien à voir mais

        Posté par  (site web personnel) . Évalué à 1.

        ah oui mais non. Par exemple il est formellement interdit de dire « blindé » à la place de « bondé ».
        • [^] # Re: Rien à voir mais

          Posté par  . Évalué à 2.

          Effectivement, aujourd'hui oui mais dans quelques années...
          Et puis, de toute façon, c'est autorisé : puisque le mot est juste orthographiquement, on peut l'utiliser (à titre de métaphore par exemple) ! Après, peut-être que la personne qui lira ces mots pourra être choquée car il n'est pas employé dans le bon contexte mais dans un dialogue de roman, pourquoi pas ! Et dans quelques années, peut-être que l'entrée du dictionnaire sera enrichi par ce nouveau sens !
  • # \_o<

    Posté par  (site web personnel) . Évalué à 0.

    j avais fait ca avec des catres a puces; faut que je retruove mes scipts, et je les publirai ... tu me file ton email en prive ?

    j espere avoir le temps ce WE ...

    je metrai ca sur un site, je met le lien ici, et je te mail des que c est mis a jour.
    • [^] # Re: \_o<

      Posté par  (site web personnel) . Évalué à 2.

      http://saturn.doublehp.org/tmp/cb_dir.tgz(...)

      c est crade, mais ca marche, donc ca donne des idees.

      - inittab -> lance un demon
      - le demond scanne syslog contre les evenements de pcscd
      - insertion de carte -> appelle insert.sh
      - ejection de carte -> appelle eject.sh

      insert.sh:
      - X ne tourne pas, ou tourne, mais personnede logue, on lance X avec dhp comme user par default.
      - X tourne, on suprime le fichier lock chez le user.

      eject.sh:
      - on cre le fichier lock

      .xinitrc:
      - on lance le demon userland

      demon user:
      - on matte si le lock existe:
      * oui: on lance xlock
      * non: sleep 1, et boucle.

      je dis pas que c est beau, je dis que c est fonctionnel.
      • [^] # Re: \_o<

        Posté par  (site web personnel) . Évalué à 2.

        cote hardware:
        - lecteur Athena III USB
        - une carte a puce ordinaire (CB, Vitale ...)

        - un demon pcscd qui met tout dans syslog.

        avant qu un mec sache que ton implementation utilise un truc aussi crade, sache quelle zone de ta cart personelle est lue, te pecho ta carte, et duplique la bonne zone, la Seine se sera assechee.

        Moi je voulais un truc non interactif ... mais ca empeche pas de coder le code PIN dans le script, et de faire de l interraction, question que la lecture de la carte soit impossible avant d avoir eu acces a TON source de script ... car le mien lit une zone pulbique de la carte, mais toi tu peut patcher pour lire une zone privee.

        Surtout que dans une CB, la zone privee n est qu un journal n ayant aucune valeur ni fiduciaire, ni legale ... tu peux donc alterer cette zone meme dans une carte valide sans pour autant deteriorer ta CB, et y mettre un truc plus aleatoire que ce que les DAB y mettent (date, heure, lieu et montant de tes achats, mais pas la monaie utilisee: si un magasin frontalier propose un paiment en Livres, euros, dolards, ou francs suisse, le journal dit juste que le commercant t a fait payer 173 ... mai on sait pas 173 quoi.

        D ou son inutilite.

        et l interret securitaire (a notre niveau) pour y mettre des trucs exotiques, genre un nombre aleatoire maison pour customiser ta CB.
  • # Finalement ...

    Posté par  . Évalué à 1.

    Après avoir passé quelques heures à chercher, je me suis contenté de pamssh auquel j'ai ajouté le paquet debian usbmount.

    D'après ce que j'ai compris de pamusb, il permet de s'authentifier avec une clef RSA ou DSA éventuellement chiffrée en 3des ou en blowfish. J'ai déjà une clef qui correspond à ces caractèristiques : ma clef ssh ! pamusb permet en plus lister les n° de série des clefs usb qui peuvent être utilisées, cette fonctionnalité m'intéressait beaucoup mais ma clef n'a pas de n° de série (usbadm ne le trouve pas et je n'ai rien vu dans /sys/...). L'apport de pamsub est qu'il n'y a pas besoin de gérer le montage de la clef.

    J'ai donc essayé de faire la même chose que pamusb avec pamssh. J'ai mis ma clef ssh sur ma clef usb (en créant une partiton de 512k en ext2) puis j'ai fais un lien de .ssh.id_dsa vers la clef privée sur la clef usb. Ensuite, il fallait monter la clef automatiquement : pour cela j'utilise usbmount. J'aurais des soucis si j'aivais plusieurs usbstorage en même temps mais ce n'est pas le cas.

    Ensuite, il suffit d'ajouter les module pamssh aux fichiers /etc/pam.d qui vont bien (login et gdm).

    Mon écran de veille ne se locke pas encore qd je retires la clef et ça ne retire pas la clef privée de ssh-add. Je vais aller voir su côté de xlock pour cela.

    Merci de tous vos commentaires.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.