26723 attaques... Pb entre Fail2ban & Lenny
Le
Pierre
Bonjour à tous,
Aujourd'hui, en quelques heures, j'ai eu 26723 tentatives par brute
force sur mon serveur FTP
J'utilise Fail2ban qui faisait merveille sur Etch, mais qui semble ne
plus fonctionner sur Lenny (je suis en 5.01).
Après recherche, il apparaît que le problème soit (relativement ?) connu
(http://reghost.fr/index.php?2009/03...sion-lenny).
Mais j'ai crû comprendre que cela était lié à une modification propre à
Lenny et ne concernait que le log auth.log.
Or, mon problème concerne le traitement des logs proftpd.
J'ai regardé le fichier /etc/fail2ban/filter.d/proftpd.conf :
failregex = \(\S+\[<HOST>\]\)[: -]+ USER \S+: no such user found from
\S+ \[\S+\] to \S+:\S+$
\(\S+\[<HOST>\]\)[: -]+ USER \S+ \(Login failed\): Incorrect
password\.$
\(\S+\[<HOST>\]\)[: -]+ SECURITY VIOLATION: \S+ login
attempted\.$
\(\S+\[<HOST>\]\)[: -]+ Maximum login attempts \(\d+\) exceeded$
Je ne suis pas un expert en expression régulière, mais la première et
quatrième ligne figurent bien dans les logs de proftpd.
extrait de mon log :
mai 19 16:53:37 helios proftpd[4624] domaine.net
(222.81.8.228[222.81.8.228]): USER manuella: no such user found from
222.81.8.228 [222.81.8.228] to 192.168.1.2:21
mai 19 16:53:38 helios proftpd[4624] domaine.net
(222.81.8.228[222.81.8.228]): no such user 'manuella'
mai 19 16:53:38 helios proftpd[4624] domaine.net
(222.81.8.228[222.81.8.228]): USER manuella: no such user found from
222.81.8.228 [222.81.8.228] to 192.168.1.2:21
mai 19 16:53:39 helios proftpd[4624] domaine.net
(222.81.8.228[222.81.8.228]): no such user 'manuella'
mai 19 16:53:39 helios proftpd[4624] domaine.net
(222.81.8.228[222.81.8.228]): USER manuella: no such user found from
222.81.8.228 [222.81.8.228] to 192.168.1.2:21
mai 19 16:53:39 helios proftpd[4624] domaine.net
(222.81.8.228[222.81.8.228]): Maximum login attempts (3) exceeded,
connection refused
Je précise quand même que le service est bien lancé :
root 25839 1 0 May18 ? 00:01:22 /usr/bin/python
/usr/bin/fail2ban-server -b -s /var/run/fail2ban/fail2ban.sock
Sinon, en terme de config, rien de particulier, sinon que j'ai suivi les
préconisations de jail.conf qui suggère de créer un jail.local et
dont voici les seules lignes modifiées :
ignoreip = 127.0.0.1 192.168.1.20 192.168.1.21 192.168.1.22 192.168.1.23
192.168.1.1
bantime = 72000
maxretry = 3
[proftpd]
enabled = true
port = ftp,ftp-data,ftps,ftps-data
filter = proftpd
logpath = /var/log/proftpd/proftpd.log
maxretry = 3
Droits de /var/log/proftpd/proftpd.log : -rw-r--r-- 1 root root 859
mai 17 12:47 fail2ban.conf
Désolé pour la longueur imbuvable de post, mais j'essaie d'être aussi
précis et complet que possible.
Merci d'avance.
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Aujourd'hui, en quelques heures, j'ai eu 26723 tentatives par brute
force sur mon serveur FTP
J'utilise Fail2ban qui faisait merveille sur Etch, mais qui semble ne
plus fonctionner sur Lenny (je suis en 5.01).
Après recherche, il apparaît que le problème soit (relativement ?) connu
(http://reghost.fr/index.php?2009/03...sion-lenny).
Mais j'ai crû comprendre que cela était lié à une modification propre à
Lenny et ne concernait que le log auth.log.
Or, mon problème concerne le traitement des logs proftpd.
J'ai regardé le fichier /etc/fail2ban/filter.d/proftpd.conf :
failregex = \(\S+\[<HOST>\]\)[: -]+ USER \S+: no such user found from
\S+ \[\S+\] to \S+:\S+$
\(\S+\[<HOST>\]\)[: -]+ USER \S+ \(Login failed\): Incorrect
password\.$
\(\S+\[<HOST>\]\)[: -]+ SECURITY VIOLATION: \S+ login
attempted\.$
\(\S+\[<HOST>\]\)[: -]+ Maximum login attempts \(\d+\) exceeded$
Je ne suis pas un expert en expression régulière, mais la première et
quatrième ligne figurent bien dans les logs de proftpd.
extrait de mon log :
mai 19 16:53:37 helios proftpd[4624] domaine.net
(222.81.8.228[222.81.8.228]): USER manuella: no such user found from
222.81.8.228 [222.81.8.228] to 192.168.1.2:21
mai 19 16:53:38 helios proftpd[4624] domaine.net
(222.81.8.228[222.81.8.228]): no such user 'manuella'
mai 19 16:53:38 helios proftpd[4624] domaine.net
(222.81.8.228[222.81.8.228]): USER manuella: no such user found from
222.81.8.228 [222.81.8.228] to 192.168.1.2:21
mai 19 16:53:39 helios proftpd[4624] domaine.net
(222.81.8.228[222.81.8.228]): no such user 'manuella'
mai 19 16:53:39 helios proftpd[4624] domaine.net
(222.81.8.228[222.81.8.228]): USER manuella: no such user found from
222.81.8.228 [222.81.8.228] to 192.168.1.2:21
mai 19 16:53:39 helios proftpd[4624] domaine.net
(222.81.8.228[222.81.8.228]): Maximum login attempts (3) exceeded,
connection refused
Je précise quand même que le service est bien lancé :
root 25839 1 0 May18 ? 00:01:22 /usr/bin/python
/usr/bin/fail2ban-server -b -s /var/run/fail2ban/fail2ban.sock
Sinon, en terme de config, rien de particulier, sinon que j'ai suivi les
préconisations de jail.conf qui suggère de créer un jail.local et
dont voici les seules lignes modifiées :
ignoreip = 127.0.0.1 192.168.1.20 192.168.1.21 192.168.1.22 192.168.1.23
192.168.1.1
bantime = 72000
maxretry = 3
[proftpd]
enabled = true
port = ftp,ftp-data,ftps,ftps-data
filter = proftpd
logpath = /var/log/proftpd/proftpd.log
maxretry = 3
Droits de /var/log/proftpd/proftpd.log : -rw-r--r-- 1 root root 859
mai 17 12:47 fail2ban.conf
Désolé pour la longueur imbuvable de post, mais j'essaie d'être aussi
précis et complet que possible.
Merci d'avance.
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org

Poser une question


La première semble correcte en effet (ton proftpd identifie donc a
priori bien les violations).
Par contre pour la quatrième expression :
(S+[<HOST>])[: -]+ Maximum login attempts (d+) exceeded$
Le "$" signifiant "fin de ligne" ne correspond pas avec ta ligne dans
les LOG qui est :
[...] Maximum login attempts (3) exceeded, connection refused
Donc, essaies en remplacant cette dernière expression par :
(S+[<HOST>])[: -]+ Maximum login attempts (d+) exceeded,
connection refused$
Ça devrait rouler... (I Hope!)
(Je ne sais pas si ces expressions sont lues à la volée ou s'il te
faudra faire un "restart" de ton proftpd)
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
J'ai fait la modif et relancé fail2ban.
Sinon, en effet, on peut être certain que fail2ban scrute bien les logs
de proftpd,
puisque pendant un court laps de temps j'ai renommé le proftpd.log, et
immédiatement
il y avait des injures dans le fail2ban.log
Il y a quand même un truc qui me surprend : Effectivement la quatrième
expression régulière n'était pas conforme,
mais néanmoins, la première semblait bien l'être, et par conséquent les
conditions de bannissement étaient remplis
(3 fois "no such user found from")...
Merci encore, et on va bien voir...
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS