Comment activer l'authentification à deux facteurs pour SSH dans Fedora Linux

Comment activer l'authentification à deux facteurs pour SSH dans Fedora Linux

Dans le monde des technologies de l'information, la sécurité est une préoccupation majeure de nos jours. Chaque jour, des attaques nouvelles et sophistiquées sont lancées contre les organisations. Les administrateurs système utilisent différentes façons pour durcir la sécurité de leurs serveurs. L'une des façons courantes d'interagir avec un serveur est d'utiliser le SSH (ou Sécurer ShotEll) Protocole qui est largement utilisé pour la journalisation à distance à un serveur. Outre les connexions à distance du shell, il est également utilisé pour copier des fichiers entre deux ordinateurs. Contrairement à d'autres méthodes comme Telnet, RCP, FTP, etc., Le protocole SSH utilise un mécanisme de chiffrement pour sécuriser la communication entre deux hôtes.

La sécurité fournie par le protocole SSH peut être encore améliorée en utilisant l'authentification à deux facteurs. Cela mettra en outre un mur fort entre votre ordinateur hôte et les attaquants. Pour vous connecter à votre serveur distant avec SSH, vous aurez besoin d'un mot de passe ainsi que d'un code de vérification (ou OTP) à partir d'une application Authenticatrice exécutée sur votre appareil mobile. Ceci est vraiment utile si un attaquant vole votre mot de passe, il ne pourra pas se connecter dans votre serveur sans le code de vérification.

Il existe de nombreuses applications d'authentificateur disponibles pour les appareils mobiles exécutant Android ou Apple iOS. Ce guide a utilisé l'application Google Authenticator pour le serveur Fedora et le périphérique mobile.

Ce que nous couvrirons

Ce guide verra comment nous pouvons utiliser l'authentification à deux facteurs avec le protocole SSH pour éviter un accès non autorisé à notre poste de travail Fedora 30. Nous essaierons de nous connecter à notre serveur Fedora à partir de la machine client Xubuntu pour voir si la configuration fonctionne comme prévu. Commençons à configurer SSH avec l'authentification à deux facteurs.

Conditions préalables

  1. Un système d'exploitation Fedora 30 installé sur le serveur distant avec un compte utilisateur «sudo».
  2. Une machine Xubuntu pour accéder au serveur ci-dessus.
  3. Un appareil mobile avec une application Google-Authenticatrice installée dessus.

Présentation de la configuration

  1. Machine Fedora 30 avec IP: 192.168.43.92
  2. Machine Xubuntu avec IP: 192.168.43.71
  3. Appareil mobile avec application Google-Authenticator.

Étape 1. Installez Google-Authenticator sur le serveur Fedora 30 à l'aide de la commande:

$ sudo dnf install -y google-authenticator

Étape 2. Exécutez la commande ci-dessous pour démarrer le Google-Authenticatrice sur votre serveur:

$ google-authenticatrice

Il posera des questions pour configurer le serveur pour travailler avec votre appareil mobile:

Voulez-vous que les jetons d'authentification soient basés sur le temps (y / n) y [entrez «y» ici]

Il affichera un code QR sur la fenêtre du terminal; Gardez cette fenêtre de terminal ouverte pour l'instant.

Étape 3. Installez l'application Google-Authenticator sur votre appareil mobile et ouvrez-le. Maintenant, cliquez sur l'option 'Analyser un code QR.'Maintenant, concentrez votre appareil photo mobile sur la numérisation du code QR sur la fenêtre de terminal de votre serveur.

Étape 4. Après avoir scanné le code QR, votre appareil mobile ajoutera un compte pour votre serveur et générera un code aléatoire qui continuera de changer avec une minuterie rotative, comme indiqué dans l'image ci-dessous:

Étape 5. Revenez maintenant à la fenêtre du terminal de votre serveur et entrez ici le code de vérification de votre appareil mobile. Une fois le code confirmé, il générera un ensemble de code à gratter. Ces codes à gratter peuvent être utilisés pour se connecter à votre serveur au cas où vous perdez votre appareil mobile. Alors, économisez-les dans un endroit sécurisé.

Étape 6. Dans les étapes supplémentaires, il posera quelques questions pour terminer la configuration. Nous avons donné ci-dessous l'ensemble des questions et leurs réponses pour configurer la configuration. Vous pouvez modifier ces réponses selon vos besoins:

Voulez-vous que je mette à jour votre "/ home / linuxhint /.Fichier Google_Authenticator "? (y / n) y [entrez 'y' ici]
Voulez-vous interdire plusieurs utilisations du même jeton d'authentification? Cela vous limite à une connexion environ toutes les années, mais cela augmente vos chances de remarquer ou même d'empêcher les attaques de l'homme au milieu (O / N) y [entrez «y» ici]
Par défaut, un nouveau jeton est généré toutes les 30 secondes par l'application mobile.Pour compenser l'éventuel temps de temps entre le client et le serveur, nous permettons un jeton supplémentaire avant et après l'heure actuelle. Cela permet une surface de temps jusqu'à 30 secondes entre le serveur d'authentification et le client. Si vous rencontrez des problèmes avec une mauvaise synchronisation du temps, vous pouvez augmenter la fenêtre de sa taille par défaut de 3 codes autorisés (un code précédent, le code actuel, le code suivant) à 17 codes autorisés (les 8 codes précédents, le code actuel et les 8 codes suivants). Cela permettra un éloge de temps jusqu'à 4 minutes entre le client et le serveur. Voulez-vous le faire? (y / n) y [entrez 'y' ici]
Si l'ordinateur dans lequel vous vous connectez n'est pas durci contre les tentatives de connexion à force brute, vous pouvez activer la limitation de taux pour le module d'authentification. Par défaut, cela limite les attaquants à pas plus de 3 tentatives de connexion toutes les années 30. Voulez-vous activer la limitation de débit? (y / n) y [entrez 'y' ici]

Étape 7. Ouvrez maintenant le fichier sshd_config avec n'importe quel éditeur

$ sudo vi / etc / ssh / sshd_config

Et faites les étapes suivantes:

  1. Décommente et définissez le PasswordAuthentication à oui.
  2. Décommente et définissez le ChallengeResponSauthentification à oui.
  3. Décommente et définissez le Usepam à oui.

Enregistrez et fermez le fichier.

Étape 8. Ensuite, ouvrez le / etc / pam.fichier d / sshd

$ sudo vi / etc / pam.d / sshd

et ajouter les lignes suivantes sous la ligne 'Auth subs Lask Password Auth:

Auth exigé pam_google_authenticator.donc

Étape 9. Démarrez et activez le service SSH sur le serveur Fedora avec la commande:

$ sudo systemctl start sshd
$ sudo systemctl activer sshd

Toutes les étapes de configuration du serveur sont maintenant effectuées. Nous allons maintenant passer à notre machine client, je.e., Xubuntu, dans notre cas.

Étape 10. Essayez maintenant de vous connecter avec SSH de la machine Xubuntu au serveur Fedora 30:

$ ssh linuxhint @ 192.168.43.92

Comme vous pouvez le voir, le SSH demande d'abord le mot de passe du serveur, puis un code de vérification de votre appareil mobile. Une fois que vous avez entré correctement le code de vérification, vous pouvez vous connecter au serveur Fedora distant.

Conclusion

Félicitations, nous avons réussi à configurer l'accès SSH avec l'authentification à deux facteurs sur Fedora 30 OS. Vous pouvez en outre configurer SSH pour utiliser uniquement un code de vérification pour vous connecter sans le mot de passe du serveur distant.