Comment implémenter l'authentification à deux facteurs (2FA) pour SSH dans Linux?
La mise en œuvre de l'authentification à deux facteurs (2FA) pour SSH sur un système Linux améliore la sécurité en nécessitant deux formes de vérification avant d'accorder l'accès. Voici un guide étape par étape pour configurer 2FA à l'aide de Google Authenticator, l'un des outils les plus populaires à cet effet:
-
Installer Google Authenticator :
Installez d'abord le module Google Authenticator PAM. Sur un système basé à Debian comme Ubuntu, vous pouvez le faire en fonctionnant:
<code>sudo apt-get update sudo apt-get install libpam-google-authenticator</code>
Copier après la connexion
Sur les systèmes basés sur Red Hat comme CentOS, vous pouvez utiliser:
<code>sudo yum install google-authenticator</code>
Copier après la connexion
-
Configurer Google Authenticator pour votre utilisateur :
Exécutez la commande <code>google-authenticator</code> en tant qu'utilisateur qui utilisera SSH:
<code>google-authenticator</code>
Copier après la connexion
Cette commande générera une clé secrète et un code QR. Répondez aux invites en fonction de votre préférence, telles que l'utilisation de jetons basés sur le temps et si la clé doit être mise à jour toutes les 30 secondes.
-
Configurer PAM pour utiliser Google Authenticator :
Modifiez la configuration PAM pour SSH en ouvrant le fichier /etc/pam.d/sshd
et ajoutez la ligne suivante à la fin:
<code>auth required pam_google_authenticator.so</code>
Copier après la connexion
-
Modifier la configuration SSHD :
Ouvrir /etc/ssh/sshd_config
et assurer que les paramètres suivants sont configurés:
<code>ChallengeResponseAuthentication yes PasswordAuthentication no UsePAM yes</code>
Copier après la connexion
Redémarrez ensuite le service SSH pour appliquer les modifications:
<code>sudo systemctl restart sshd</code>
Copier après la connexion
- Tester la connexion SSH :
Essayez de vous connecter via SSH. Vous devez maintenant être invité à un code de vérification en plus de votre mot de passe.
Quels sont les avantages de sécurité de l'utilisation de 2FA pour SSH sur un système Linux?
La mise en œuvre de l'authentification à deux facteurs pour SSH sur un système Linux offre plusieurs avantages de sécurité:
- Sécurité améliorée : 2FA ajoute une couche de sécurité supplémentaire, ce qui rend les attaquants plus difficiles à obtenir un accès non autorisé. Même si un mot de passe est compromis, l'attaquant a toujours besoin du deuxième facteur pour se connecter.
- Protection contre les attaques de mots de passe : 2FA atténue le risque posé par les mots de passe faibles, les attaques de force brute et la devinette de mot de passe car l'accès nécessite plus que le mot de passe.
- Responsabilité et surveillance : avec 2FA, chaque connexion peut être liée à un appareil physique, ce qui facilite le suivi et le suivi des tentatives de connexion et de détecter les activités suspectes.
- Réduction des menaces d'initiés : 2FA peut limiter les dommages causés par les menaces d'initiés en s'assurant que même si les titres de compétences d'un employé sont volés ou mal utilisés, le deuxième facteur reste un obstacle à l'accès.
- Conformité aux normes de sécurité : de nombreux cadres réglementaires et normes de sécurité nécessitent l'utilisation de 2FA pour un accès à distance, donc la mise en œuvre peut aider les organisations à répondre aux exigences de conformité.
Quels outils ou logiciels puis-je utiliser pour configurer 2FA pour SSH sur Linux?
Plusieurs outils et options logicielles sont disponibles pour configurer 2FA pour SSH sur Linux, notamment:
- Google Authenticator : largement utilisé et pris en charge par la plupart des distributions Linux, Google Authenticator est facile à configurer et utilise des mots de passe ponctuels basés sur le temps (TOTP).
- Authy : similaire à Google Authenticator mais avec des fonctionnalités supplémentaires telles que la synchronisation et la sauvegarde multi-appareils.
- Duo Security : une solution complète qui offre 2FA ainsi que des fonctionnalités avancées telles que les notifications push pour l'authentification et l'intégration avec divers systèmes.
- Yubikey : une solution 2FA basée sur le matériel qui utilise U2F (2e facteur universel) et est très sécurisée en raison de sa nature physique.
- Linux-PAM : Le cadre des modules d'authentification enfichable (PAM) sur Linux peut être configuré pour fonctionner avec diverses solutions 2FA, y compris Google Authenticator.
- Freeotp : une alternative open source à Google Authenticator qui fonctionne de manière similaire et est disponible sur de nombreuses plateformes.
Comment puis-je dépanner les problèmes courants lors de la configuration de 2FA pour SSH sur un serveur Linux?
Lors de la configuration de 2FA pour SSH sur un serveur Linux, vous pouvez rencontrer plusieurs problèmes communs. Voici comment les dépanner:
-
La connexion SSH échoue après la configuration de 2FA :
- Vérifiez la configuration de SSHD : assurez-vous que
ChallengeResponseAuthentication
est défini sur yes
et que UsePAM
est défini sur yes
dans /etc/ssh/sshd_config
.
- Vérifiez la configuration de PAM : confirmez que <code>auth required pam_google_authenticator.so</code> est correctement ajoutée à
/etc/pam.d/sshd
.
-
Code de vérification non accepté :
- Synchronisation du temps : assurez-vous que le temps du système est correctement défini et synchronisé. Les mots de passe ponctuels basés sur le temps (TOTP) s'appuient sur le chronomètre précis.
- Problèmes de clé secrète : Vérifiez que la clé secrète générée par <code>google-authenticator</code> est correctement stockée et utilisée par le module PAM.
-
L'authentification invite n'apparaissant pas :
- Vérifiez l'ordre de configuration de PAM : l'ordre des entrées dans
/etc/pam.d/sshd
compte. Assurez-vous que l'entrée Google Authenticator n'est pas remplacée par les entrées suivantes.
-
Location en boucle ou en suspension :
-
Débogage SSHD : Utilisez l'indicateur -d
avec SSH pour activer le mode de débogage et capturer les journaux pour comprendre où le processus de connexion échoue:
<code>ssh -v user@host</code>
Copier après la connexion
-
Vérifiez les journaux : examinez les journaux système pour tous les messages d'erreur pertinents:
<code>sudo journalctl -u sshd</code>
Copier après la connexion
-
Problèmes avec les jetons matériels :
- Problèmes du pilote de périphérique : Si vous utilisez des jetons matériels comme Yubikey, assurez-vous que les pilotes corrects sont installés et reconnus par le système.
En suivant ces étapes de dépannage, vous pouvez résoudre les problèmes communs et vous assurer que 2FA fonctionne correctement pour SSH sur votre serveur Linux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!