DenyHosts
Par xarli le dimanche, juin 5 2005, 13:49 - Logiciels Libres - Lien permanent
Vous voyez dans vos journaux systèmes des tentatives d'intrusions par SSH [EN]? Comment s'en débarrasser, et bloquer ces hôtes sur lesquels soit un robot soit une personne tente de pénétrer votre système? Vous pouvez par exemple bloquer le port 22 avec un pare-feu, ce qui n'est pas forcément facile à mettre en place, si vous voulez vous connecter chez vous de n'importe où. Une autre solution est de forcer vos utilisateurs à se connecter avec une paire de clés, ce qui évite de faire transiter des mots de passes par le réseau, ou Internet, mais pas évident de se trimballer une clé partout si vous êtes mobile.
Une solution limitant ces tentatives, mais permettant de garder une certaine ouverture est de rajouter ces hôtes à la liste de ceux interdits de toute connexion SSH [EN] (à savoir ceux définis dans le fichier /etc/hosts.deny. J'ai découvert grâce à ce journal sur LinuxFR [FR] un petit script en Python réalisant ceci de manière totalement automatisée, avec gestion des listes blanches et envoi de courrier électronique annonçant les hôtes incriminés. Il s'agit de DenyHost [EN], petit logiciel de quelques kilos-octets fort pratique et d'hors et déjà en place sur toutes mes machines.