Estoy intentando detener un ataque e iniciar sesión SASL LOGIN authentication failed
en mi servidor de correo. Sin embargo, llevo un día intentándolo y todavía no puedo lograrlo. Los registros siguen generando el ataque con la misma IP.
Máquina
Linux server 5.4.0-109-generic #123-Ubuntu SMP Fri Apr 8 09:10:54 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Correo Inicia sesión/var/log/mail.log
Apr 28 20:45:23 server postfix/smtpd[112579]: connect from unknown[5.34.207.81]
Apr 28 20:45:24 server postfix/smtpd[112409]: warning: unknown[5.34.207.81]: SASL LOGIN authentication failed: authentication failure
Apr 28 20:45:25 server postfix/smtpd[112409]: disconnect from unknown[5.34.207.81] ehlo=1 auth=0/1 rset=1 quit=1 commands=3/4
Apr 28 20:45:30 server postfix/smtpd[112599]: connect from unknown[5.34.207.81]
Apr 28 20:45:31 server postfix/smtpd[112579]: warning: unknown[5.34.207.81]: SASL LOGIN authentication failed: authentication failure
Apr 28 20:45:32 server postfix/smtpd[112579]: disconnect from unknown[5.34.207.81] ehlo=1 auth=0/1 rset=1 quit=1 commands=3/4
Apr 28 20:45:36 server postfix/smtpd[112409]: connect from unknown[5.34.207.81]
Apr 28 20:45:38 server postfix/smtpd[112599]: warning: unknown[5.34.207.81]: SASL LOGIN authentication failed: authentication failure
Apr 28 20:45:38 server postfix/smtpd[112599]: disconnect from unknown[5.34.207.81] ehlo=1 auth=0/1 rset=1 quit=1 commands=3/4
Fail2Ban con IPtables
/etc/fail2ban/jail.local
[postfix-sasl]
enabled = true
port = smtp,ssmtp,465,submission,imap,imaps,pop3,pop3s
bantime = 10m
filter = postfix-sasl
#action = iptables-multiport[name=postfix, port="smtp,ssmtp,465,submission,imap,imaps,pop3,pop3s", protocol=tcp]
logpath = /var/log/mail.log
maxretry = 15
Lo hice sudo service fail2ban restart
y lo del cableado es que no vi ninguna cadena con f2b-postfix
.
También lo hizo un grep de fail2ban
los registros y aquí está el resultado:
Fail2Ban inicia sesión/var/log/fail2ban.log
2022-04-27 16:27:10,133 fail2ban.actions [567]: NOTICE [postfix-sasl] Unban 5.34.207.81
2022-04-27 16:27:45,391 fail2ban.actions [567]: NOTICE [postfix-sasl] Ban 5.34.207.81
2022-04-27 16:32:17,801 fail2ban.actions [567]: NOTICE [postfix-sasl] Unban 212.70.149.72
2022-04-27 22:37:46,299 fail2ban.actions [567]: NOTICE [postfix-sasl] Unban 5.34.207.81
Fail2Ban con UFW
En mi investigación, entiendo que Fail2Ban puede funcionar con UFW, así que investigué un poco y aquí está mi configuración:
/etc/fail2ban/jail.local
[postfix-sasl]
enabled = true
journalmatch =
backend = polling
bantime = -1 // Permanent ban? Maybe
filter = postfix-sasl
logpath = /var/log/mail.log
maxretry = 15
banaction = ufw
findtime = 120
Vale la pena mencionar que ingresé manualmente sudo ufw insert 1 deny from 5.34.207.81 to any
pero sudo ufw reload
desafortunadamente todavía puedo ver el ataque desde la misma IP en los registros de correo./var/log/mail.log
Respuesta1
Actualizaciones
¡Finalmente, Fail2Ban
funciona como se esperaba y voy a marcar esto como la respuesta!
¡La solución es establecer action
igual a iptables-multiport
para prohibir múltiples puertos! Sin embargo, no suelo UFW
restringir al atacante porque me doy cuenta de que UFW
no siempre está habilitado durante el arranque debido a conflictos con el archivo firewalld
.
Soluciones
Añade esta línea a tu/etc/fail2ban/jail.local
action = iptables-multiport[name=postfix, port="smtp,ssmtp,465,submission,imap,imaps,pop3,pop3s"]
Debería verse así:
[postfix-sasl]
enabled = true
filter = postfix-sasl
action = iptables-multiport[name=postfix, port="smtp,ssmtp,465,submission,imap,imaps,pop3,pop3s"]
logpath = /var/log/mail.log
maxretry = 15
bantime = 12h
maxretry
Anteriormente lo configuré 3
para fines de prueba. Es posible que desee cambiarlo a un valor más alto. De lo contrario, su usuario podría meterse en problemas rápidamente.
Verificar el estado de Fail2Ban
Vale la pena revisar tu cárcel:
sudo fail2ban-server status postfix-sasl
Producción:
Status for the jail: postfix-sasl
|- Filter
| |- Currently failed: 2
| |- Total failed: 49
| `- File list: /var/log/mail.log
`- Actions
|- Currently banned: 1
|- Total banned: 3
`- Banned IP list: 5.34.207.81
Respuesta2
Vale la pena señalar que, dependiendo de la cantidad de usuarios que tenga, es posible que desee reducir el umbral y, según la cantidad de ataques, tal vez aumentar el tiempo de prohibición.
No uso Postfix, sino Exim. Sin embargo, los desafíos de bloquear a los atacantes son los mismos. Aquí puedes ver el estado de mi cárcel Fail2ban para darte una idea de los tamaños de botnet que existen:
XXXX@XXXX:~# fail2ban-exim de estado del cliente
Estado de la cárcel: exim
|- Filtro
| |- Actualmente fallido: 0
| |- Total fallidos: 10380
| - File list: /var/log/exim4/mainlog
- Acciones
|- Actualmente prohibido:1763
|- Total prohibido: 5644
`- Lista de IP prohibidas: XXXXXXXXXXXX