Introduction
SSH, le shell sécurisé, est souvent utilisé pour accéder à des systèmes Linux distants. Comme nous l'utilisons souvent pour nous connecter à des ordinateurs contenant des données importantes, il est recommandé d'ajouter une autre couche de sécurité. Voici l'authentification à deux facteurs (2FA).
Qu'est-ce que l'authentification à deux facteurs
L'authentification multifactorielle est une méthode permettant de confirmer votre identité en utilisant au moins deux moyens d'authentification différents. L'exemple d'authentification à deux facteurs le plus courant et le plus facile à mettre en œuvre utilise une combinaison de phrase de passe (un mot de passe complexe, souvent composé de plusieurs mots) et de code d'accès unique généré par une application mobile spéciale.
Nous utiliserons l'application Google Authenticator disponible pour Android (dans le Play Store) et iOS (dans iTunes) pour générer des codes d'authentification.
Ce dont vous aurez besoin :
- Un ordinateur fonctionnant sous Ubuntu 20.04 LTS
- Un téléphone fonctionnant sous Android ou iOS
- Une connexion SSH configurée
- Vous devez comprendre le danger que représentent les mots de passe volés.
- Vous n'avez pas besoin de savoir ce qu'est l'authentification à deux facteurs et comment elle fonctionne.
Installation du module PAM de Google Authenticator
Démarrez une session de terminal et tapez :
sudo apt install libpam-google-authenticator
Configurer les SSH
Pour que SSH utilise le module PAM de Google Authenticator, ajoutez la ligne suivante au fichier /etc/pam.d/sshd :
auth required pam_google_authenticator.so
Maintenant, vous devez redémarrer le service sshd en utilisant :
sudo systemctl restart sshd.service
Modifiez /etc/ssh/sshd_config - changez ChallengeResponseAuthentication de no à yes, pour que cette partie du fichier ressemble à ceci :
# Changer en oui pour activer les mots de passe de défi-réponse (attention aux problèmes avec # certains modules et fils de discussion PAM) ChallengeResponseAuthentification yes
Configuration de l'authentification
Google Authenticator rend la configuration de l'authentification à deux facteurs beaucoup plus facile, par rapport (par exemple) à libpam-oath.
Dans un terminal, lancez la commande google-authenticator.
Elle vous posera une série de questions, voici une configuration recommandée :
- Make tokens “time-base”“: yes
- Update the .google_authenticator file: yes
- Disallow multiple uses: yes
- Increase the original generation time limit: no
- Enable rate-limiting: yes
Vous avez peut-être remarqué le code QR géant qui est apparu au cours du processus. En dessous se trouvent vos codes à gratter d'urgence à utiliser si vous n'avez pas accès à votre téléphone : notez-les et conservez-les en lieu sûr.
Maintenant, ouvrons le Google Authenticator et ajoutons notre clé secrète pour le faire fonctionner.