Stop fail2ban stop / avvia le notifiche


14

Se il server viene riavviato o anche se fail2ban viene arrestato / avviato, invia una notifica.

[asterisk-iptables]
enabled  = true
filter   = asterisk
action   = iptables-allports[name=ASTERISK, protocol=all]
           sendmail-whois[name=ASTERISK, dest=blah@foo.com, sender=blah@foo.com] 
logpath  = /var/log/asterisk/messages
maxretry = 5
bantime = 259200

La rimozione di sendmail-whois lo interrompe, ma interrompe anche le notifiche di divieto, come posso farlo smettere di avvisarmi quando il processo inizia / si interrompe?

Grazie

Risposte:


10

Dai un'occhiata a action.d/mail.confo action.d/sendmail.confche controllano la posta per start / stop / ban.


questo non fa il trucco. Penso che ci siano altri file da modificare perché continuo a ricevere questa fastidiosa email :(
Kreker

@Kreker Ha funzionato per me e per l'OP, presumibilmente per questo, l'hanno contrassegnato come accettato. Se non funziona per te, forse hai una configurazione diversa o hai configurato male qualcosa?
user9517

Nella configurazione di fail2ban sto usando sendmail come mta, quindi ha caricato action.d / sendmail.conf. Ho un'installazione normale da apt-get
Kreker

9

Non è necessario per risolvere questo problema in qualsiasi file. Dipende dalla tua configurazione in jail.conf.

Se configurato mta = sendmail, è possibile restringere i file action.d/sendmail-*.

Quindi devi guardare il tuo action = %(action_*)s. Se hai configurato

"action_": commenta "actionstart" e "actionstop" in action.d / sendmail .conf

"action_mw": commento ... in action.d / sendmail -whois.conf

"action_mwl": commento ... in action.d / sendmail -whois-lines.conf

Se hai configurato mta su "mail", cambia semplicemente sendmail in mail e configura il file specifico.

Non dimenticare di riavviare dopo aver commentato il file!


Quindi quale file dovrei modificare? .confo .local? Ma forse non capisco perché questa risposta è così vecchia. La risposta di Jim funziona nel 2019.
Jack Miller,

9

Per risolvere questo problema su Fail2Ban v0.9.1 (dal repository epel) su CentOS 7 (RHEL 7) è possibile sovrascrivere le azioni start e stop di sendmail (impostarle su nulla) in /etc/fail2ban/action.d/sendmail-common. Locale. Creo questo file eseguendo questi comandi come 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

Questo in realtà non aiuta a risolvere il problema, poiché la .localvariante verrà caricata dopo il .conffile, ma entrambe verranno comunque caricate prima delle definizioni nei (send)mail-*.conffile che configurano le azioni. Non c'è altro modo che modificare i file di azione, il più pulito / minimalista è quello di aggiungere un afterhook in quei file che puntano allo stesso include. Cf. osso.nl/blog/fail2ban-started-e-mail-disable . Puoi anche duplicare tutti quei file e creare un altro ramo completo, cioè custommail-*.conf, che evita di modificare i file predefiniti.
Bernard Rosset,

In centOS7, questo è stato l'unico consiglio che ha effettivamente aiutato. certo, il prossimo riavvio fail2ban attiverà comunque le notifiche di jail di arresto, ma non quelle di avvio. Poi nuova conf viene caricato e quindi né le notifiche di arresto verrà attivato di nuovo
lese

1
@BernardRosset Funziona davvero, ma richiede fail2ban 0.9 o versioni successive e che qualcuno non ha modificato i file di configurazione forniti e ha limitato le proprie modifiche ai .localfile. Tutto in 0.9 può essere sovrascritto dai .localfile, ma questo non era vero in 0.8 e precedenti.
Michael Hampton

Questa è la risposta corretta Ha sicuramente bisogno di votare!
Jack Miller,

7

L'unico modo in cui ho scoperto di disabilitare le notifiche di avvio / arresto è stato commentare le sezioni actionstarte actionstopin tutti questi file in 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

3

Cercando di mettere insieme i pezzi delle risposte precedenti, con alcuni dettagli e lunghi comandi per i pigri.

I vostri jail.{conf,local}definisce come vengono inviati mail. Di default lo è sendmail. Controllare con:

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

Per vedere quali azioni di avvio / arresto sono configurate per le tue jail, usa fail2ban-client -d.

Mettendo insieme entrambi:

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

Nella mia configurazione, l'output è 'sendmail-whois-lines',quindi il file da modificare. Supponendo che la configurazione sia in / etc / fail2ban, il nome file completo è /etc/fail2ban/action.d/sendmail-whois-lines.conf.

Tuttavia, come menziona Rabin, non modificare direttamente quel file, perché verrà sovrascritto durante gli aggiornamenti. Invece, crea /etc/fail2ban/action.d/sendmail-whois-lines.local(o qualunque cosa action.d/file-name.localsia giusta nella tua configurazione) e aggiungi queste righe:

[Definition]
actionstart =
actionstop  =

Oppure, per i più pigri che non possono preoccuparsi di cercare e creare il file giusto:

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

1

Sostituisci le definizioni di actionstart e actionstop /etc/fail2ban/action.d/sendmail-common.confcreando un file /etc/fail2ban/action.d/sendmail-common.local.

Aggiungi il testo qui sotto a questo file

[Definition]
actionstart =
actionstop =

Ora non ricevi alcuna posta all'avvio / arresto del servizio fail2ban.


Vale la pena sottolineare che è necessario assicurarsi che le autorizzazioni siano impostate correttamente sul file (cioè 0644e di proprietà di root). Questo mi ha morso oggi.
Pezholio,

0

Ho trovato un modo semplice e veloce per farlo:

cdnella tua /etc/fail2ban/action.ddirectory.

Quindi sostituisci semplicemente ogni affermazione di actionstart con la tua, che per me era vuota.

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

Ciò aggiungerà una nuova sezione actionstart e actionstop a ciascun file inviato.

1 riga, lavoro svolto.


0

Io non consiglia di modificare il file di default, che viene fornito con il pacchetto (come alcuni hanno suggerito qui), saranno sovrascritti la prossima volta che li aggiorna.

Basta copiare l'azione che si sta utilizzando in quel caso sendmail-whoisin un nuovo file, denominarlo come desiderato ad es. sendmail-modE in questo file è necessario commentare (o eliminare) le parti di actionstart / actionstop.

Quindi modificare l'azione nel file di configurazione (jail.conf / jail.local), per utilizzare la nuova azione.

A partire dal:

action   = iptables-allports[name=ASTERISK, protocol=all]
           sendmail-whois[name=ASTERISK, dest=blah@foo.com, sender=blah@foo.com] 

Per:

action   = iptables-allports[name=ASTERISK, protocol=all]
           sendmail-mod[name=ASTERISK, dest=blah@foo.com, sender=blah@foo.com] 

0

Innanzitutto, come alcune persone hanno menzionato, sembra meglio creare un file ".local" e apportare le modifiche in esso, piuttosto che modificare il file ".conf" originale, che potrebbe essere ignorato in futuri aggiornamenti.

In conclusione, basato su questo eccellente link: http://tonesworld.co.uk/fail2ban-disable-stop-and-start-emails/ , ho fatto i seguenti passi e ho risolto il problema:

1. Crea un nuovo file e modificalo:

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

2. Incolla dentro (quindi esci e salva):

[Definition]

actionstart =

actionstop =

3. Se fail2ban utilizza "mail" per inviare e-mail:

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

Se fail2ban utilizza "sendmail" per inviare e-mail:

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. Riavvia per applicare le modifiche:

sudo service fail2ban restart

Nota finale: per la prima volta dopo aver applicato queste modifiche, vedrai comunque i messaggi "stop", poiché le nuove modifiche non sono ancora state applicate.


0

Questa è la mia soluzione per quello che vale, crea un file bash ed eseguilo:

#!/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 prima parte del codice definisce un elenco di file che si desidera modificare, la seconda metà essenzialmente commentando quelle sezioni usando il comando awk .

Potrebbe essere fatto in una riga di codice / comando che scorre tutti i file e scorre sulle parole, ma ho cercato di renderlo il più chiaro possibile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.