Ceci est une ancienne révision du document !
denyhost
Lorsque nous mettons un serveur en ligne sur internet, nous avons tous a subir de nombreuses tentatives de connexion sur le port ssh (et oui les attacques ssh par dictionnaire sont courantes). Il est difficile de fermer se port que nous utilisons pour nous connecter de chez nous à notre serveur préféré (pas toujour simple de n'utiliser que la console!!!). Je me suis souvent posé la question "comment sécuriser mon serveur tout en ayant facilement accès à celui-ci par ssh?". J'ai alors découvert "Denyhost".
Le principe de Denyhost est simple : c'est un daemon qui analyse en permanence le fichier de log /var/log/auth.log et qui au bout de 5 tentatives de connexion infructueuses blacklist l'IP en cause dans le fichier /etc/hosts.deny
L'administrateur pourra même être averti par mail lorsqu'une IP sera mise en liste noire
Pré-requis
- Disposer des droits d'administration ;
- Disposer d'une connexion à Internet configurée et activée ;
- Avoir installé le paquet openssh-server.
Installation
Il vous suffit, pour cela, d'installer le paquet denyhosts .
Configuration
Le daemon denyhost est tout de suite opérationnel. Cependant, vous pouvez personnalisé la configuration en éditant le fichier /etc/denyhosts.conf
Vous pourrez alors configurer de nombreuses options parmi lesquelles :
- BLOCK_SERVICE = ALL ou sshd ⇒ pour bloquer l'acces à tous les services ou seulement à ssh
- DENY_THRESHOLD_INVALID = 5 ⇒ indiquer le nombre d'echec avec un login invalide avant blocage
- DENY_THRESHOLD_VALID =10 ⇒ indiquer le nombre d'echec avec un login valide avant blocage
- DENY_THRESHOLD_ROOT = 1 ⇒ indiquer le nombre d'echec avec le login root avant blocage
- ADMIN_EMAIL = root@localhost ⇒ indiqué l'adresse mail qui sera informé à chaque blocage d'une IP
- SMTP_HOST = localhost ⇒ définir le relay SMTP pour l'envoi des mail de notification
- SMTP_PORT = 25 ⇒ définir le prt SMTP
- SMTP_FROM = DenyHosts <nobody@localhost> ⇒ définir le nom de l'expéditeur de la notification
- SMTP_SUBJECT = DenyHosts Report ⇒ définir le sujet du mail de notification
Je vais vous épargner l'ensemble des variables de configuration car elles sont plutôt nombreuses. Ils vous suffit d'aller voir le fichier de configuration qui est très bien commenté.
Utilisation
Il est intéressant alors de compléter le fichier /etc/hosts.allow avec les adresses IP à partir desquelles vous vous connectez le plus souvent. Vous pouvez meme définir des plage d'adresse ou des domaines pour lesquels vous ne serez jamais bloqué meme en cas d'échec important.
la syntaxe dans le fichier /etc/hosts.allow sera de cette forme là :
ALL: 192.168.1. ALL: 192.168.12. ALL: .mondomaine.com
Désinstallation
Pour supprimer cette application, il suffit de supprimer son paquet. La configuration de l'application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez.