Comment sécuriser SSH avec l'authentification à deux facteurs de Google Authenticator
Vous souhaitez sécuriser votre serveur SSH avec une authentification à deux facteurs facile à utiliser? Google fournit le logiciel nécessaire pour intégrer le système de mot de passe à utilisation unique basé sur le temps de Google Authenticator à votre serveur SSH. Vous devrez entrer le code de votre téléphone lorsque vous vous connecterez.
Google Authenticator ne téléphone pas chez lui à Google. Tout le travail se fait sur votre serveur SSH et votre téléphone. En fait, Google Authenticator est complètement open-source, vous pouvez même examiner son code source vous-même..
Installer Google Authenticator
Pour implémenter l'authentification multifacteur avec Google Authenticator, nous avons besoin du module open source Google Authenticator PAM. PAM signifie “module d'authentification enfichable” - c'est un moyen de connecter facilement différentes formes d'authentification à un système Linux.
Les référentiels de logiciels Ubuntu contiennent un package facile à installer pour le module Google Authenticator PAM. Si votre distribution Linux ne contient pas de paquet pour cela, vous devrez le télécharger à partir de la page de téléchargement de Google Authenticator sur Google Code et le compiler vous-même..
Pour installer le paquet sur Ubuntu, exécutez la commande suivante:
sudo apt-get installez libpam-google-authenticator
(Ceci installera uniquement le module PAM sur notre système - nous devrons l'activer manuellement pour les connexions SSH.)
Créer une clé d'authentification
Connectez-vous en tant qu'utilisateur avec lequel vous vous connecterez à distance et exécutez le programme. google-authentificateur commande pour créer une clé secrète pour cet utilisateur.
Autorisez la commande à mettre à jour votre fichier Google Authenticator en tapant y. On vous posera ensuite plusieurs questions vous permettant de restreindre l’utilisation du même jeton de sécurité temporaire, d’augmenter la fenêtre de temps pendant laquelle les jetons peuvent être utilisés et de limiter les tentatives d’accès autorisées pour entraver les tentatives de craquage par force brute. Ces choix procurent tous une sécurité contre une facilité d'utilisation.
Google Authenticator vous présentera une clé secrète et plusieurs «codes de grattage d'urgence». Notez les codes de grattage d'urgence dans un endroit sûr. Ils ne peuvent être utilisés qu'une seule fois et sont destinés à être utilisés si vous perdez votre téléphone..
Entrez la clé secrète dans l'application Google Authenticator sur votre téléphone (les applications officielles sont disponibles pour Android, iOS et Blackberry). Vous pouvez également utiliser la fonction de numérisation de code à barres - accédez à l'URL située en haut de la sortie de la commande et numérisez un code QR avec l'appareil photo de votre téléphone..
Vous aurez maintenant un code de vérification changeant constamment sur votre téléphone.
Si vous souhaitez vous connecter à distance en tant que plusieurs utilisateurs, exécutez cette commande pour chaque utilisateur. Chaque utilisateur aura sa propre clé secrète et ses propres codes.
Activer Google Authenticator
Ensuite, vous devrez exiger Google Authenticator pour les connexions SSH. Pour ce faire, ouvrez le /etc/pam.d/sshd fichier sur votre système (par exemple, avec le sudo nano /etc/pam.d/sshd commande) et ajoutez la ligne suivante au fichier:
auth requis pam_google_authenticator.so
Ensuite, ouvrez le / etc / ssh / sshd_config fichier, localisez le ChallengeResponseAuthentication la ligne et modifiez-la comme suit:
ChallengeResponseAuthentication oui
(Si la ChallengeResponseAuthentication La ligne n’existe pas déjà, ajoutez la ligne ci-dessus au fichier.)
Enfin, redémarrez le serveur SSH pour que vos modifications prennent effet:
sudo service ssh redémarrer
Votre mot de passe et votre code Google Authenticator vous seront demandés chaque fois que vous tenterez de vous connecter via SSH..