Source : http://korben.info/tuto-ssh-securiser.html
Config de base à changer dans le fichier /etc/ssh/sshd_config
Là déjà c'est pas mal... Relancez le serveur ssh :
Pour vous connecter sur ce nouveau port, vous devez utiliser le paramètre "p" avec ssh mac ou ssh linux. Pour Windows, utilisez Putty.
Vous continuez donc à vous logger en entrant votre login + mot de passe à chaque fois. C'est bien mais n'importe qui peut intercepter dans un mail, dans un snif (keylogger matériel ou qui balance ensuite par le réseau), ou autre, votre login et mot de passe... et ainsi avoir accès à votre serveur. Heureusement, on peut sécuriser tout ça encore un peu plus en interdisant l'authentification par mot de passe. Pour se connecter, on utilise alors des clés SSH (publique/privée). C'est de loin la technique la plus sûre même si pour vous connecter vous devrez être forcement sur un ordinateur qui dispose des bonnes clés...(pas évident donc depuis un cybercafé par exemple)
Voici donc comment faire... cette méthode fonctionne sous Linux / Mac OSX. Pour Windows, je sais que Putty-gen sait faire ça complètement via l'interface graphique.
=A faire sur votre ordinateur ET sur votre serveur=
=A faire sur votre ordinateur uniquement=
On se retrouve alors avec 2 fichiers dans .ssh :
id_server => clé privée qui ira sur vos machines clients
id_server.pub => clé publique qui ira sur votre serveur
id_server => clé privée qui ira sur vos machines clients
id_server.pub => clé publique qui ira sur votre serveur
=A faire sur votre ordinateur ET sur votre serveur=
=A faire sur le serveur=
Et ensuite pour améliorer encore plus la sécurité, on va simplement créer un groupe avec uniquement votre / vos users dedans
Et ensuite pour améliorer encore plus la sécurité, on va simplement créer un groupe avec uniquement votre / vos users dedans
Maintenant on retourne jeter un oeil dans le /etc/ssh/sshd_config afin de tout blinder et permettre l'utilisation de la clé que vous avez crée
Note: Attention avec ce dernier paramètre (PasswordAuthentication) car il désactive l'authentification par mot de passe. Donc si vous vous êtes viandé avec les clés, vous n'aurez plus d'autre moyen de vous connecter. Finissez tout le tuto avant de mettre PasswordAuthentication à "no" et testez la connexion avec votre clé en faisant un simple "ssh -p1234 korben@monserveur.com". Dès que c'est bon, passez le paramètre à no et relancez ssh
Maintenant que tout est paramétré, on va redémarrer le serveur ssh
Faisons ensuite une connexion ssh pour tester
Normalement, ça devrait se connecter directement. Bravo, votre clé fonctionne ! (Si vous ne l'avez pas encore fait, vous pouvez alors mettre le paramètre PasswordAuthentication à "no")
On va maintenant hasher le fichier known_hosts qui contient en clair les infos de connexions déjà établies afin que justement, cela ne soit plus en clair.
Supprimez ensuite le fichier known_hosts.old
Et voilà, je pense que là on est bon. Si vous souhaitez changer le mot de passe sur votre clé, voici la commande :
Là, vous avez donc la clé "id_server" qui vous permet de vous connecter dans le répertoire .ssh. Vous pouvez la copier dans tous les .ssh de vos profils linux ou mac sur vos ordis (enfin, là où vous en avez besoin).
Un cas de figure un peu particulier se présente si vous utilisez Putty. En effet, celui-ci utilise des clés particulières .ppk. Il faudra donc importer votre clé avec un outil qui s'appelle Putty-gen. Sous Windows, c'est simple, c'est une interface graphique.
Sous linux par contre, il faut utiliser la ligne de commande pour convertir votre clé SSH en clé PPK
Dès que c'est ok, il suffit de configurer Putty pour lui indiquer sa clé ppk :
No comments:
Post a Comment