Hentikan fail2ban hentikan / mulai notifikasi


14

Jika server restart, atau bahkan jika fail2ban dihentikan / mulai mengirim pemberitahuan.

[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

Menghapus sendmail-whois menghentikannya, tetapi juga menghentikan pemberitahuan larangan, bagaimana saya bisa membuatnya berhenti memberi tahu saya ketika proses dimulai / berhenti?

Terima kasih

Jawaban:


10

Lihat di action.d/mail.confatau action.d/sendmail.confyang mengontrol surat untuk memulai / menghentikan / mencekal.


ini tidak berhasil. Saya pikir ada beberapa file lain untuk diedit karena saya terus mendapatkan email yang mengganggu ini :(
Kreker

@ Kreker Itu bekerja untuk saya dan OP itu mungkin mengapa mereka menandainya diterima. Jika tidak bekerja untuk Anda, mungkin Anda memiliki konfigurasi yang berbeda atau Anda salah mengonfigurasi sesuatu?
user9517

Dalam konfigurasi fail2ban, saya menggunakan sendmail sebagai mta sehingga ia memuat action.d / sendmail.conf. Saya memiliki instalasi normal dari apt-get
Kreker

9

Tidak perlu memperbaiki ini di file apa pun. Tergantung pada konfigurasi Anda di jail.conf.

Jika Anda mengkonfigurasi mta = sendmail, Anda dapat mempersempit file action.d/sendmail-*.

Maka Anda harus melihat action = %(action_*)s. Jika Anda mengkonfigurasi

"action_": komentar "actionstart" & "actionstop" di action.d / sendmail .conf

"action_mw": komentar ... dalam action.d / sendmail -whois.conf

"action_mwl": komentar ... dalam action.d / sendmail -whois-lines.conf

Jika Anda mengkonfigurasi mta ke "mail", maka ubah saja sendmail ke mail dan konfigurasikan file tertentu.

Jangan lupa me-restart setelah berkomentar file!


Jadi file mana yang harus saya edit? .confatau .local? Tapi mungkin saya tidak mengerti karena jawaban ini sudah sangat tua. Jawaban Jim bekerja pada 2019.
Jack Miller

9

Untuk memperbaikinya pada Fail2Ban v0.9.1 (dari repositori epel) di CentOS 7 (RHEL 7), Anda dapat mengganti tindakan awal dan berhenti sendmail (atur ke nothing) di /etc/fail2ban/action.d/sendmail-common. lokal. Saya membuat file ini dengan menjalankan perintah ini sebagai 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

Ini sebenarnya tidak membantu menyelesaikan masalah, karena .localvarian akan dimuat setelah .conffile, tetapi keduanya masih akan dimuat sebelum definisi dalam (send)mail-*.conffile mengkonfigurasi tindakan. Tidak ada cara lain selain mengedit file tindakan, yang terbersih / paling minimalis adalah dengan menambahkan afterkait pada file-file yang menunjuk ke termasuk yang sama. Lih osso.nl/blog/fail2ban-started-e-mail-disable . Anda juga dapat menduplikasi semua file itu dan membuat cabang lain yang lengkap, yaitu custommail-*.conf, yang menghindari memodifikasi file default.
Bernard Rosset

Di centOS7, ini adalah satu-satunya saran yang benar-benar membantu. yakin, restart fail2ban berikutnya masih akan memicu notifikasi berhenti penjara, tetapi bukan yang memulai. Kemudian conf baru dimuat dan tidak pemberitahuan berhenti akan dipicu lagi
lese

1
@BernardRosset Ini benar-benar berfungsi, tetapi membutuhkan fail2ban 0.9 atau lebih tinggi dan seseorang belum mengubah file konfigurasi yang dikirim dan telah membatasi perubahan mereka pada .localfile. Semua yang ada di 0,9 dapat diganti dari .localfile, tetapi ini tidak benar di 0.8 dan sebelumnya.
Michael Hampton

Ini jawaban yang benar. Itu tentu perlu voting!
Jack Miller

7

Satu-satunya cara saya menemukan untuk menonaktifkan pemberitahuan start / stop adalah untuk komentar pada actionstartdan actionstopbagian dalam semua file ini di 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

Mencoba menyatukan sedikit demi sedikit jawaban sebelumnya, dengan beberapa perincian lebih lanjut dan perintah panjang untuk si malas.

Anda jail.{conf,local}menentukan bagaimana surat dikirim. Secara default, itu sendmail. Periksa dengan:

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

Untuk melihat tindakan mulai / hentikan mana yang dikonfigurasikan untuk penjara Anda, gunakan fail2ban-client -d.

Menyatukan keduanya:

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

Dalam konfigurasi saya, hasilnya adalah 'sendmail-whois-lines',file yang akan diedit. Dengan asumsi konfigurasi Anda berada di bawah / etc / fail2ban, nama file lengkapnya adalah /etc/fail2ban/action.d/sendmail-whois-lines.conf.

Namun, seperti yang disebutkan Rabin, jangan edit file itu secara langsung, karena itu akan ditimpa selama pembaruan. Sebagai gantinya, buat /etc/fail2ban/action.d/sendmail-whois-lines.local(atau apa pun action.d/file-name.localyang benar dalam konfigurasi Anda) dan tambahkan baris ini:

[Definition]
actionstart =
actionstop  =

Atau, bagi mereka yang benar-benar malas yang tidak dapat diganggu untuk mencari dan membuat file yang tepat:

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

Mengganti actionstart dan definisi actionstop /etc/fail2ban/action.d/sendmail-common.confdengan membuat file /etc/fail2ban/action.d/sendmail-common.local.

Tambahkan teks di bawah ini ke file ini

[Definition]
actionstart =
actionstop =

Sekarang Anda tidak mendapatkan surat apa pun saat memulai / menghentikan layanan fail2ban.


Layak menunjukkan bahwa Anda perlu memastikan izin diatur dengan benar pada file (yaitu 0644dan dimiliki oleh root). Ini menggigitku hari ini.
Pezholio

0

Saya menemukan cara cepat dan mudah untuk melakukan ini:

cdke dalam /etc/fail2ban/action.ddirektori Anda .

Maka cukup menggantikan setiap pernyataan mulai tindakan dengan Anda sendiri, yang bagi saya kosong.

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

Ini akan menambahkan bagian actionstart dan actionstop baru untuk setiap file yang dikirimkan.

1 baris, pekerjaan selesai.


0

Saya tidak menyarankan untuk mengganti file default yang disertakan dengan paket (seperti yang disarankan di sini), mereka akan ditimpa lain kali Anda memperbaruinya.

Cukup salin tindakan yang Anda gunakan dalam kasus itu sendmail-whoiske file baru, sendmail-modberi nama sesuai keinginan misalnya dan dalam file ini Anda perlu mengomentari (atau menghapus) bagian actionstart / actionstop.

Selanjutnya ubah tindakan dalam file konfigurasi (jail.conf / jail.local), untuk menggunakan tindakan baru.

Dari:

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

Untuk:

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

0

Pertama, seperti yang disebutkan beberapa orang, tampaknya lebih baik membuat file ".local" dan membuat perubahan di dalamnya, daripada mengedit file ".conf" yang asli, yang dapat diganti dalam pembaruan di masa mendatang.

Intinya, berdasarkan tautan yang sangat bagus ini: http://tonesworld.co.uk/fail2ban-disable-stop-and-start-emails/ , saya melakukan langkah-langkah berikut dan menyelesaikan masalah:

1. Buat file baru dan edit:

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

2. Tempel di dalam (lalu keluar dan simpan):

[Definition]

actionstart =

actionstop =

3. Jika fail2ban menggunakan "mail" untuk mengirim email:

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

Jika fail2ban menggunakan "sendmail" untuk mengirim email:

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. Mulai ulang untuk menerapkan perubahan:

sudo service fail2ban restart

Catatan akhir: Pertama kali setelah menerapkan perubahan ini, Anda masih akan melihat pesan "berhenti", karena perubahan baru belum berlaku.


0

Ini solusi saya untuk apa nilainya, Buat file bash, dan jalankan:

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

Bagian pertama dari kode mendefinisikan daftar file yang ingin Anda ubah, bagian kedua pada dasarnya mengomentari bagian-bagian itu dengan menggunakan perintah awk .

Itu bisa dilakukan dalam satu kode baris / perintah yang mengulang semua file dan mengulang kata-kata, tapi saya mencoba membuatnya sejelas mungkin.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.