Comment installer et activer l'authentification multi-facteurs SSH pour les systèmes Linux

Comment installer et activer l'authentification multi-facteurs SSH pour les systèmes Linux
Secure Shell (SSH) est un protocole populaire utilisé pour l'accès à distance aux serveurs et systèmes Linux. Il fournit une connexion sûre et cryptée qui permet aux utilisateurs de gérer et d'administrer leurs systèmes à distance.

Cependant, l'utilisation d'un nom d'utilisateur et d'un mot de passe pour accéder à SSH peut laisser vos systèmes vulnérables aux attaques brutales, à la devinettes de mot de passe et à d'autres menaces de sécurité. C'est là que l'authentification multi-facteurs (MFA) est utile.

Il s'agit d'une couche de sécurité supplémentaire qui oblige les utilisateurs à fournir deux ou plusieurs formes d'authentification pour accéder à un système. En obligeant les utilisateurs à présenter plusieurs facteurs, le MFA peut améliorer considérablement la sécurité de l'accès SSH.

Le MFA est essentiel pour les systèmes qui gèrent les données sensibles ou confidentielles car elles aident à prévenir l'accès non autorisé et les violations de données. En mettant en œuvre le MFA, vous pouvez améliorer considérablement la sécurité de votre système Linux et mieux protéger vos données et actifs.

Cet article illustre l'installation, la configuration et l'activation du MFA pour l'accès SSH sur les systèmes Linux. Nous décrivrons les étapes requises pour configurer une méthode MFA prise en charge telle que Google Authenticator ou Duo Security, et tester la configuration de l'accès SSH.

Préparer votre système Linux pour MFA

Avant d'installer et de configurer le MFA sur votre système Linux, en vous assurant que votre système est à jour et que les packages nécessaires installés sont cruciaux. Mettez à jour votre système à l'aide de l'utilitaire suivant:

Sudo Apt Update && Sudo Apt Upgrade -y

Une fois que votre système est à jour, vous devez installer le package PAM (modules d'authentification enfichable) qui permet à MFA de SSH.

Installation et configuration d'une méthode MFA prise en charge

Plusieurs méthodes MFA sont disponibles pour l'accès SSH, notamment Google Authenticator, Duo Security et Yubikey. Dans cette section, nous nous concentrerons sur la configuration de Google Authenticator qui est une méthode MFA largement utilisée et facile à établir pour SSH.

Voici les étapes pour installer et configurer l'authentificateur Google pour SSH MFA:

Étape 1: Créez un nouvel utilisateur

Tout d'abord, vous devez créer un nouvel utilisateur pour l'accès SSH. Vous pouvez créer un nouvel utilisateur en exécutant le code suivant:

Sudo AddUser

Remplacer avec le nom approprié de l'utilisateur que vous souhaitez créer.

Étape 2: Passez au nouvel utilisateur

Ensuite, passez au nouvel utilisateur en exécutant la commande suivante:

su -

Votre système vous invitera à saisir le mot de passe du nouvel utilisateur.

Étape 3: Installez Google Authenticator

Installez Google Authenticator à l'aide de cet utilitaire:

sudo apt install libpam-google-authenticator -y

Ce qui suit est un exemple de sortie pour la commande précédente:

Cette sortie montre le gestionnaire de packages qui est «Apt», en installant le package «Libpam-Google-Authenticator» et ses dépendances qui est «LibqRencode4». L'option -y confirme automatiquement l'invite d'installation. Le résultat montre également la progression du processus d'installation, y compris le téléchargement et l'installation des packages et tout espace disque supplémentaire qui sera utilisé. Enfin, cela montre que l'installation et les déclencheurs pertinents pour le traitement après l'installation sont réussis.

Étape 4: Générez une nouvelle clé secrète

Cet utilitaire vous aidera à générer une nouvelle clé secrète pour l'utilisateur:

Google-authenticteur

Votre système vous invitera à répondre à quelques questions, y compris ce qui suit:

  • Voulez-vous que les jetons d'authentification soient basés sur le temps (O / N)? y
  • Voulez-vous que je mette à jour votre «/ home / yourUsername /.Fichier Google_Authenticator »(O / N)? y
  • Voulez-vous interdire plusieurs utilisations du même jeton d'authentification? (O / N) Y
  • Voulez-vous activer la limitation de débit? (O / N) Y

Vous pouvez accepter les valeurs par défaut pour la plupart des questions. Cependant, pour la question, «Voulez-vous que je mette à jour votre «/ home //.Fichier Google_Authenticator "?", Sélectionnez" Y "pour mettre à jour le fichier de configuration.

La ligne de commande précédente génère une nouvelle clé secrète pour l'utilisateur qui sont utilisées pour créer des mots de passe ponctuels pour MFA.

Étape 5: Ouvrez l'application Authenticator sur votre téléphone

Ouvrez l'application Google Authenticator sur votre smartphone et scannez le code QR qui s'affiche à l'écran. Cela ajoute le nouvel utilisateur à votre application Google Authenticator.

Étape 6: Modifier le fichier de configuration

Modifiez le fichier de configuration SSH en exécutant la commande suivante:

sudo nano / etc / ssh / sshd_config

Ajoutez la ligne suivante à la fin du fichier:

ChallengeResponSeutinghentification Oui

Cette ligne permet l'authentification du défi-réponse pour SSH.

Étape 7: modifiez le fichier de configuration PAM

Cette commande modifie le fichier de configuration PAM pour SSH:

sudo nano / etc / pam.d / sshd

Ajoutez la ligne suivante à la fin du fichier pour terminer cette étape:

Auth exigé pam_google_authenticator.donc

Cet utilitaire permet au module Google Authenticator pour SSH.

Étape 8: Enregistrez vos modifications

Enregistrez les modifications dans les fichiers de configuration et redémarrez le service SSH à l'aide de la commande suivante:

SUDO SHERE SSH Redémarrer

Cette commande redémarre le service SSH avec la nouvelle configuration.

Lorsque vous vous connectez à votre système Linux à l'aide de SSH, vous serez invité à un mot de passe unique généré par l'application Google Authenticator. Entrez le mot de passe unique pour terminer le processus de connexion.

Tester votre configuration MFA pour l'accès SSH

Une fois que vous avez installé et configuré le MFA pour SSH sur votre système Linux, il est important de tester la configuration pour s'assurer qu'il fonctionne correctement. Voici les étapes pour tester votre configuration MFA pour l'accès SSH:

1. Ouvrez une nouvelle fenêtre de terminal et connectez-vous à votre système Linux à l'aide de SSH, comme vous le feriez normalement. Par exemple:

ssh @

Remplace le avec le nom exact de l'utilisateur que vous avez créé plus tôt et le avec l'adresse IP ou le nom d'hôte de votre système Linux. Dans ce cas, nous utilisons Victoria comme nom d'utilisateur. La sortie ressemble à ce qui se trouve dans la figure suivante:

Dans cet exemple, nous utilisons la commande ssh pour se connecter à une machine distante avec l'adresse IP de 192.168.1.100 En tant qu'utilisateur, «Victoria». La commande invite la confirmation de l'authenticité de l'hôte distant, puis demande le mot de passe pour l'utilisateur, «Victoria». Une fois authentifiés, nous sommes accueillis avec l'invite de shell sur la machine distante, indiquant que nous avons réussi à établir une session SSH.

2. Entrez le mot de passe de l'utilisateur lorsque vous avez invité.

3. Après avoir saisi le mot de passe, vous devez être invité à un mot de passe unique à partir de votre application MFA. Ouvrez l'application Google Authenticator sur votre smartphone et entrez le code qui correspond à l'utilisateur que vous avez créé plus tôt.

4. Si le mot de passe unique est correct, vous devez être connecté à votre système Linux. Si le mot de passe est incorrect, vous serez invité à entrer un autre code de l'application MFA.

5. Une fois que vous vous êtes connecté avec succès, vous pouvez vérifier que le MFA fonctionne correctement en vérifiant les journaux SSH. Exécutez cet utilitaire pour afficher les journaux:

Sudo Tail -F / Var / Log / Auth.enregistrer

La commande précédente affiche les journaux d'authentification SSH en temps réel.

Recherchez une ligne dans le journal qui dit «PublicKey accepté pour» suivi du «clavier-interactif / pam accepté pour».

17 avril 10:45:24 Server SSHD [2998]: Accepté PublicKey pour Victoria de 192.168.0.2 Port 57362 SSH2: RSA SHA256: XXXXXXXXXXXXXXXXXXX
17 avril 10:45:27 Server SSHD [2998]: Clavier accepté-interactif / pam pour Victoria à partir de 192.168.0.2 Port 57362 SSH2

Par exemple:

Les deux premières lignes montrent que l'utilisateur «Victoria» est authentifié avec succès via une clé publique et des méthodes de clavier-interactif à partir de l'adresse IP de 192.168.0.2.

Si tout fonctionne correctement, vous pouvez vous connecter à votre système Linux en utilisant SSH avec MFA activé.

Conclusion

La mise en œuvre de l'authentification multi-facteurs (MFA) pour l'accès SSH sur votre système Linux peut considérablement améliorer la sécurité de votre système en ajoutant une couche supplémentaire d'authentification. En obligeant les utilisateurs à fournir un mot de passe unique en plus de leur mot de passe ordinaire, MFA rend beaucoup plus difficile pour les attaquants d'accéder à votre système.