En primer lugar debemos instalar y configurar el cliente msmtp
apt install msmtp
Creamos un archivo /etc/msmtprc y pegamos la siguiente configuración:
defaults
tls on
account default
host smtp.midominio.com
from fail2ban-noreply@midominio.com
Tomando como base los archivos de configuración de Sendmail que vienen por default en la instalación del Fail2Ban, en la carpeta action.d, reemplazamos el string de envío de correo de cada uno de los archivos sendmail por msmtp.
for FILE in /etc/fail2ban/action.d/sendmail*.conf; do cp "$FILE" "${FILE/sendmail/msmtp}"; done
sed -i 's/before = sendmail/before = msmtp/' /etc/fail2ban/action.d/msmtp*.conf
sed -i 's/after = sendmail/after = msmtp/' /etc/fail2ban/action.d/msmtp*.conf
sed -i 's/sbin\/sendmail -f <sender>/bin\/msmtp/g' /etc/fail2ban/action.d/msmtp*.conf
Completo los parámetros de configuración del msmtp, en el archivo /etc/fail2ban/action.d/msmtp-common.conf
dest = pablo@midomino.com
sender = fail2ban-noreply@midomino.com
Para configurar el envío de mails del Fail2Ban debemos modificar las siguientes líneas del archivo jail.local
.
destemail = pablo@midominio.com
sender = fail2ban-noreply@midominio.com
.
mta = msmtp
.
action = %(action_mwl)s
.
y modificamos el action del ssh para que notifique, en este caso es el archivo 7etc/fail2ban/jail.d/defaults-debian.conf
action = iptables[name=SSH, port=ssh, protocol=tcp]
msmtp-whois[name=SSH]
Resta reiniciar el servicio y deberíamos recibir las notificaciones por correo
service fail2ban restart