Sécuriser Secure Shell SSH

Niveau d’expertise: Moyen

Secure Shell (SSH) est une des méthodes les plus utiles pour connecter à distance à un serveur Linux. Avec une connexion SSH, vous pouvez administrer votre serveur à distance en utilisant la pleine puissante et toute la flexibilité de l’interface de ligne de commande. Cependant, SSH peut être vulnérable aux attaques malicieuses. Bien que le protocole SSH soit relativement sécuritaire par défaut, il est toujours possible d’améliorer la sécurité de votre configuration SSH.

iWeb recommande la mise en place d’une KVM/IP avant de modifier la configuration de votre SSH. Les KVM/IPs peuvent être commandées 24 heures à l’avance, sans frais.

Pour modifier votre configuration SSH, vous devrez vous connecter en tant que « Root » en utilisant « su » ou « sudo ». Vous devez simplement modifier le fichier suivant, en utilisant l’éditeur de votre choix :

/etc/ssh/sshd_config

Veuillez noter que iWeb ne fournit pas de services de sécurité, ces recommandations sont des « meilleures pratiques » de l’industrie de TI mais n’assurent pas la sécurité à 100%.

Dans ces commandes, le symbole « # » est utilisé pour ignorer la valeur par défaut. Par exemple, placer un dièse au début d’une ligne fera en sorte que la ligne sera ignorée. Ajoutez simplement une nouvelle ligne directement sous la ligne originale. 

Modifier le port par défaut

SSH utilise le port 22 par défaut. Il est possible de modifier ce port. Ceci fera en sorte qu’il sera plus difficile d’attaquer votre serveur en utilisant SSH, puisqu’un attaquant devrait d’abord localiser et identifier le port. Vous pouvez choisir n’importe quel nombre plus grand que 1024 et plus petit que 65535. (Les ports 1 à 1024 sont réservés, et 65535 est le dernier port possible.) Veuillez modifier les lignes suivantes : 

#Port 22

Port 5555

 

Remplacez « 5555 » avec votre le numéro de votre propre port. Seuls votre administrateur système et le support technique iWeb devrait avoir accès à cette information.

Utiliser le protocole SSH version 2.

Il existe deux versions du protocole SSH. La version 2 est la plus récente et la sécurité y a été grandement améliorée.

 

#Protocol 2,1

 Protocol 2

En sélectionnant uniquement le protocole 2, vous ne pourrez connecter qu’avec ce protocole.

Restreindre l’accès à des utilisateurs spécifiques

Restreindre l’accès à une courte liste d’utilisateurs complique la tâche des pirates puisqu’ils doivent d’abord découvrir les noms d’utilisateurs avant de tenter de connecter, plutôt que d’essayer une liste d’utilisateurs courants.

AllowUsers alice bob charlie

Dans ce cas, seuls les utilisateurs Alice, Bob et Charlie seront en mesure de se connecter. Remplacez-les simplement par vos propres noms d’utilisateurs. N’oubliez pas que Linux est sensible à la casse donc, alice et Alice sont deux utilisateurs différents. 

Nous recommandons fortement d’ajouter « sshadmin » et « techiweb »,et de ne pas ajouter « root ».

Désactiver l’accès « Root »

Tant que vous pouvez utiliser « sudo » ou « su », l’accès direct par l’utilisateur « Root » n’est pas requis. Désactiver l’accès par « Root » rendra la tâche plus difficile aux individus malicieux qui voudraient se connecter en tant qu’administrateur.

#PermitRootLogin yes

 PermitRootLogin no

En restreignant l’accès et en désactivant l’accès de « Root », il devient uniquement possible d’administrer votre serveur en se connectant d’abord en tant qu’un utilisateur et en prenant ensuite le contrôle en tant qu’administrateur. Ceci fait en sorte que des attaquants doivent compromettre deux comptes différents avant de pouvoir attaquer votre serveur.

Réduire le temps de connexion

Par défaut, SSH permet à un utilisateur de maintenir une connexion ouverte pendant deux minutes sans compléter son ouverture de session avec succès. C’est une période de temps très longue et une opportunité pour une attaque « force brute » contre votre serveur. Un maximum de 30 secondes est plus que suffisant pour permettre aux utilisateurs légitimes d’effectuer leur ouverture de session.

 

#LoginGraceTime 2m

 LoginGraceTime 30

 Si l’ouverture de session n’est pas complétée avec succès après 30 secondes, le serveur fermera  automatiquement la connexion.

Sauvegarder et redémarrer SSH

Pour que ces changements aux configurations soient appliqués, vous devez les sauvegarder et redémarrer le service SSH. Vous pouvez le redémarrer en utilisant la commande suivante :

/etc/init.d/sshd restart

Après le redémarrage de SSH, il est recommandé de tenter d’ouvrir une session concurrente avant de se déconnecter. Ceci vous permettra de tester les changements et de faire des correctifs, au besoin.

Autres configurations

Ces changements ne sont pas exécutés dans la configuration SSH mais peuvent augmenter significativement la sécurité de votre installation SSH.

Mots de passe complexes avec PAM

PAM (« Pluggable authentication module ») a des outils qui vous permettent de mettre en place des règles pour les mots de passe. Un mot de passe complexe (ou fort) est un mot de passe qui ne peut pas être deviné facilement et qui contient une combinaison de lettres et de chiffres.

Sous Debian ou Ubuntu, ouvrez le fichier suivant avec l’éditeur de votre choix:

/etc/pam.d/common-password

Sous CentOS, Fedora, ou tout autre outil basé sur RedHat, ouvrez ce fichier: 

/etc/pam.d/system-auth

 

Ajoutez cette ligne au fichier que vous venez d’ouvrir :  

password requisite pam_cracklib.so retry=3 minlen=10 difok=3 dcredit=-1 ucredit=-1 lcredit=-1

Une fois ces changements activés, les utilisateurs auront trois essais pour compléter avec succès une ouverture de session. Après ces trois essais, ils seront déconnectés. De plus, les mots de passe devront avoir une longueur minimale de dix caractères, trois caractères devront être différents de ceux du mot de passe précédent, et ils devront contenir un chiffre, une lettre majuscule et une lettre minuscule.

Vous pouvez modifier ces paramètres à tout moment. Par exemple, pour exiger 12 caractères au lieu de 10, ou pour exiger un nombre différent de caractères.

Vous avez d’autres questions ? Envoyer une demande

0 Commentaires

Cet article n'accepte pas de commentaires.
Réalisé par Zendesk