Fail2ban notificaciones email (mutt)

Skip to main content
< Regresar
Estás aquí:
Imprimir

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

Table of Contents

Deja un comentario