L'une des étapes de base du renforcement SSH consiste à désactiver la connexion SSH basée sur un mot de passe.
Vous savez que vous pouvez utiliser ssh avec le mot de passe root ou d'un autre compte pour vous connecter à distance à un serveur Linux.
Mais cela pose un risque de sécurité car un grand nombre de bots essaient toujours de se connecter à votre système avec des mots de passe aléatoires. C'est ce qu'on appelle une attaque par force brute.
Vous ne me croyez pas ? Vous pouvez vérifier les connexions sur votre serveur Linux. Vous serez surpris de voir autant de tentatives infructueuses sur votre serveur.
[email protected]:~# lastb | tail
root ssh:notty 49.235.87.213 Wed Apr 1 06:25 - 06:25 (00:00)
root ssh:notty 95.128.137.176 Wed Apr 1 06:25 - 06:25 (00:00)
aw ssh:notty 36.108.175.68 Wed Apr 1 06:25 - 06:25 (00:00)
aw ssh:notty 36.108.175.68 Wed Apr 1 06:25 - 06:25 (00:00)
fx ssh:notty 113.88.164.53 Wed Apr 1 06:25 - 06:25 (00:00)
fx ssh:notty 113.88.164.53 Wed Apr 1 06:25 - 06:25 (00:00)
root ssh:notty 112.215.113.10 Wed Apr 1 06:25 - 06:25 (00:00)
root ssh:notty 152.32.173.74 Wed Apr 1 06:25 - 06:25 (00:00)
C'est pourquoi vous devez utiliser un mot de passe fort. La bonne façon de les gérer est d'utiliser un outil comme fail2ban. Une autre façon consiste à désactiver l'authentification basée sur un mot de passe afin que personne ne puisse se connecter via un mot de passe de connexion.
De cette manière, seuls les systèmes dont les clés ssh publiques ont été ajoutées au serveur (appelée authentification basée sur les clés) pourront se connecter au serveur. En savoir plus sur la configuration de la configuration ssh.
Désactiver l'authentification par mot de passe SSH
Avant de faire cela, vous devez garder à l'esprit les éléments suivants :
- Assurez-vous de créer votre paire de clés SSH sur votre ordinateur personnel/professionnel et d'ajouter cette clé SSH publique au serveur afin de pouvoir au moins vous connecter au serveur.
- La désactivation de l'authentification par mot de passe signifie que vous ne pouvez pas vous connecter en ssh à votre serveur à partir d'ordinateurs aléatoires.
- Vous ne devez pas perdre vos clés ssh. Si vous formatez votre ordinateur personnel et perdez les clés ssh, vous ne pourrez jamais accéder au serveur.
- Si vous êtes bloqué, vous ne pourrez plus jamais accéder à votre serveur.
Certains fournisseurs de serveurs cloud comme Linode et UpCloud fournissent une console VNC qui pourrait encore vous aider.
Ne désactivez l'authentification SSH basée sur un mot de passe que si vous êtes familiarisé avec SSH et d'autres concepts d'administration système. Vous devez également savoir utiliser un éditeur de texte basé sur un terminal comme Vim ou Nano.
D'accord. Vous connaissez donc maintenant les risques associés à la désactivation des connexions SSH via un mot de passe. Voyons comment faire.
Connectez-vous en tant que root à votre serveur Linux en utilisant une authentification basée sur une clé. Utilisez un éditeur comme Nano ou Vim pour éditer le fichier suivant :
/etc/ssh/sshd_config
Recherchez la ligne suivante :
PasswordAuthentication yes
Et changez-le en :
PasswordAuthentication no
S'il y a un # (signifie commenté) au début de cette ligne, supprimez-le.
Enregistrez le fichier après avoir effectué ces modifications et redémarrez le service SSH à l'aide de cette commande :
systemctl restart ssh
C'est ça. Vous avez désactivé avec succès l'authentification par mot de passe dans SSH.
Les questions et suggestions sont toujours les bienvenues.