Linux est réputé pour son exigence de mot de passe à chaque action critique sur le système. Cette caractéristique contribue largement à la perception de Linux comme un système d’exploitation plus sécurisé que la majorité, bien qu’il ne soit pas exempt de failles. L’adoption de mots de passe complexes et d’une politique rigoureuse d’utilisation de sudo est une excellente base, mais elle n’offre pas une protection absolue. C’est pourquoi de nombreux experts en sécurité préconisent l’authentification à deux facteurs (2FA) sous Linux.
Cet article détaille l’implémentation de l’authentification à deux facteurs sur Linux, en utilisant l’application Google Authenticator.
Installation du module PAM
L’intégration de Google Authenticator est rendue possible grâce à un module PAM (Pluggable Authentication Modules). Ce module est compatible avec GDM et d’autres gestionnaires de bureau. Voici comment procéder à son installation sur votre système Linux:
Note importante : Avant de commencer la configuration, veuillez télécharger l’application Google Authenticator depuis le Google Play Store ou l’App Store d’Apple. Cette application est essentielle pour ce tutoriel.
Ubuntu
sudo apt install libpam-google-authenticator
Debian
sudo apt-get install libpam-google-authenticator
Arch Linux
Arch Linux ne propose pas le module d’authentification PAM Google par défaut. Les utilisateurs doivent le télécharger et le compiler via un paquet AUR. Procurez-vous la dernière version du PKGBUILD, ou utilisez votre assistant AUR préféré.
Fedora
sudo dnf install google-authenticator
OpenSUSE
sudo zypper install google-authenticator-libpam
Autres distributions Linux
Le code source de l’application Google Authenticator pour Linux, ainsi que le plugin libpam utilisé dans ce guide, sont disponibles sur Github. Si vous utilisez une distribution Linux moins courante, rendez-vous ici et suivez les instructions pour la compilation à partir des sources.
Configuration de Google Authenticator sur Linux
Une modification du fichier de configuration de PAM est requise pour que le plugin d’authentification Google fonctionne. Ouvrez un terminal et exécutez la commande suivante pour éditer le fichier:
sudo nano /etc/pam.d/common-auth
Le fichier `common-auth` contient de nombreuses lignes, y compris des commentaires et des instructions sur la gestion de l’authentification. Ignorez ces éléments et repérez la section «# here are the per-package modules (the « primary » block)». Positionnez le curseur sur la ligne immédiatement en dessous, et appuyez sur Entrée pour créer une nouvelle ligne. Saisissez ensuite la ligne suivante:
auth required pam_google_authenticator.so
Enregistrez les modifications avec CTRL+O, puis quittez l’éditeur Nano avec CTRL+X.
Retournez au terminal et tapez la commande « google-authenticator ». L’outil vous posera quelques questions pour configurer l’authentification.
La première question est : « Voulez-vous que les jetons d’authentification soient basés sur le temps ? » Répondez « oui » en tapant « y » et en validant.
Après cette réponse, l’outil affichera une clé secrète et des codes de secours. Prenez note de ces informations.
Répondez ensuite « oui » aux trois questions suivantes, puis « non » aux deux dernières.
La dernière question porte sur la limitation du débit. Si cette option est activée, Google Authenticator n’autorisera que trois tentatives de connexion en 30 secondes. Pour renforcer la sécurité, il est conseillé de répondre « oui » à cette question. Cependant, si la limitation du débit n’est pas une priorité, vous pouvez répondre « non ».
Configuration de l’application Google Authenticator
La configuration côté Linux est terminée. Il est temps de configurer l’application Google Authenticator pour qu’elle fonctionne avec votre système. Lancez l’application et choisissez l’option « Saisir une clé fournie ». Cela ouvrira une section pour entrer les détails du compte.
Dans cette zone, deux champs doivent être remplis : le nom de l’ordinateur que vous utilisez avec l’authentificateur et la clé secrète que vous avez notée précédemment. Complétez ces informations et Google Authenticator sera opérationnel.
Connexion
Votre authentification à deux facteurs est maintenant opérationnelle. Au moment de vous connecter, sélectionnez votre nom d’utilisateur sur l’écran de connexion GDM (ou LightDM, etc.). Après avoir sélectionné votre compte, votre système vous demandera un code d’authentification. Lancez l’application Google Authenticator sur votre téléphone et saisissez le code affiché dans le gestionnaire de connexion.
Si le code est correct, vous pourrez ensuite entrer votre mot de passe.
Note : L’authentification à deux facteurs n’est pas limitée au gestionnaire de connexion. Chaque fois qu’un utilisateur tente d’obtenir des privilèges root, d’utiliser sudo, ou d’effectuer une action nécessitant un mot de passe, un code d’authentification sera demandé.
Conclusion
L’intégration de l’authentification à deux facteurs au sein d’un environnement de bureau Linux ajoute un niveau de sécurité supplémentaire qui devrait être systématique. Avec cette mesure de sécurité activée, il devient nettement plus difficile d’accéder au système d’une personne.
L’authentification à deux facteurs peut parfois présenter des inconvénients (par exemple, si le code est saisi trop lentement), mais globalement, elle constitue un ajout appréciable pour tout environnement de bureau Linux.