Comment utiliser un générateur de mots de passe pour l'authentification des connexions distantes?

54

Je souhaite renforcer l’authentification de mes connexions SSH en ajoutant un autre facteur: un générateur de mots de passe ou une application de génération de mots de passe sur mon téléphone mobile. Les seules options évidentes dans la configuration par défaut sont un mot de passe fixe et une paire de clés. Comment puis-je le faire?

(Si j'utilise un mot de passe plus un générateur de mots de passe, cela permet une authentification à deux facteurs (2FA): le mot de passe est "ce que je sais" et le mot de passe est "ce que j'ai".)

    
posée Jorge Castro 05.07.2012 - 00:00
la source

3 réponses

49

Pour ce faire, vous pouvez utiliser l’outil fourni par Google appelé Google Authenticator .

  1. Installez libpam-google-authenticator

    • ou juste sudo apt-get install libpam-google-authenticator
  2. Modifiez /etc/pam.d/sshd pour inclure le module:

    • sudoedit /etc/pam.d/sshd
    • puis incluez cette ligne dans le haut du fichier et enregistrez:

      auth required pam_google_authenticator.so
      
  3. Modifiez votre fichier de configuration SSH pour activer le défi:

    • sudoedit /etc/ssh/sshd_config , puis modifiez l'authentification de la réponse à partir de:

      ChallengeResponseAuthentication no 
      

      à

      ChallengeResponseAuthentication yes
      

      puis enregistrez le fichier.

  4. sudo restart ssh pour redémarrer SSH

  5. Exécuter google-authenticator

    • Cela vous donnera votre clé secrète, votre code de vérification et vos codes de travail d'urgence. Il vous demandera également certaines questions limitant les tarifs.

Applications mobiles:

Vous aurez besoin d’un de ceux-ci pour recevoir le code d’authentification sur un autre périphérique.

connexes et utiles:

  • La plupart de ces réponses proviennent de cet article de blog par Jean-François Theroux mais mis à jour.
  • Wiki Google Authenticator
  • lien
  • lien
  • Je crois comprendre que si vous utilisez des connexions sans mot de passe via des clés SSH que vous ne pouvez faire que l'une ou l'autre, consultez cette question: Comment configurer un login SSH sans mot de passe?
  • Et si vous utilisez Puppet, il existe un module de marionnettes ici: lien
  • Voir la réponse de Maarten et le lien vers la question github sur la raison pour laquelle vous devez ajouter la ligne .so en haut de votre configuration de pam: lien

Notez que la combinaison d'un mot de passe avec des codes d'accès à usage unique est une authentification à deux facteurs: elle combine "ce que vous savez" (un mot de passe) avec "ce que vous avez" (le générateur de mot de passe). D'un autre côté, si vous combinez des codes d'authentification à usage unique avec une paire de clés SSH, tout est question de "ce que vous avez". Lorsque deux facteurs d'authentification sont du même type, vous n'avez pas d'authentification à deux facteurs. cela est parfois appelé "authentification à un facteur et demi".

    
réponse donnée Jorge Castro 05.07.2012 - 00:00
la source
12

Google Authenticator convient parfaitement à vos serveurs personnels, mais vous risquez de constater qu’il ne correspond pas bien à votre infrastructure d’identité existante. Si vous souhaitez explorer d'autres options, pensez à utiliser RADIUS comme protocole d'authentification et plugin pam-radius. Tous les systèmes d'authentification à deux facteurs orientés entreprise prennent en charge le rayon. Nous avons écrit un document expliquant comment ajouter Authentification à deux facteurs WiKID via Ubuntu via pam-radius.

L'utilisation de radius vous permet de connecter d'autres systèmes que SSH au même serveur d'authentification. Vous pouvez également acheminer les demandes d'authentification via freeradius vers LDAP, puis vers votre serveur 2FA pour séparer l'autorisation de l'authentification. Vous pouvez faire la même chose avec AD btw.

    
réponse donnée nowen 05.07.2012 - 15:47
la source
1

J'invite tout le monde à mettre la ligne suivante en haut et non en bas de /etc/pam.d/sshd comme décrit précédemment (maintenant corrigé):

auth required pam_google_authenticator.so

Sinon, votre système restera ouvert aux attaques par force brute sur votre mot de passe, ce qui compromet la première partie de l’authentification à deux facteurs: votre mot de passe.

On vous demandera d’abord votre code de vérification, puis votre mot de passe (peu importe si le code était correct). Si l'un des deux se trompe, vous devez entrer les deux à nouveau. Vous pouvez le configurer à l'inverse, mais c'est un changement un peu plus difficile à décrire dans la configuration par défaut actuelle d'ubuntu (15.04) sshd.

Pour plus de détails sur la nécessité, vérifiez ce problème:

lien

    
réponse donnée Maarten 02.09.2015 - 10:56
la source

Lire d'autres questions sur les étiquettes