Fail2ban ne bloque pas les tentatives de connexion SASL

Mon serveur YunoHost

Matériel: VPS acheté en ligne
Version de YunoHost: 11.2.10.3
J’ai accès à mon serveur : En SSH
Êtes-vous dans un contexte particulier ou avez-vous effectué des modifications particulières sur votre instance ? : non

Description du problème

Bonjour à toute l’équipe,
Je vous contacte, car je reçois régulièrement des tentatives de connexion SASL à répétition depuis plusieurs IP d’un même réseau. Je surveille le fichier /var/log/syslog régulièrement pour les tracker et les bloquer avec iptables à la main. J’imagine que dans ce cas là fail2ban ne peut rien faire puisqu’il ne s’agit pas de la même IP, mais aujourd’hui il s’agit d’une même IP qui a fait plus d’une dizaine de tentatives sans que fail2ban bloque l’IP. J’ai vérifié la conf du fichier /etc/fail2ban/jail.d/yunohost-jails.conf et j’ai bien un bloc destiné au SASL ainsi que pour postfix. Quelqu’un pourrait m’aider à configurer fail2ban afin de le faire fonctionner dans le sens souhaité ?
Merci beaucoup d’avance

Voici le contenu du fichier /etc/fail2ban/jail.d/yunohost-jails.conf

[sshd]
port = X
enabled = true

[nginx-http-auth]
enabled = true

[postfix]
enabled = true

[sasl]
enabled  = true
port     = smtp
filter   = postfix-sasl
logpath  = /var/log/mail.log
maxretry = 5

[dovecot]
enabled = true

[recidive]
enabled = true

[pam-generic]
enabled = true

[yunohost]
enabled  = true
port     = http,https
protocol = tcp
filter   = yunohost
logpath  = /var/log/nginx/*error.log
           /var/log/nginx/*access.log

Est-ce que tu peux donner un exemple de requête qui n’est pas bloqué

Probably related: fail2ban doesn't ban on failed smtp auth attempts · Issue #2254 · YunoHost/issues · GitHub

Hello,

J’ai fais quelques recherches de mon côté et voici ce que j’ai trouvé et qui me semble tenir debout, mais sans garantie de ma part que ca va marcher donc à tester.

  • Vérifie que le service fail2ban est activé et en cours d’exécution. systemctl status fail2ban
  • Edite le fichier de configuration de Fail2ban pour la jail SASL: sudo nano /etc/fail2ban/jail.d/yunohost-jails.conf
  • Modifie ces paramètres dans la section [sasl]:

enabled = true
port = smtp,pop3,imap
filter = postfix-sasl
logpath = /var/log/mail.log
maxretry = 5

  • Dernière étape: Redémarre Fail2ban pour prendre en compte les modifications.

Après, tu peux effectuer un test de suivi:

  • Simulez une tentative de connexion SASL infructueuse pour vérifier que Fail2ban bloque l’ip.
  • Consultez les logs de Fail2ban (/var/log/fail2ban.log) pour vérifier que les ip sont correctement bloquées.
  • Ajustez les paramètres de la jail SASL si nécessaire (par exemple, le nombre de tentatives autorisées avant le blocage). Ici c’est maxretry = 5 donc tu peux l’ajuster.

Bonne chance.

Bonjour Aleks,
Comme toujours, merci beaucoup de venir à notre rescousse.
Voici ci-dessous toute une série de tentatives très rapprochées venant d’une même IP. Elles n’étaient pas dangereuses dans la mesure où le user n’était même pas bon mais dernièrement je reçois des tentatives bien plus ciblées, avec un user name réellement existant.

J’ai toutefois tenté l’astuce du lien que tu m’as fourni. Si j’ai bien compris : un ‘maxretry’ très court avec une ‘findtime’ très longue et un ‘ban’ très court dans le bloc [sasl] associé à un ‘ban’ très long dans le bloc [recidive]. Reste à voir si ça va marcher. Je vous tiens au courant du résultat.
Je précise que j’ai fait en amont un regen-conf de fail2ban histoire de partir d’une base propre pour mettre en place l’astuce.

Merci !

Apr  3 07:57:45 editions-tangentielles postfix/smtpd[541493]: warning: unknown[1
93.32.162.23]: SASL LOGIN authentication failed: UGFzc3dvcmQ6, sasl_username=inf
o@editions-tangentielles.fr
Apr  3 07:57:58 editions-tangentielles postfix/smtpd[541493]: warning: unknown[1
93.32.162.23]: SASL LOGIN authentication failed: UGFzc3dvcmQ6, sasl_username=inf
o@editions-tangentielles.fr
Apr  3 07:58:10 editions-tangentielles postfix/smtpd[541493]: warning: unknown[1
93.32.162.23]: SASL LOGIN authentication failed: Connection lost to authenticati
on server, sasl_username=(unavailable)
Apr  3 07:58:15 editions-tangentielles postfix/smtpd[541493]: warning: unknown[1
93.32.162.23]: SASL LOGIN authentication failed: UGFzc3dvcmQ6, sasl_username=inf
o@editions-tangentielles.fr
Apr  3 07:58:23 editions-tangentielles postfix/smtpd[541493]: warning: unknown[1
93.32.162.23]: SASL LOGIN authentication failed: UGFzc3dvcmQ6, sasl_username=inf
o@editions-tangentielles.fr
Apr  3 07:58:34 editions-tangentielles postfix/smtpd[541493]: warning: unknown[1
93.32.162.23]: SASL LOGIN authentication failed: UGFzc3dvcmQ6, sasl_username=inf
o@editions-tangentielles.fr
Apr  3 07:58:46 editions-tangentielles postfix/smtpd[541493]: warning: unknown[1
93.32.162.23]: SASL LOGIN authentication failed: Connection lost to authenticati
on server, sasl_username=(unavailable)
Apr  3 07:58:51 editions-tangentielles postfix/smtpd[541493]: warning: unknown[1
93.32.162.23]: SASL LOGIN authentication failed: UGFzc3dvcmQ6, sasl_username=inf
o@editions-tangentielles.fr
Apr  3 07:58:59 editions-tangentielles postfix/smtpd[541493]: warning: unknown[1
93.32.162.23]: SASL LOGIN authentication failed: UGFzc3dvcmQ6, sasl_username=inf
o@editions-tangentielles.fr
Apr  3 07:59:12 editions-tangentielles postfix/smtpd[541493]: warning: unknown[1
93.32.162.23]: SASL LOGIN authentication failed: UGFzc3dvcmQ6, sasl_username=inf
o@editions-tangentielles.fr
Apr  3 07:59:24 editions-tangentielles postfix/smtpd[541493]: warning: unknown[1
93.32.162.23]: SASL LOGIN authentication failed: Connection lost to authenticati
on server, sasl_username=(unavailable)
Apr  3 07:59:28 editions-tangentielles postfix/smtpd[541493]: warning: unknown[1
93.32.162.23]: SASL LOGIN authentication failed: UGFzc3dvcmQ6, sasl_username=inf
o@editions-tangentielles.fr
Apr  3 07:59:38 editions-tangentielles postfix/smtpd[541493]: warning: unknown[1
93.32.162.23]: SASL LOGIN authentication failed: UGFzc3dvcmQ6, sasl_username=inf
o@editions-tangentielles.fr

Edit : Suite à l’application de l’astuce ci-dessus, le logs de fail2ban affichent des blocages. Dans le syslog je vois de rares tentatives encore, mais pour l’instant pas de récidives. Je continue de bloquer à la main les IP qui n’apparaissent pas dans les jails. On va dire que le problème est réglé.

Merci pour l’aide. J’ai tenté plutôt l’astuce proposée par Aleks. Affaire à suivre.