

Authentification en 2 étapes sous Linux (SSH/PAM) avec Google Authenticator
source link: https://michael.bouvy.net/post/2-steps-auth-linux-ubuntu-pam-google
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Authentification en 2 étapes sous Linux (SSH/PAM) avec Google Authenticator
Depuis plusieurs mois déjà, les utilisateurs d'un compte Google ont la possibilité de mettre en place une vérification en 2 étapes lors de leur connexion (2-steps authentication), en passant par cette page, permettant ainsi d'ajouter une couche de sécurité supplémentaire à leur compte.
La méthode la plus simple afin de générer le code temporaire nécessaire à la 2ème étape d'authentification est d'utiliser l'application mobile (Android, iOS et Blackberry) open source Google Authenticator.
Google propose également un module PAM permettant de mettre en place une authentification en 2 étapes sur un poste Linux / Ubuntu.
Connectez-vous à votre poste avec le compte que vous souhaitez sécuriser et depuis une console téléchargez libpam : http://code.google.com/p/google-authenticator/downloads/list puis décompressez l'archive.
Quelques librairies sont à installer afin de permettre la compilation du module et la génération d'un QR Code :
sudo apt-get install libpam0g-dev libqrencode3
cd libpam-google-authenticator-*
make
sudo make install
Lors de l'installation, plusieurs questions vous serons posées, lisez-les avec attention afin de sélectionner l'option adaptée à votre contexte pour chacune d'entre elles.
Installez l'application mobile Google Authenticator sur votre téléphone (version Android sur Google Play, version iOS sur l'App Store) puis ajoutez votre compte en scannant le QR Code qui est apparu dans votre console (ou visible depuis le lien qui vous a été fourni) : une nouvelle ligne apparaît donc dans votre application mobile avec un nouveau code toutes les 30 secondes.
Reste maintenant à rendre obligatoire l'utilisation du module libpam-google-authenticator lors d'une connexion avec votre compte. Le plus simple ici est d'ajouter la ligne suivante à la fin de votre fichier /etc/pam.d/common-auth (sans oublier d'en faire une copie de sauvegarde au préalable) :
auth required pam_google_authenticator.so
Si vous vous connectez à votre poste via SSH, il est également nécessaire de modifier les deux paramètres de configuration suivants dans votre /etc/ssh/sshd_config :
ChallengeResponseAuthentication yes
UsePAM yes
Redémarrez ensuite votre serveur SSH. Par défaut, les codes générés sont basés sur l'heure, il est donc impératif que votre téléphone (sur lequel sera généré le code) et votre ordinateur soient à la bonne et même heure (synchronisation NTP).
Veillez également par sécurité à noter les codes de secours forunis permettant de se connecter en cas de perte de votre mobile par exemple. Vous pouvez désormais tester cette authentification en 2 étapes en vous connectant via une console, SSH ou Gnome (GDM) par exemple, qui vous demdanderont le code de vérification.
Par défaut, il vous sera également demandé lors d'un sudo. Deux petites remarques pour l'instant d'après mon expérience :
- Si vous utilisez une clé SSH pour vous connecter (avec mot de passe, pas testé sans), le code de vérification ne vous sera pas demandé
- Cette authentification en 2 étapes peut ne pas être supportée par certains clients ou avoir des comportement hasardeux, comme avec Proftpd par exemple qui se contente du seul mot de passe
Attention, en cas de mauvaise manipulation, votre accès pourrait être bloqué. Je ne pourrai en aucun cas en être tenu pour responsable.
Recommend
-
8
Des cartes collaboratives avec LivetitudeDes cartes collaboratives avec Livetitude Wed 23 November 2011Article original publié chez Makina Corpus Cela fait plusieurs semaines qu...
-
14
Mes premiers pas avec HerokuMes premiers pas avec Heroku Mon 10 October 2011J'ai pris le temps de tester la plateforme Heroku, qui fait pas mal de bruit en ce moment. L'idée est simple : le...
-
10
Avec Git rebase, vos arbres poussent droitAvec Git rebase, vos arbres poussent droit Fri 16 September 2011 Le problème Par défaut, un git pull est équivalent à git fetch et git merge. Les merge, c'est bien pour l...
-
12
Les interruptions sous Arduino / ATMega atmega328 arduino i2c...
-
17
Sous Vide 低温慢煮龙虾 Sat, Jul 21, 2018 • Cooking Prime Day 的时候入了一套...
-
8
用Sous vide做羊排用Sous vide做羊排 Nov 27, 2020 疫情受困在家的半年多里,做了很多菜,其中这个羊排使我不得不记录一下。我做菜一般都是看完很多个...
-
10
-
14
We may earn a commission for purchases using our links. Learn more. Best Sous Vide Machines in 2021
-
8
an ode to that "coffee friend" 24 Oct, 2022 I love when a friend is into something like coffee. We all know someone like that— they grind their own beans, brew their own fancy coffees, and have their ow...
-
6
CN-based client authentification with nginx. This emulates Apache's SSLRequire (%{SSL_CLIENT_S_DN_CN} in {"Really Me"}) · GitHub Instantly share code, notes, and snippets. ...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK