Este artículo cubre solamente la instalación del mutt como cliente y la configuración del fail2ban para que pueda generar alertas vía email usando mutt como cliente.
Instalación mutt
La siguiente liga muestra la instalación de mutt, no es necesario configurar la parte de IMAP. Cabe mencionar que esto se debe hacer con root, ya que fail2ban se ejecuta con root.
El archivo ~/.mutt/muttrc contiene los campos set realname, set from, set use_from, set envelope_from Los2 primeros deben ser cambiados al nombre y al correo que se usaran para enviar las notificaciones.
Los campo set smtp_url, set smtp_pass, set ssl_force_tls se requieren para conectarse al servidor y autenticar la sesion.
Para probar que el envío de correos es correcto se puede ejecutar la siguiente prueba:
echo “Contenido del Correo” | mutt -s “Subject del correo” destino@example.com
Si el correo se envía correctamente, podemos continuar con el siguiente paso.
Configuración fail2ban
La configuración del fail2ban se divide en 2 pasos, creación de archivos para envio de correos y la modificación del archivo jail.local.
Como sugerencia abrir 2 ventanas de shell para trabajar
# cd /etc/fail2ban/action.d
# ls -alF
Esto mostrara el contenido del directorio, nos enfocaremos en los archivos que empiezan con sendmail
-rw-r--r-- 1 root root 2806 Jan 11 2020 sendmail-buffered.conf
-rw-r--r-- 1 root root 1969 Oct 19 21:57 sendmail-common.conf
-rw-r--r-- 1 root root 1761 Oct 19 21:38 sendmail-geoip-lines.conf
-rw-r--r-- 1 root root 1055 Oct 19 21:39 sendmail-whois-ipjailmatches.conf
-rw-r--r-- 1 root root 1036 Oct 19 21:40 sendmail-whois-ipmatches.conf
-rw-r--r-- 1 root root 1299 Jan 11 2020 sendmail-whois-lines.conf
-rw-r--r-- 1 root root 1000 Jan 11 2020 sendmail-whois-matches.conf
-rw-r--r-- 1 root root 950 Jan 11 2020 sendmail-whois.conf
-rw-r--r-- 1 root root 829 Jan 11 2020 sendmail.conf
copiar todos los archivos sendmail-* a mutt-* como en el siguiente ejemplo:
# cp sendmail-buffered.conf mutt-buffered.conf
Hacer lo mismo para todos los archivos que comiencen con sendmail.
Una vez terminado se edita cada uno de los archivos y se reemplaza, lo que diga sendmail por mutt, como en el siguiente ejemplo (dejar el archivo mutt-common.conf al final):
# nano mutt-buffered.conf
Reemplazar la palabra sendmail por mutt, en las líneas que hagan referencia a los archivos
Reemplazar la palabra dest por destino en los <> que apuntan al campo TO:
# Fail2Ban configuration file
#
# Author: Cyril Jaquier
#
#
[INCLUDES]
before = mutt-common.conf
actionstart = printf %%b "Subject: [Fail2Ban] : started on
From:<sendername> <<sender>>
To: <destino>\n
# nano mutt-common.conf
Reemplazar la palabra sendmail por mutt, en las líneas que hagan referencia a los archivos
Ir a la línea mailcmd y reemplazarla por lo siguiente:
[Init]
# Your system mail command # mailcmd = /usr/bin/mutt -s “Reporte [Fail2Ban] <name>: en el <fq-hostname>” <destino>
# Sender mail address # sender = quienenvia@example.com.mx
# Sender display name # sendername = Nombre de quien envía
El parámetro “-s” indica el subject del correo
Las variables de fail2ban se ponen en <>
sender y sendername aqui son las opciones por default, estas pueden ser pasadas desde el jail.local
Todos los archivos tienen plantillas de email que se aplicaran de acuerdo a la acción que se dispare con el Fail2ban, por lo que si se quiere personalizar estas plantillas, solo hay que tener cuidado de no quitar comillas u otro carácter que sea parte de la plantilla original.
# nano jail.local
A continuación se muestra la configuración de un jail para que sea reportado por email. Si se desea que todos los jails se reporten por email, es necesario crear al inicio del documento una sección que se llame [default] y que contendrá todos los datos relacionados con el emai.
[Init]
# Your system mail command # mailcmd = /usr/bin/mutt -s “Reporte [Fail2Ban] <name>: en el <fq-hostname>” <destino>
# Sender mail address # sender = quienenvia@example.com.mx
# Sender display name # sendername = Nombre de quien envía