Recherche de site Web

Comment configurer l’authentification à deux facteurs pour SSH sur Fedora


Chaque jour, de nombreuses failles de sécurité semblent être signalées où nos données sont en danger. Malgré le fait que SSH soit un moyen sécurisé d’établir une connexion à distance à un système Linux, un utilisateur inconnu peut accéder à votre machine Linux s’il vole vos clés SSH, même si vous désactivez les mots de passe ou n’autorisez les connexions SSH que sur les clés publiques et privées.

Dans cet article, nous allons expliquer comment configurer l’authentification à deux facteurs (2FA) pour SSH sur la distribution Linux Fedora à l’aide de Google Authenticator pour accéder à un système Linux distant de manière plus sécurisée en fournissant un numéro TOTP (The Time-based One-time Password) généré de manière aléatoire par une application d’authentification sur un appareil mobile.

Lire aussi : Comment configurer l’authentification à deux facteurs pour les connexions SSH dans CentOS et Debian

Notez que vous pouvez utiliser n’importe quelle application d’authentification bidirectionnelle compatible avec l’algorithme TOTP pour votre appareil mobile. Il existe de nombreuses applications gratuites disponibles pour Android ou IOS qui prennent en charge TOTP et Google Authenticator, mais cet article utilise Google Authenticator comme exemple.

Installation de Google Authenticator sur Fedora

Tout d’abord, installez l’application Google Authenticator sur votre serveur Fedora à l’aide de la commande dnf suivante.

$ sudo dnf install -y google-authenticator

Une fois Google Authenticator installé, vous pouvez maintenant exécuter l’application.

$ google-authenticator

L’application vous pose un certain nombre de questions. Les extraits suivants vous montrent comment répondre à une configuration raisonnablement sécurisée.

Do you want authentication tokens to be time-based (y/n) y Do you want me to update your "/home/user/.google_authenticator" file (y/n)? y

L’application vous fournit une clé secrète, un code de vérification et des codes de récupération. Conservez ces clés dans un endroit sûr et sécurisé, car elles sont le seul moyen d’accéder à votre serveur si vous perdez votre appareil mobile.

Configuration de l’authentification du téléphone mobile

Sur votre téléphone mobile, allez sur l’App Store, Google Play ou iTunes, recherchez Google Authenticator et installez l’application.

Ouvrez maintenant l’application Google Authenticator sur votre téléphone mobile et scannez le code QR affiché sur l’écran du terminal Fedora. Une fois le scan du code QR terminé, vous obtiendrez un numéro généré de manière aléatoire par l’application d’authentification et utiliserez ce numéro chaque fois que vous vous connecterez à votre serveur Fedora à distance.

Terminer la configuration de Google Authenticator

L’application Google Authenticator pose d’autres questions et l’exemple suivant montre comment y répondre pour configurer la configuration sécurisée.

Vous devez maintenant configurer SSH pour utiliser la nouvelle authentification bidirectionnelle, comme expliqué ci-dessous.

Configurer SSH pour utiliser Google Authenticator

Pour configurer SSH afin d’utiliser l’application d’authentification, vous devez d’abord disposer d’une connexion SSH fonctionnelle à l’aide de clés SSH publiques, car nous allons désactiver les connexions par mot de passe.

Ouvrez le fichier /etc/pam.d/sshd sur votre serveur.

$ sudo vi /etc/pam.d/sshd

Commentez la ligne auth substack password-auth dans le fichier.

#auth       substack     password-auth

Ensuite, placez la ligne suivante à la fin du fichier.

auth sufficient pam_google_authenticator.so

Enregistrez et fermez le fichier.

Ensuite, ouvrez et modifiez le fichier /etc/ssh/sshd_config.

$ sudo vi /etc/ssh/sshd_config

Recherchez la ligne ChallengeResponseAuthentication et remplacez-la par yes.

ChallengeResponseAuthentication yes

Recherchez la ligne PasswordAuthentication et remplacez-la par no.

PasswordAuthentication no

Ensuite, placez la ligne suivante à la fin du fichier.

AuthenticationMethods publickey,password publickey,keyboard-interactive

Enregistrez et fermez le fichier, puis redémarrez SSH.

$ sudo systemctl restart sshd

Test de l’authentification à deux facteurs sur Fedora

Essayez maintenant de vous connecter à votre serveur à distance, il vous demandera de saisir un code de vérification.

$ ssh [email 

Verification code:

Le code de vérification est généré de manière aléatoire sur votre téléphone mobile par votre application d’authentification. Étant donné que le code généré change toutes les quelques secondes, vous devez le saisir rapidement avant qu’il n’en crée un nouveau.

Si vous entrez le mauvais code de vérification, vous ne pourrez pas vous connecter au système et vous obtiendrez l’erreur suivante : autorisation refusée.

$ ssh [email 

Verification code:
Verification code:
Verification code:
Permission denied (keyboard-interactive).
Conclusion

En mettant en œuvre cette authentification bidirectionnelle simple, vous avez ajouté une couche de sécurité supplémentaire à votre système, ce qui rend plus difficile l’accès à votre serveur pour un utilisateur inconnu.

Articles connexes: