Sécuriser son serveur avec SSH
Qu'est ce qu'est SSH ?
SSH (Secured SHell) est un protocole sécurisé par des clés des clés privées et des clés publiques pour communiqué entre deux stations informatique, il est (en général) utilisé pour la gestion des serveurs sous linux. Ce protocole a été conçu pour remplacer Telnet, il en est actuellement à sa deuxième version majeure.
Le problème
Quand un administrateur système (ou sysadmin pour faire classe) en herbe se fait attaquer son serveur, c'est souvent parce qu'il a laissé le port 22 pour ssh, qu'il n'a pas désactivé root et que son mot de passe était un mot du dico.
La solution
Note : Les manipulations suivantes ont été réalisées sous Linux Debian 5
Lors de l'installation de votre serveur, ssh est configuré sur le port 22 soit le port par défaut et vous n'avez qu'un seul utilisateur sur la machine c'est root, cet utilisateur a tout les pouvoirs et c'est très dangereux ! Nous allons remédier à cela en changent le port ssh et en interdisant la connexion avec root.
Pour commencer connectez-vous en root (c'est surement la dernière fois
;-) ).
Création d'un nouvel utilisateur
Tapez la commande suivante en remplaçant
votrenom par le nom du nouvel utilisateur.
adduser votrenom
On vous demande ensuite votre mot de passe et sa confirmation,
ne choisissez pas un mot du dictionnaire mais plutôt un chaine de caractère n'ayant aucun sens.
Vous êtes ensuite invité à donner quelques informations (facultatives) :
Full Name [] = Votre nom complet
Room Number [] = numéro du bureau
Work Phone [] = Le téléphone de votre travail
Home Phone [] = Le téléphone de votre maison
Other [] = Tout et n'importe quoi
Votre nouvel utilisateur est maintenant créé mais jusque là votre accès est toujours une cible pour les pirates.
Changer le port
Le port SSH par défaut est 22, le problème est que tout les pirates qui tentent d'accéder a un serveur utilise en premier ce port. pour le changer rien de plus simple, ouvrez avec votre éditeur préférez (pour moi ce sera nano) le fichier de configuration de ssh (pour debian c'est :
/etc/ssh/sshd_config)
Une fois dans le fichier cherchez la ligne
Port 22 et remplacez 22 par un nombre de votre choix (mémorisez le évidement). Ne quittez pas le fichier pour l'étape suivante.
Désactiver l'accès à root
Toujours dans le fichier de configuration de SSH, cherchez la ligne
PermitRootLogin on et changez le
on par
off.
Le coup de chance
Cette étape n'est pas obligatoire mais elle est intéressante quand même.
Dans le fichier de configuration de ssh, cherchez la ligne commençant par MaxStartups si elle n'y est pas, ajoutez la. Cette option permet de définir le nombre de tentatives par ip avant d'avoir droit à une nouvelle chance avant de bloquer l'ip.
En voici un exemple :
MaxStartups 5:15:20
Le
5 correspond au nombre de tentatives avant d'avoir droit à une nouvelle chance.
Le
15 correspond au pourcentage de chance pour avoir une nouvelle tentative.
Et le
20 correspond au nombre de connexions maximal.
Pour que les modifications prennent effet, vous devez redémarrer le serveur SSH ou le serveur en entier. Lors de la prochaine connexion au serveur il faudra utiliser le nouveau port ainsi que le nouvel utilisateur. Si vous souhaitez utilisez les permissions de root utilisez la commande
su.
Publié par
maxime71500 -
Dernière mise à jour le 6 octobre 2010 à 19:33 par El_Rigolo