Fail2ban ip bannie mais présente dans les logs

Tags: #<Tag:0x00007f50b15cdf88>

Bonjour à tous,

J’ai eu une attaque brute force sur postfix. Lorsque j’examine la jail, je vois que l’ip a été bannie:

 > fail2ban-client status postfix-sasl -v
Status for the jail: postfix-sasl
|- Filter
|  |- Currently failed: 3
|  |- Total failed:     261768
|  `- File list:        /var/log/mail.warn
`- Actions
   |- Currently banned: 1
   |- Total banned:     753
   `- Banned IP list:   212.70.149.72

Au passage, on ne sait pas quand l’ip a été bannie.

La jail postfix-sasl ne mentionne pas de paramètres particuliers:

enabled = true
port     = smtp,465,submission,imap3,imaps,pop3,pop3s
logpath = /var/log/mail.warn
backend  = %(postfix_backend)s

et devrait donc utiliser les paramètres par défaut:

maxretry = 3
findtime=600
bantime=3600
banaction = iptables-multiport
banaction_allports = iptables-allports

Donc l’ip a été bannie. Mais je ne comprends pas pourquoi le warning

Mar 13 00:00:08 ks307144 postfix/smtps/smtpd[32191]: warning: Milter service needs transport:endpoint instead of "/var/run/opendmarc/opendmarc"
Mar 13 00:00:33 ks307144 postfix/smtps/smtpd[32191]: warning: unknown[212.70.149.72]: SASL LOGIN authentication failed: UGFzc3dvcmQ6
Mar 13 00:01:23 ks307144 postfix/smtps/smtpd[32191]: warning: Milter service needs transport:endpoint instead of "/var/run/opendmarc/opendmarc"
Mar 13 00:01:47 ks307144 postfix/smtps/smtpd[32191]: warning: unknown[212.70.149.72]: SASL LOGIN authentication failed: UGFzc3dvcmQ6
Mar 13 00:02:38 ks307144 postfix/smtps/smtpd[32191]: warning: Milter service needs transport:endpoint instead of "/var/run/opendmarc/opendmarc"
Mar 13 00:03:03 ks307144 postfix/smtps/smtpd[32191]: warning: unknown[212.70.149.72]: SASL LOGIN authentication failed: UGFzc3dvcmQ6
...
Mar 16 16:40:47 ks307144 postfix/smtps/smtpd[30665]: warning: unknown[212.70.149.72]: SASL LOGIN authentication failed: UGFzc3dvcmQ6

apparait dans mail.warn toutes les minutes pendant 3 jours.

Une IP bannie peut continuer à générer des messages d’erreur ou est-ce que le bannissement s’est fait après tous ces warnings ?

Y a-t-il un moyen sûr de savoir quels paramètres (findtime, maxretry, bantime, banaction) sont retenus pour une jail ?

En es-tu sûr ? as-tu vérifier sur Iptables ?

iptables -L|grep 212.70.149.72

ne donne rien

Par contre je remarque:
iptables -L

...
Chain f2b-postfix-sasl (0 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere   
RETURN     all  --  anywhere             anywhere   
...
RETURN     all  --  anywhere             anywhere   
...

Je ne peux pas obtenir la banaction utilisée pour cette jail ?

Bonjour,

Pour commencer c’est juste du bruit dans les logs (faire une recherche sur UGFzc3dvcmQ6). Tu devrais davantage te préoccuper de l’avertissement sur la configuration du milter pour opendmarc.

Ensuite, tu as des délais de recherche (findtime) et de bannissement (bantime) courts. Il est tout à fait possible que l’IP en question ait été dé-bannie entre temps. Si tu veux vraiment bloquer ce type d’IP il faut augmenter ces délais ou utiliser le jail recidive.
Ceci dit il est sans doute plus efficace de bloquer ces IP biens connues en amont (par exemple avec avec postscreen) en utilisant des listes noires (DNSBL).

Pour voir à quel moment une IP est bannie il faut consulter les logs de fail2ban.

Dois je en déduire que toutes ces tentatives de log ne consomment aucune ressources processeur ou mémoire ? (Un mail non reçu dans cette période a attiré mon attention sur ces logs)

D’accord je vais examiner ça et ferai un autre fil si besoin

Fail2ban.log montre que l’ip a déjà été bannie toutes les 4mn depuis le 13 mars, au moins

2022-03-13 23:08:24,285 fail2ban.actions        [10623]: WARNING [postfix-sasl] 212.70.149.72 already banned
2022-03-13 23:12:09,380 fail2ban.actions        [10623]: WARNING [postfix-sasl] 212.70.149.72 already banned
2022-03-13 23:15:55,880 fail2ban.actions        [10623]: WARNING [postfix-sasl] 212.70.149.72
...
2022-03-16 19:03:22,189 fail2ban.actions        [10623]: WARNING [postfix-sasl] 212.70.149.72 already banned
2022-03-16 19:07:01,877 fail2ban.actions        [10623]: WARNING [postfix-sasl] 212.70.149.72 already banned

Le problème serait donc au niveau de la règle recidive que voici:


logpath  = /var/log/fail2ban.log
banaction = %(banaction_allports)s
bantime  = 14d
findtime = 1d

Pourquoi cette IP n’a pas été bannie par recidive dès le 13 mars ?

J’ai:

rgrep postscreen_dnsbl_action /etc/postfix/*
/etc/postfix/main.cf:postscreen_dnsbl_action = drop

Y-a-t-il autre chose à paramétrer ?

Aucune, non mais c’est tout à fait négligeable.

Là on ne voit que des avertissements indiquant que l’IP est déjà bannie. Peut-être des filtres redondants, une mauvaise configuration, le service qui n’a pas été redémarré après une mise à jour ou un changement de configuration, etc. Exemple d’une ligne de log indiquant un ban :

2022-03-17 06:07:19,045 fail2ban.actions [566537]: NOTICE [postfix] Ban xxx.xxx.xxx.xxx

Après révision des conf je n’ai plus qu’un warning dans mail.warn:

warning: symlink leaves directory: /etc/postfix/./smtpd.key

 > ll /etc/postfix/smtpd.key
lrwxrwxrwx 1 root root 47 déc.  31 10:49 /etc/postfix/smtpd.key -> /etc/letsencrypt/live/webologix.com/privkey.pem

c’est grave ?