Skip to content

Protéger contre tentative connexion intempestive)

Ce que l'on va faire ici

Nous allons voir ici comment protéger le serveur SSH contre les tentatives de connexion intempestive. Ceci est utile dès lors que le serveur ssh est exposé au web.

Dans quel cas ?

Dès que le serveur SSH est exposé au web, cette mesure est utile.

Faut être un peu parano !

Dès qu'on utilise quelque chose qui est exposé potentiellement au web, il faut être un peu parano et faire en sorte que le poste en question ne soit pas facilement "hackable". Et ceci même si l'on n'a pas de données critiques dessus : c'est une mesure pour éviter que quelqu'un de malveillant utilise votre poste pour en faire un relais de spam ou autre joyeuseté à votre insu.

Cette mesure s'entend en complément de mesures associées telles que :

  • modifier le port par défaut de connexion SSH
  • activer la connexion par clé publique et interdire la connexion par mot de passe

Typiquement, cela sera utile :

  • sur un VPS
  • sur un rapsberry Pi exposé au web,
  • et d'une manière générale, sur tout poste exposé au web disposant d'un serveur SSH.

Le scénario

En pratique, dès qu'un serveur SSH est en ligne, celui-ci est susceptible de faire l'objet de connexion intempestive par un robot ou un attaquant. Typiquement, l'attaquant va tester des mots de passe successifs jusqu'à pouvoir réussir à se connecter.

La stratégie utilisée ici va être la suivante : dès que le nombre de tentatives de connexion par mot de passe dépasse un certain nombre fixé, on va bloquer la possibilité de se connecter... mais tout en ne disant rien à l'attaquant qui va continuer de tester des mots de passe, ce qui lui fera perdre son temps ! Et même si il finit par trouver le bon mot de passe, la connexion sera refusée car trop d'essais auront été utilisés.

La procédure

On commence par utiliser l'utilitaire dédié, fail2ban :

sudo apt-get install fail2ban

configurer le comportement dans :

sudo geany /etc/fail2ban/jail.conf

On peut laisser par défaut au départ ce qui bloque les tentatives au-delà de 5 connexions. On peut bloquer à 3 si on veut voire même 0 si on a activé la connexion par clé publique.

On peut également configurer l'email d'alerte à utiliser, etc.