Stop fail2ban notificaciones de stop / start

14

Si el servidor se reinicia, o incluso si fail2ban se detiene / inicia, envía una notificación.

[asterisk-iptables]
enabled  = true
filter   = asterisk
action   = iptables-allports[name=ASTERISK, protocol=all]
           sendmail-whois[name=ASTERISK, [email protected], [email protected]] 
logpath  = /var/log/asterisk/messages
maxretry = 5
bantime = 259200

Al eliminar sendmail-whois lo detiene, pero también detiene las notificaciones de prohibición, ¿cómo puedo hacer que deje de notificarme cuando el proceso se inicia / detiene?

Gracias

Miguel
fuente

Respuestas:

10

Echa un vistazo a action.d/mail.confo action.d/sendmail.confque controlan el correo para iniciar / detener / prohibir.

usuario9517
fuente
Esto no hace el truco. Creo que hay algunos otros archivos para editar porque sigo recibiendo este molesto correo electrónico :(
Kreker
@Kreker Funcionó para mí y para el OP, probablemente por eso lo marcaron como aceptado. Si no funciona para usted, ¿quizás tenga una configuración diferente o haya configurado mal algo?
user9517
En la configuración de fail2ban estoy usando sendmail como mta, por lo que cargó action.d / sendmail.conf. Tengo una instalación normal de apt-get
Kreker
9

No es necesario arreglar esto en ningún archivo. Depende de su configuración en jail.conf.

Si configuró mta = sendmail, puede reducir los archivos action.d/sendmail-*.

Entonces tienes que mirar tu action = %(action_*)s. Si configuró

"action_": comentario "actionstart" y "actionstop" en action.d / sendmail .conf

"action_mw": comentario ... en action.d / sendmail -whois.conf

"action_mwl": comentario ... en action.d / sendmail -whois-lines.conf

Si configuró mta para "correo", simplemente cambie sendmail a correo y configure el archivo específico.

¡No olvide reiniciar después de comentar el archivo!

boesing
fuente
Entonces, ¿qué archivo se supone que debo editar? .confo .local? Pero tal vez simplemente no entiendo porque esta respuesta es muy antigua. La respuesta de Jim funciona en 2019.
Jack Miller
9

Para solucionar esto en Fail2Ban v0.9.1 (del repositorio de epel) en CentOS 7 (RHEL 7), puede anular las acciones de inicio y detención de sendmail (establecerlas en nada) en /etc/fail2ban/action.d/sendmail-common. local. Creo este archivo ejecutando estos comandos como root:

cat << EOF >> /etc/fail2ban/action.d/sendmail-common.local
# Override the Fail2Ban defaults in sendmail-common.conf with these entries

[Definition]
# Disable email notifications of jails stopping or starting
actionstart =
actionstop =
EOF
cat /etc/fail2ban/action.d/sendmail-common.local
Jim
fuente
En realidad, esto no ayuda a resolver el problema, ya que la .localvariante se cargará después del .confarchivo, pero ambos se cargarán antes de las definiciones en los (send)mail-*.confarchivos que configuran las acciones. No hay otra forma que editar los archivos de acción, el más limpio / minimalista es agregar un aftergancho en esos archivos que apuntan a la misma inclusión. Cf. osso.nl/blog/fail2ban-started-e-mail-disable . También podría duplicar todos esos archivos y crear otra rama completa, es decir custommail-*.conf, que evite modificar los archivos predeterminados.
Bernard Rosset
En centOS7, este fue el único consejo que realmente ayudó. claro, el próximo reinicio de fail2ban seguirá activando las notificaciones de detención de cárceles, pero no la (s) de inicio. Luego nueva conf se carga y por lo tanto ni las notificaciones de parada se activará de nuevo
lesa
1
@BernardRosset Esto realmente funciona, pero requiere fail2ban 0.9 o superior y que alguien no haya modificado los archivos de configuración enviados y haya limitado sus cambios a los .localarchivos. Todo en 0.9 puede ser anulado de los .localarchivos, pero esto no era cierto en 0.8 y anteriores.
Michael Hampton
Esta es la respuesta correcta. ¡Ciertamente necesita votar!
Jack Miller
7

La única forma en que encontré deshabilitar las notificaciones de inicio / detención fue comentar las secciones actionstarty actionstopen todos estos archivos en action.d/:

mail-buffered.conf
mail.conf
mail-whois.conf
mail-whois-lines.conf
sendmail-buffered.conf
sendmail.conf
sendmail-whois.conf
sendmail-whois-lines.conf
cronon
fuente
3

Intentando juntar los fragmentos de las respuestas anteriores, con algunos detalles más y comandos largos para los perezosos.

Su jail.{conf,local}define cómo se envían los correos. Por defecto, lo es sendmail. Comprobar con:

grep 'mta *=' jail.{conf,local}

Para ver qué acciones de inicio / detención están configuradas para sus cárceles, use fail2ban-client -d.

Poniendo ambos juntos:

mta=$(grep 'mta *=' /etc/fail2ban/jail.{conf,local} | awk '{print $NF}')
fail2ban-client -d | awk "/action(start|stop).*$mta/ {print \$4}" | sort -u

En mi configuración, la salida es 'sendmail-whois-lines',para que sea el archivo a editar. Suponiendo que su configuración esté en / etc / fail2ban, el nombre completo del archivo es /etc/fail2ban/action.d/sendmail-whois-lines.conf.

Sin embargo, como menciona Rabin, no edite ese archivo directamente, ya que se sobrescribirá durante las actualizaciones. En su lugar, cree /etc/fail2ban/action.d/sendmail-whois-lines.local(o lo que action.d/file-name.localsea ​​correcto en su configuración) y agregue estas líneas:

[Definition]
actionstart =
actionstop  =

O, para los realmente flojos que no pueden molestarse en buscar y crear el archivo correcto:

mta=$(grep 'mta *=' /etc/fail2ban/jail.{conf,local} | awk '{print $NF}')
fail2ban-client -d \
| awk "/action(start|stop).*$mta/ {print \$4}" \
| sort -u \
| while read f; do \
    f=${f//\'/}
    f="/etc/fail2ban/action.d/${f/%,/}.local"
    cat <<EOF >>"$f"
[Definition]
actionstart =
actionstop  =
EOF
done
mivk
fuente
1

Anule las definiciones actionstart y actionstop /etc/fail2ban/action.d/sendmail-common.confcreando un archivo /etc/fail2ban/action.d/sendmail-common.local.

Agregue el texto a continuación a este archivo

[Definition]
actionstart =
actionstop =

Ahora no recibe ningún correo al iniciar / detener el servicio fail2ban.

BJ de Jong
fuente
Vale la pena señalar que debe asegurarse de que los permisos estén configurados correctamente en el archivo (es decir, 0644y de su propiedad root). Esto me mordió hoy.
Pezholio
0

Encontré una manera rápida y fácil de hacer esto:

cden su /etc/fail2ban/action.ddirectorio

Luego, simplemente reemplace cada declaración de actionstart con la suya, que para mí estaba en blanco.

for FILE in *mail* ; do echo -e "actionstart =\nactionstop =\n" >> $FILE ; done

Esto agregará una nueva sección actionstart y actionstop a cada archivo que se envíe por correo.

1 línea, trabajo realizado.

Peter Hubberstey
fuente
0

Yo no recomiendo cambiar los archivos por defecto que viene con el paquete (como algunos sugirieron aquí), que se sobrescribirán la próxima vez que actualice ellos.

Simplemente copie la acción que está usando en ese caso sendmail-whoisen un nuevo archivo, sendmail-modasígnele el nombre que desee, por ejemplo, y en este archivo debe comentar (o eliminar) las partes actionstart / actionstop.

A continuación, cambie la acción en el archivo de configuración (jail.conf / jail.local), para usar la nueva acción.

Desde:

action   = iptables-allports[name=ASTERISK, protocol=all]
           sendmail-whois[name=ASTERISK, [email protected], [email protected]] 

A:

action   = iptables-allports[name=ASTERISK, protocol=all]
           sendmail-mod[name=ASTERISK, [email protected], [email protected]] 
Rabin
fuente
0

Primero, como algunas personas mencionaron, parece mejor crear un archivo ".local" y hacer los cambios en él, que editar el archivo ".conf" original, que podría anularse en futuras actualizaciones.

En pocas palabras, basado en este excelente enlace: http://tonesworld.co.uk/fail2ban-disable-stop-and-start-emails/ , hice los siguientes pasos y resolvió el problema:

1. Cree un nuevo archivo y edítelo:

sudo nano /etc/fail2ban/action.d/stop-start.local

2. Pegue dentro (luego salga y guarde):

[Definition]

actionstart =

actionstop =

3. Si fail2ban usa "mail" para enviar correos electrónicos:

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/mail-buffered.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/mail-whois-common.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/mail-whois-lines.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/mail-whois.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/mail.local

Si fail2ban usa "sendmail" para enviar correos electrónicos:

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-buffered.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-common.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-geoip-lines.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-whois-ipjailmatches.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-whois-ipmatches.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-whois-lines.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-whois-matches.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-whois.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail.local

4. Reiniciar para aplicar los cambios:

sudo service fail2ban restart

Nota final: en la primera vez después de aplicar estos cambios, aún verá los mensajes de "detención", porque los nuevos cambios aún no se han aplicado.

TheNG
fuente
0

Esta es mi solución para lo que vale, crear un archivo bash y ejecutarlo:

#!/bin/bash
echo Start ...
BASE_PATH="/etc/fail2ban/action.d/"
FILES="${BASE_PATH}mail-buffered.conf
${BASE_PATH}mail.conf
${BASE_PATH}mail-whois.conf
${BASE_PATH}mail-whois-lines.conf
${BASE_PATH}sendmail-buffered.conf
${BASE_PATH}sendmail.conf
${BASE_PATH}sendmail-whois.conf
${BASE_PATH}sendmail-whois-lines.conf"
echo $FILES
for f in $FILES
    do
        temp1=${f}.temp1
        awk '/^[^   ]/ { comment=0 }
             /^actionstart/ { comment=1 } 
             comment {$0 = "#" $0}
             { print }' $f > $temp1 && mv -f $temp1 $f || rm -f $temp1
        temp2=${f}.temp2
        awk '/^[^   ]/ { comment=0 }
             /^actionstop/ { comment=1 } 
             comment {$0 = "#" $0}
             { print }' $f > $temp2 && mv -f $temp2 $f || rm -f $temp2
    done

La primera parte del código define una lista de archivos que desea cambiar, la segunda mitad básicamente comenta esas secciones utilizando el comando awk .

Podría hacerse en un código / comando de una línea que itera todos los archivos y recorre las palabras, pero traté de hacerlo lo más claro posible.

malloc
fuente