Stop fail2ban stop / start bildirimleri


15

Sunucu yeniden başlatılırsa veya fail2ban durdurulmuş / başlatılmış olsa bile bir bildirim gönderir.

[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

Sendmail-whois'i kaldırmak onu durdurur, ancak aynı zamanda yasak bildirimlerini de durdurur, işlem başladığında / durduğunda bana bildirmeyi nasıl durdurabilirim?

Teşekkürler

Yanıtlar:


10

Başlat / durdur / yasaklamak için postayı kontrol eden action.d/mail.confveya action.d/sendmail.confkontrol eden bir göz atın .


bu hile yapmaz. Bu sinir bozucu e-postayı almaya devam ettiğim için düzenlenecek başka dosyalar olduğunu düşünüyorum :(
Kreker

@Kreker Benim için ve OP için işe yaradı, muhtemelen bu yüzden kabul edildi olarak işaretlediler. Sizin için işe yaramazsa, belki de farklı bir yapılandırmanız var mı veya bir şeyi yanlış yapılandırdınız mı?
user9517

Fail2ban's config sendmail mta olarak kullanıyorum, bu yüzden action.d / sendmail.conf dosyasını yükledi. Apt-
get'den

10

Bunu CentOS 7'de (RHEL 7) Fail2Ban v0.9.1'de (epel deposundan) düzeltmek için /etc/fail2ban/action.d/sendmail-common içindeki sendmail başlatma ve durdurma eylemlerini geçersiz kılabilirsiniz (hiçbir şeye ayarlamayın). yerel. Bu dosyayı şu komutları root olarak çalıştırarak oluşturuyorum:

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

Bu, sorunun çözülmesine yardımcı olmaz, çünkü .localdeğişken .confdosyadan sonra yüklenir , ancak her ikisi de eylemleri yapılandıran dosyalardaki tanımlardan önce yüklenir (send)mail-*.conf. Eylem dosyalarını düzenlemekten başka bir yol yoktur, en temiz / en minimalist afteraynı dosyalara işaret eden dosyalara bir kanca eklemektir. Krş osso.nl/blog/fail2ban-started-e-mail-disable . Ayrıca, tüm bu dosyaları çoğaltabilir ve başka bir dal oluşturabilirsiniz custommail-*.conf, bu da varsayılan dosyaların değiştirilmesini önler.
Bernard Rosset

CentOS7'de, bu gerçekten yardımcı olan tek tavsiyeydi. emin olun, bir sonraki fail2ban yeniden başlatması yine de durdurma hapishaneleri bildirimlerini tetikleyecektir, ancak başlatmayı başlatmayacaktır. Daha sonra yeni konf yüklendi ve bu yüzden de dur bildirimleri tekrar tetiklenmeyecek
lese

1
@BernardRosset Bu gerçekten işe yarıyor, ancak fail2ban 0.9 veya daha yüksek bir sürüm gerektiriyor ve birisinin gönderilen yapılandırma dosyalarını değiştirmemiş ve değişikliklerini .localdosyalarda sınırlamış olması . 0.9'daki her şey .localdosyalardan geçersiz kılınabilir , ancak bu 0.8 ve önceki sürümlerde geçerli değildi.
Michael Hampton

Bu doğru cevap. Kesinlikle oy vermek gerekiyor!
Jack Miller

En azından Manjaro Linux'ta, hem sendmail.conf hem de sendmail-common.conf dosyasını düzenlemek zorunda kaldım. Her birini bir .local dosyasına kopyaladım ve sonra actionstart ve actionstop boş vars yaptım. Diğer öneriler, sadece hapishane başlatılan / durdurulan postaları değil fail2ban tarafından gönderilen tüm postaları devre dışı bırakmanızı sağlar. Orijinal soru, özellikle hapishanenin başlatılan / durdurulmuş e-postalarının durdurulması hakkında sordu.
Andy Forceno

9

Bunu herhangi bir dosyada düzeltmek gerekli değildir. İçindeki yapılandırmanıza bağlıdır jail.conf.

Yapılandırdıysanız mta = sendmail, dosyaları daraltabilirsiniz action.d/sendmail-*.

Sonra bakmak zorunda action = %(action_*)s. Eğer yapılandırdıysanız

"action_": action.d / sendmail .conf içindeki "actionstart" ve "actionstop" öğelerini yorumlayın

"action_mw": yorum ... eylemde. d / sendmail -whois.conf

"action_mwl": yorum ... eylemde. d / sendmail -whois-lines.conf

Eğer "posta" MTA, yapılandırılmış, o zaman yalnızca değiştirmek sendmail'i için posta ve belirli bir dosyayı yapılandırın.

Dosyaya yorum yaptıktan sonra yeniden başlatmayı unutmayın!


Peki hangi dosyayı düzenlemem gerekiyor? .confveya .local? Ama belki sadece anlamıyorum çünkü bu cevap çok eski. Jim'in cevabı 2019'da çalışıyor.
Jack Miller

7

Başlat / durdur bildirimlerini devre dışı bırakmanın tek yolu , bu dosyaların tümündeactionstart ve actionstopbölümlerinde aşağıdakileri yorumlamaktı :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

Önceki cevapların bitlerini ve parçalarını tembel için biraz daha fazla ayrıntı ve uzun komutla bir araya getirmeye çalışıyorum.

Sizin jail.{conf,local}postalarınızın nasıl gönderileceğini tanımlar. Varsayılan olarak, öyle sendmail. Şununla kontrol et:

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

Hapisleriniz için hangi başlat / durdur eylemlerinin yapılandırıldığını görmek için kullanın fail2ban-client -d.

Her ikisini bir araya getirmek:

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

Benim yapılandırma, çıktı 'sendmail-whois-lines',böylece düzenlenecek dosyadır. Yapılandırmanızın / etc / fail2ban altında olduğu varsayılarak, tam dosya adıdır /etc/fail2ban/action.d/sendmail-whois-lines.conf.

Ancak, Rabin'den bahsedildiği gibi, bu dosyayı doğrudan düzenlemeyin, çünkü güncellemeler sırasında üzerine yazılacaktır. Bunun yerine, /etc/fail2ban/action.d/sendmail-whois-lines.local(veya action.d/file-name.localyapılandırmanızda doğru olanı) oluşturun ve şu satırları ekleyin:

[Definition]
actionstart =
actionstop  =

Ya da, doğru dosyayı aramaktan ve oluşturmaktan rahatsız olmayan gerçekten tembel olanlar için:

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

/etc/fail2ban/action.d/sendmail-common.confBir dosya oluşturarak actionstart ve actionstop tanımlarını geçersiz kılın /etc/fail2ban/action.d/sendmail-common.local.

Aşağıdaki metni bu dosyaya ekleyin

[Definition]
actionstart =
actionstop =

Şimdi fail2ban hizmetinin başlatılması / durdurulması sırasında herhangi bir posta almıyorsunuz.


İzinlerin dosya üzerinde düzgün ayarlandığından (yani 0644sahip olunan root) emin olmanız gerektiğini belirtmek gerekir . Bugün beni biraz ısırdı.
Pezholio

0

Bunu yapmanın hızlı ve kolay bir yolunu buldum:

cd/etc/fail2ban/action.ddizininize ekleyin .

Daha sonra, her eylem başlangıcı ifadesinin yerine kendiniz koyun, ki bu benim için boştu.

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

Bu, postalanan her dosyaya yeni bir actionstart ve actionstop bölümü ekler.

1 satır, iş bitti.


0

Ben yok (bazı burada önerilen gibi) paketi ile birlikte gelen varsayılan dosyalarını değiştirerek tavsiye onlar Güncellememeniz dahaki sefere üzerine yazılır olacaktır.

Bu durumda kullandığınız eylemi sendmail-whoisyeni bir dosyaya kopyalayın, istediğiniz gibi adlandırın sendmail-modve bu dosyada actionstart / actionstop parçalarını yorumlamanız (veya silmeniz) gerekir.

Ardından, yeni eylemi kullanmak için yapılandırma dosyasındaki (jail.conf / jail.local) eylemi değiştirin.

Gönderen:

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

Kime:

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

0

İlk olarak, bazı insanların belirttiği gibi, bir ".local" dosyası oluşturmak ve bu değişiklikleri yapmak, gelecekteki güncellemelerde geçersiz kılınabilecek orijinal ".conf" dosyasını düzenlemek yerine daha iyi görünüyor.

Alt satırda, bu mükemmel bağlantıya dayalı: http://tonesworld.co.uk/fail2ban-disable-stop-and-start-emails/ , aşağıdaki adımları uyguladım ve sorunu çözdüm:

1. Yeni bir dosya oluşturun ve düzenleyin:

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

2. İçeri yapıştırın (çıkın ve kaydedin):

[Definition]

actionstart =

actionstop =

3. fail2ban e-posta göndermek için "posta" kullanıyorsa:

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

Fail2ban, e-posta göndermek için "sendmail" kullanıyorsa:

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. Değişiklikleri uygulamak için yeniden başlatın:

sudo service fail2ban restart

Son not: Bu değişiklikleri uyguladıktan sonra ilk defa, yeni değişiklikler henüz uygulanmadığı için yine de "durdur" mesajlarını göreceksiniz.


0

Bu benim değer ne için benim çözüm, bir bash dosyası oluşturun ve çalıştırın:

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

Kodun ilk kısmı değiştirmek istediğiniz dosyaların bir listesini tanımlar, ikinci yarısı temelde awk komutunu kullanarak bu bölümleri yorumlar .

Tüm dosyalar ve döngüler kelimelerin üzerinde yinelenen bir satır kodu / komut yapılabilir, ama mümkün olduğunca açık yapmaya çalıştım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.