Stop fail2ban Stop / Start-Benachrichtigungen


14

Wenn der Server neu gestartet wird oder selbst wenn fail2ban gestoppt / gestartet wird, wird eine Benachrichtigung gesendet.

[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

Das Entfernen des sendmail-whois stoppt es, aber es stoppt auch die Sperrbenachrichtigungen. Wie kann ich es dazu bringen, mich nicht mehr zu benachrichtigen, wenn der Prozess startet / stoppt?

Vielen Dank

Antworten:


10

Werfen Sie einen Blick in das action.d/mail.confoder, action.d/sendmail.confdas die Mail für Start / Stop / Ban steuert.


das reicht nicht aus. Ich denke, es gibt einige andere Dateien, die bearbeitet werden müssen, da ich immer wieder diese nervige E-Mail bekomme :(
Kreker

@Kreker Es hat bei mir und dem OP funktioniert. Vermutlich haben sie es deshalb als akzeptiert markiert. Wenn es bei Ihnen nicht funktioniert, haben Sie vielleicht eine andere Konfiguration oder etwas falsch konfiguriert?
user9517

In der Konfiguration von fail2ban verwende ich sendmail als mta, damit die action.d / sendmail.conf geladen wird. Ich habe eine normale Installation von Apt-Get
Kreker

9

Dies muss in keiner Datei behoben werden. Dies hängt von Ihrer Konfiguration in ab jail.conf.

Wenn Sie konfiguriert haben mta = sendmail, können Sie die Dateien eingrenzen action.d/sendmail-*.

Dann musst du dir deine ansehen action = %(action_*)s. Wenn Sie konfiguriert haben

"action_": Kommentar "actionstart" & "actionstop" in action.d / sendmail .conf

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

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

Wenn Sie mta auf "mail" konfiguriert haben, ändern Sie einfach sendmail in mail und konfigurieren Sie die spezifische Datei.

Vergessen Sie nicht, nach dem Kommentieren der Datei neu zu starten!


Welche Datei soll ich also bearbeiten? .confoder .local? Aber vielleicht verstehe ich es einfach nicht, weil diese Antwort so alt ist. Jims Antwort funktioniert im Jahr 2019.
Jack Miller

9

Um dieses Problem in Fail2Ban v0.9.1 (aus dem Epel-Repository) unter CentOS 7 (RHEL 7) zu beheben, können Sie die Start- und Stop-Aktionen von sendmail in /etc/fail2ban/action.d/sendmail-common außer Kraft setzen. lokal. Ich erstelle diese Datei, indem ich diese Befehle als root ausführe:

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

Dies hilft nicht wirklich, das Problem zu lösen, da die .localVariante nach der .confDatei geladen wird, aber beide weiterhin vor den Definitionen in den (send)mail-*.confDateien geladen werden, die die Aktionen konfigurieren. Es gibt keine andere Möglichkeit, als die Aktionsdateien zu bearbeiten. Der sauberste / minimalste besteht darin, einen afterHaken in die Dateien einzufügen, die auf dasselbe Include verweisen. Vgl. osso.nl/blog/fail2ban-started-e-mail-disable . Sie können auch alle diese Dateien duplizieren und eine vollständige andere Verzweigung erstellen, dh custommail-*.confdas Ändern von Standarddateien wird vermieden.
Bernard Rosset

In centOS7 war dies der einzige Rat, der tatsächlich geholfen hat. Sicher, der nächste Neustart von fail2ban löst immer noch die Benachrichtigung (en) zum Beenden des Jails aus, nicht jedoch die Benachrichtigung (en) zum Starten. Dann wird eine neue Konf geladen und es werden keine Stoppbenachrichtigungen mehr ausgelöst
der

1
@BernardRosset Das funktioniert wirklich, aber es erfordert Fail2Ban 0.9 oder höher und dass jemand die mitgelieferten Konfigurationsdateien nicht geändert und seine Änderungen auf .localDateien beschränkt hat. Alles in 0.9 kann aus .localDateien überschrieben werden, aber dies war in 0.8 und früheren Versionen nicht der Fall.
Michael Hampton

Das ist die richtige Antwort. Es muss auf jeden Fall abgestimmt werden!
Jack Miller

7

Die einzige Möglichkeit, die Start- / Stopp-Benachrichtigungen zu deaktivieren, bestand darin, die Abschnitte actionstartund actionstopin allen folgenden Dateien zu kommentieren 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

Der Versuch, die Teile der vorherigen Antworten zusammenzustellen, mit einigen weiteren Details und langen Befehlen für die Faulen.

Sie jail.{conf,local}definieren, wie Mails gesendet werden. Standardmäßig ist es sendmail. Erkundigen Sie sich bei:

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

Verwenden Sie, um zu sehen, welche Start / Stopp-Aktionen für Ihre Jails konfiguriert sind fail2ban-client -d.

Beides zusammenfügen:

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

In meiner Konfiguration ist die Ausgabe 'sendmail-whois-lines',so, dass es sich um die zu bearbeitende Datei handelt. Angenommen, Ihre Konfiguration befindet sich unter / etc / fail2ban, dann lautet der vollständige Dateiname /etc/fail2ban/action.d/sendmail-whois-lines.conf.

Wie Rabin erwähnt, sollten Sie diese Datei jedoch nicht direkt bearbeiten, da sie bei Aktualisierungen überschrieben wird. Erstellen Sie stattdessen /etc/fail2ban/action.d/sendmail-whois-lines.local(oder was auch immer action.d/file-name.localin Ihrer Konfiguration richtig ist) und fügen Sie diese Zeilen hinzu:

[Definition]
actionstart =
actionstop  =

Oder für die wirklich Faulen, die sich nicht die Mühe machen müssen, die richtige Datei zu erstellen:

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

Überschreiben Sie die Definitionen /etc/fail2ban/action.d/sendmail-common.confvon actionstart und actionstop, indem Sie eine Datei erstellen /etc/fail2ban/action.d/sendmail-common.local.

Fügen Sie den folgenden Text zu dieser Datei hinzu

[Definition]
actionstart =
actionstop =

Jetzt erhalten Sie beim Starten / Beenden des fail2ban-Dienstes keine E-Mails mehr.


Es lohnt sich darauf hinzuweisen, dass Sie sicherstellen müssen, dass die Berechtigungen für die Datei richtig eingestellt sind (dh 0644und im Besitz von root). Das hat mich heute gebissen.
Pezholio,

0

Ich habe einen schnellen und einfachen Weg gefunden, dies zu tun:

cdin Ihr /etc/fail2ban/action.dVerzeichnis.

Ersetzen Sie dann einfach jede actionstart-Anweisung durch Ihre eigene, die für mich leer war.

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

Dadurch wird an jede Datei, die per E-Mail versendet wird, ein neuer Abschnitt actionstart und actionstop angehängt.

1 Zeile, Arbeit erledigt.


0

Ich empfehle nicht , die mit dem Paket gelieferten Standarddateien zu ändern (wie hier vorgeschlagen). Sie werden beim nächsten Update überschrieben.

Kopieren Sie einfach die Aktion, die Sie in diesem Fall verwenden, sendmail-whoisin eine neue Datei, benennen Sie sie wie Sie sendmail-modmöchten, und in dieser Datei müssen Sie die Teile actionstart / actionstop auskommentieren (oder löschen).

Ändern Sie als nächstes die Aktion in der Konfigurationsdatei (jail.conf / jail.local), um die neue Aktion zu verwenden.

Von:

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

Zu:

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

0

Erstens ist es, wie einige Leute bereits erwähnt haben, besser, eine ".local" -Datei zu erstellen und die Änderungen daran vorzunehmen, als die ursprüngliche ".conf" -Datei zu bearbeiten, die in zukünftigen Updates möglicherweise überschrieben wird.

Fazit: Basierend auf diesem hervorragenden Link: http://tonesworld.co.uk/fail2ban-disable-stop-and-start-emails/ habe ich die folgenden Schritte ausgeführt und das Problem behoben:

1. Erstellen Sie eine neue Datei und bearbeiten Sie sie:

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

2. Innen einfügen (dann beenden und speichern):

[Definition]

actionstart =

actionstop =

3. Wenn fail2ban "mail" zum Versenden von E-Mails verwendet:

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

Wenn fail2ban "sendmail" zum Versenden von E-Mails verwendet:

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. Starten Sie neu, um die Änderungen zu übernehmen:

sudo service fail2ban restart

Abschließender Hinweis: Beim ersten Mal nach dem Anwenden dieser Änderungen werden weiterhin die "Stopp" -Nachrichten angezeigt, da die neuen Änderungen noch nicht angewendet wurden.


0

Dies ist meine Lösung für das, was es wert ist: Erstellen Sie eine Bash-Datei und führen Sie sie aus:

#!/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

Der erste Teil des Codes definiert eine Liste der Dateien, die Sie ändern möchten. In der zweiten Hälfte werden diese Abschnitte mit dem Befehl awk auskommentiert.

Es könnte in einer Zeile Code / Befehl erfolgen, die alle Dateien durchläuft und die Wörter durchläuft, aber ich habe versucht, es so klar wie möglich zu machen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.