Serveur dédié : Authentification SSH à deux facteurs
Ce guide a été créé avec les produits suivants :
(Les détails peuvent varier selon les produits de différents fournisseurs, mais les concepts principaux restent les mêmes)
Introduction
Le service d’authentification SSH à deux facteurs (2FA) de Google, appelé Google Authenticator SSH, améliore la sécurité de l’accès SSH (Secure Shell) en ajoutant une seconde couche d’authentification. Alors que SSH offre déjà une méthode sécurisée pour établir une connexion chiffrée à un serveur distant, l’intégration de la 2FA augmente le niveau de sécurité en demandant aux utilisateurs non seulement leur mot de passe, mais aussi un code de vérification à usage unique généré par Google Authenticator. Dans ce guide, nous allons explorer le processus d’installation et de configuration du service Google Authenticator SSH sur un serveur Linux.
Installation
Commencez par installer Google Authenticator sur votre VPS Linux. Exécutez la commande suivante :
sudo apt install libpam-google-authenticator
Vous serez ensuite invité à taper "Y" pour installer le paquet, faites-le, appuyez sur Entrée et Google Authenticator sera installé !
Lancez Google Authenticator en tapant google-authenticator. Assurez-vous que la taille de votre fenêtre est suffisante pour afficher le QR Code, sinon appuyez sur "CTRL+C" et relancez la commande.
On vous demandera à nouveau si vous souhaitez exécuter la configuration, tapez "Y" pour accepter. Vous obtiendrez alors un QR Code. Ouvrez votre application Authenticator sur votre smartphone et scannez le QR Code. Pour cet exemple, nous utilisons Google Authenticator :
Pensez bien à copier les codes de secours, chacun peut être utilisé une fois en cas de perte de votre authentificateur.
L’application vous affiche déjà les codes nécessaires pour vous connecter plus tard. Ça ressemble à ça :
Les questions suivantes vous seront posées :
- Voulez-vous sauvegarder la configuration Google Authenticator ?
- Voulez-vous une seule connexion toutes les 30 secondes ?
- Faut-il augmenter la durée pendant laquelle un code est valide ?
- Faut-il limiter à trois connexions toutes les 30 secondes ? (Protection contre les attaques par force brute)
Pour des raisons de sécurité, on recommande de répondre Oui à toutes.
Configuration
Il faut maintenant ajuster Google Authenticator pour qu’il soit bien pris en compte. Deux modifications sont nécessaires.
/etc/ssh/sshd_config
Activez les modules requis dans le fichier /etc/ssh/sshd_config. Ouvrez-le avec la commande :
sudo nano /etc/ssh/sshd_config
Vous êtes maintenant dans un éditeur de texte. Déplacez-vous avec les flèches, supprimez ou ajoutez du texte librement, puis sauvegardez avec CTRL + X, tapez Y et validez avec Entrée.
Assurez-vous que les lignes UsePAM et ChallengeResponseAuthentication soient bien réglées sur yes. Comme ceci :
Sauvegardez le fichier avec CTRL + X, puis Y et Entrée. Redémarrez ensuite SSH avec la commande suivante :
sudo systemctl restart ssh
/etc/pam.d/sshd
Ajoutez maintenant Google Authenticator à la connexion dans le fichier /etc/pam.d/sshd. Ouvrez-le avec :
sudo nano /etc/pam.d/sshd
Descendez jusqu’à la fin du fichier et ajoutez la ligne suivante :
auth required pam_google_authenticator.so
Sauvegardez avec CTRL + X, puis Y et Entrée.
Test d’accès
Il est temps de vous connecter pour la première fois avec la 2FA. Après avoir suivi les étapes ci-dessus, il vous suffit de redémarrer votre connexion SSH.
Entrez votre mot de passe comme d’habitude. On vous demandera un code, entrez simplement le code 2FA actuel.
Et voilà, vous êtes connecté !
Conclusion
Félicitations, vous avez configuré avec succès la 2FA pour votre accès SSH. Pour toute question ou aide supplémentaire, n’hésitez pas à contacter notre équipe support, disponible tous les jours pour vous aider ! 🙂