Authentification SSH par clés RSA
Pour ceux qui ont lu mon article sur le SSH (disponible à cette adresse), je vous offre une méthode supplémentaire et très efficace pour vous protéger.
Personnellement, je l'utilise et je peux vous dire que grâce à cette méthode d'authentification, fini les attaques brute force sur votre accès root.
Si cette méthode est très efficace, c'est parce que pour s'authentifier et accéder à votre compte root, on n'a plus besoin d'un simple mot de passe, mais de toute une clé (disponible uniquement sur votre P.C, donc les attaques brute force n'auront plus d'utilité) et d'une passphrase (pour activer cette clé à chaque fois que vous l'utilisez).
Ainsi, plus besoin de changer le port SSH, de créer un nouvel utilisateur et de désactiver l'accès root, plus de besoin choisir un mot de passe de 40 caractères, grâce aux clés RSA, vous n'avez qu'à générer une clé, indiquer une passphrase, et désactiver l'authentification par mots de passe.
Si vous n'êtes pas convaincu, c'est que vous faites une grave erreur
Génération des clés RSA
La commande pour générer la clé RSA (publique et privé) est: ssh-keygen -t rsa.
Connectez vous normalement sur Putty et tapez cette commande. On vous demandera de choisir un emplacement pour la clé (tapez "enter", l'emplacement par défaut sera root/.ssh).
Ensuite, on vous demande une passphrase. Je vous conseil de la générer. Voici un site qui pourra vous être utile: Cliquez ici.
On vous demande de confirmer cette passphrase. Retapez là.
Attention: Putty cache les mots de passe et les passphrase pour plus de sécurité. Ainsi, si vous ne voyez rien, c'est tout à fait normal. Considérez ça comme des " *** ".
Vous avez maintenant générer deux clés dans le répertoire /root/.ssh: Une clé privé (id_rsa) et une clé publique (id_rsa.pub).
Déclaration de la clé publique
Cette étape est simple. Créez le fichier authorized_keys (fichier, pas répertoire), ouvrez le fichier id_rsa.pub et copiez le contenu du fichier dans le fichier authorized_keys.
Attention: Si vous voulez installer plusieurs clés RSA, vous faites la même chose mais vous copiez le contenu du fichier id_rsa.pub (de la nouvelle clé) sur une nouvelle ligne du fichier authorized_keys.
Maintenant, vous pouvez supprimer le fichier id_rsa.pub de votre serveur.
Installation et utilisation de la clé privé
Maintenant, ouvrez le fichier id_rsa (nous utilisons toujours WinSCP) et copiez le dans un fichier texte. Enregistrez ce fichier texte.
Ensuite, nous allons utiliser PuttyGen (Sous Windows). Ouvrez puttygen, vous devriez avoir ceci:
Notez que vous pouvez également générer des clés sous puttygen mais la manipulation énoncée ci plus haut est beaucoup plus rapide.
Cliquez ensuite sur load. Une fenêtre s'ouvre et l'on vous demande de choisir le fichier. Par défaut, puttygen ne choisis que les fichiers à extension ppk (l'extension des fichiers contenant les clés RSA sous Putty et WinSCP).
Il est donc logique que vous ne trouviez pas votre fichier texte. Pour localiser votre fichier texte, en bas à droite, vous devez avoir ceci:
Choisissez "All Files". A ce moment là, apparait votre fichier texte. Double-cliquez dessus. Vous devriez obtenir un message comme quoi PuttyGen a traduit votre clé RSA en un fichier ppk. Sinon, c'est que vous avez mal copié votre fichier id_rsa.
Connexion sous Putty
Fermez PuttyGen et ouvrez Putty. Renseignez votre adresse IP puis dans le menu de gauche, allez sur SSH > Auth:
Une fois que vous avez tapé votre adresse IP, et que vous êtes allez dans "Auth", cliquez sur browse et séléctionnez ensuite votre fichier ppk.
Putty vous demandera votre utilisateur puis votre passphrase. Si tout est bon, vous devriez avoir ceci:
Connexion sous WinSCP
Ouvrez WinSCP, cliquez sur "Nouvelle", rentrez l'IP de votre serveur, puis votre nom d'utilisateur. Ne renseignez pas de mot de passe. Vous devriez également apercevoir "Fichier de clé privé", cliquez dessus et choisissez votre fichier.
Connectez vous. WinSCP vous demandera votre passphrase, renseignez là. Si tout se passe bien, vous devriez apercevoir les fichiers de votre serveur.
Désactiver l'authentification par mot de passe
Bah oui, si nous faisons tout ce chemin, ce n'est certainement pas pour rien. Et pour sécuriser donc un maximum votre accès SSH, vous devriez désactiver l'accès par mot de passe et n'autorisez uniquement que l'accès par clé RSA.
Pour ce faire, ouvrez le fichier: /etc/ssh/sshd_config et trouvez la ligne:
PasswordAuthentication yes
Remplacez par:
PasswordAuthentication no
Conclusion & liens utiles
Plus besoin de se fatiguer à sécuriser son accès SSH, à l'aide d'une simple clé et d'une passphrase, dîtes adieu aux attaques bruteforce et au vol de mots de passes.
Attention: Ce tutoriel vous démontre uniquement comment gérer et installer les clés RSA sous Windows (ordinateur local et non le serveur). Sous linux, la manipulation sera la même mais les logiciels seront différents.
Voici quelques liens utiles:
Sois le premier à débuter une discussion à propos de cet article !
Ajoute un commentaire !