Vous avez surement déja vu dans vos logs de connexion des tentatives de connexion par attaque bruteforce (sshd, httpd, ftpd…). C'est chiant, ca remplit vos logs, et ca fait loader votre serveur qui n'avait pas besoin de ca.

Heureusement, l'ami Daniel Hartmeier pense à vous, et a ajouté des options convi à son fameux firewall PacketFilter, affectueusement surnommé PF. Il s'agit de 'max-src-conn-rate' et de 'max-src-conn', a utiliser en combinaison avec 'overload'. Ces options sont disponibles dans PF à partir d'OpenBSD 3.7, FreeBSD 6.0 et NetBSD 2.0.

Ca se passe donc dans le fichier de conf de pf, /etc/pf.conf. Je donne l'exemple pour ssh, mais le principe est le même pour les autres ports.

Avant, pour autoriser les connexions ssh de l'extérieur, on avait une ligne ressemblant à cela (avec $external le nom de son interface réseau externe) :

pass in quick on $external inet proto tcp from any to any port ssh flags S/SA keep state 

Il suffit de remplacer ces lignes par:

table <ssh-bruteforce> persist
block in quick from <ssh-bruteforce>
pass in quick on $external inet proto tcp from any to any port ssh flags S/SA keep state \
  ( max-src-conn-rate 2/10, overload <ssh-bruteforce> flush global)

Dans l'ordre :

Évidemment, on peut personnaliser la fréquence des tentatives de connexion, et utiliser aussi 'max-src-conn' pour limiter le nombre total de connexions provenant d'une ip.

Voila, à vous la tranquillité, et adieu les attaques bêtes et méchantes !!

( Se référer à la doc de PF pour plus d'infos : http://www.openbsd.org/faq/pf/fr/filter.html )


gast0n

bsd/pf_et_bruteforce.txt · Last modified: 2010/01/12 13:29 (external edit)