Stop2ban को रोकें / नोटिफिकेशन शुरू करें


15

यदि सर्वर को पुनरारंभ किया जाता है, या यहां तक ​​कि अगर विफलता 2ban को रोक दिया जाता है / शुरू होता है तो यह एक अधिसूचना भेजता है।

[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 को हटाने से यह बंद हो जाता है, लेकिन यह प्रतिबंध सूचनाओं को भी रोक देता है, प्रक्रिया शुरू होने / रुकने पर मुझे यह सूचित करने से कैसे रोका जा सकता है?

धन्यवाद

जवाबों:


10

में एक नज़र है action.d/mail.confया action.d/sendmail.confजो प्रारंभ / रोक / प्रतिबंध के लिए मेल को नियंत्रित करता है।


यह चाल नहीं करता है। मुझे लगता है कि संपादित करने के लिए कुछ अन्य फाइलें हैं क्योंकि मुझे यह कष्टप्रद ईमेल मिलता रहता है :(
क्रेकर

@ क्रेकर यह मेरे और ओपी के लिए काम कर रहा है, शायद इसलिए उन्होंने इसे स्वीकार किया। यदि यह आपके लिए काम नहीं करता है, तो शायद आपके पास एक अलग कॉन्फ़िगरेशन है या आपने कुछ गलत तरीके से कॉन्फ़िगर किया है?
user9517

Fail2ban के कॉन्फिगरेशन में मैं sendmail का उपयोग mta के रूप में कर रहा हूं ताकि यह एक्शन लोड हो जाए। / sendmail.conf। मेरे पास apt-get
Kreker

10

CentOS 7 (RHEL 7) पर Fail2Ban v0.9.1 (एपल रिपॉजिटरी से) पर इसे ठीक करने के लिए आप /etc/fail2ban.action.d/sendmail- असामान्य में सेंडमेल स्टार्ट को रोक सकते हैं और कार्रवाई (उन्हें कुछ भी नहीं करने के लिए सेट करें) को रोक सकते हैं। स्थानीय। मैं इन कमांड को रूट के रूप में चलाकर इस फाइल को बनाता हूं:

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

यह वास्तव में समस्या को हल करने में मदद नहीं करता है, क्योंकि फ़ाइल के .localबाद संस्करण लोड किया जाएगा .conf, लेकिन दोनों अभी भी कार्रवाई को कॉन्फ़िगर करने वाली फ़ाइलों में परिभाषा से पहले लोड किया जाएगा (send)mail-*.conf। एक्शन फ़ाइलों को संपादित करने के अलावा और कोई रास्ता नहीं है, afterउन फाइलों में एक हुक जोड़ने के लिए सबसे साफ / सबसे कम से कम एक ही शामिल है। सी एफ osso.nl/blog/fail2ban-started-e-mail-disable । आप उन सभी फ़ाइलों को डुप्लिकेट भी कर सकते हैं और एक पूरी अन्य शाखा बना सकते हैं, अर्थात custommail-*.conf, डिफ़ॉल्ट फ़ाइलों को संशोधित करने से बचते हैं।
बर्नार्ड रॉसैट

सेंटओएस 7 में, यह एकमात्र सलाह थी जो वास्तव में मदद करती थी। यकीन है, अगले असफल 2ban पुनरारंभ अभी भी स्टॉप जेल अधिसूचना (एस) को ट्रिगर करेगा, लेकिन स्टार्ट वन (एस) नहीं। फिर नया
कॉन्फिडेंस

1
@BernardRosset यह वास्तव में काम करता है, लेकिन इसके लिए विफल 2ban 0.9 या उच्चतर की आवश्यकता होती है और किसी व्यक्ति ने शिप की गई कॉन्फ़िगरेशन फ़ाइलों को संशोधित नहीं किया है और फ़ाइलों में उनके परिवर्तन को सीमित कर दिया .localहै। 0.9 में सब कुछ .localफ़ाइलों से ओवरराइड किया जा सकता है , लेकिन यह 0.8 और पूर्व में सच नहीं था।
माइकल हैम्पटन

यह सही जवाब है। यह निश्चित रूप से मतदान की जरूरत है!
जैक मिलर

मन्जारो लिनक्स में कम से कम, मुझे sendmail.conf और sendmail-common.conf दोनों को संपादित करना था। मैंने प्रत्येक को एक .local फाइल में कॉपी किया, और फिर एक्शनस्टार्ट और एक्शनस्टॉप को खाली वर्जन बनाया। अन्य सुझावों से आप असफल मेल द्वारा भेजे गए सभी मेल को अक्षम कर सकते हैं, न कि केवल जेल ने मेल को शुरू / बंद किया है। विशेष रूप से जेल में बंद करने / ईमेल बंद करने के बारे में पूछे गए मूल प्रश्न।
एंडी फोर्केनो

9

यह किसी भी फाइल में इसे ठीक करने के लिए आवश्यक नहीं है। यह आपके कॉन्फ़िगरेशन पर निर्भर करता है jail.conf

यदि आपने कॉन्फ़िगर किया है mta = sendmail, तो आप फ़ाइलों को संकीर्ण कर सकते हैं action.d/sendmail-*

फिर आपको अपने को देखना होगा action = %(action_*)s। यदि आपने कॉन्फ़िगर किया है

"action_": टिप्पणी "actionstart" और "actionstop" action.d / में sendmail .conf

"action_mw": टिप्पणी ... action.d / sendmail -whois.conf में

"action_mwl": टिप्पणी ... action.d / sendmail -whois-lines.conf में

आप "मेल" के लिए एमटीए कॉन्फ़िगर किया गया है, तो बस बदल sendmail को मेल और विशिष्ट फ़ाइल कॉन्फ़िगर करें।

फ़ाइल टिप्पणी करने के बाद पुनः आरंभ करना न भूलें!


तो मैं कौन सी फाइल संपादित करने वाला हूं? .confया .local? लेकिन शायद मुझे समझ में नहीं आता क्योंकि यह जवाब बहुत पुराना है। जिम का जवाब 2019 में काम करता है।
जैक मिलर

7

स्टार्ट / स्टॉप नोटिफिकेशन्स को डिसेबल करने का एकमात्र तरीका मुझे इन सभी फाइलों में actionstartऔर actionstopवर्गों के बारे में बताना था :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

पिछले उत्तर के बिट्स और टुकड़ों को एक साथ रखने की कोशिश कर रहे हैं, आलसी के लिए कुछ और विवरण और लंबे आदेशों के साथ।

आपका jail.{conf,local}परिभाषित करता है कि मेल कैसे भेजे जाते हैं। डिफ़ॉल्ट रूप से, यह है sendmail। इससे जाँच करें:

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

यह देखने के लिए कि आपकी जेलों के लिए कौन सी शुरुआत / स्टॉप क्रियाएँ कॉन्फ़िगर की गई हैं, उपयोग करें fail2ban-client -d

दोनों को एक साथ रखना:

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

मेरे विन्यास में, आउटपुट 'sendmail-whois-lines',इतना है कि संपादित करने के लिए फ़ाइल है। मान लें कि आपका कॉन्फ़िगरेशन चालू है / etc / fail2ban, पूर्ण फ़ाइल नाम है /etc/fail2ban/action.d/sendmail-whois-lines.conf

हालांकि, जैसा कि राबिन उल्लेख करता है, उस फ़ाइल को सीधे संपादित न करें, क्योंकि यह अपडेट के दौरान अधिलेखित हो जाएगा। इसके बजाय, /etc/fail2ban/action.d/sendmail-whois-lines.local(या जो भी action.d/file-name.localआपके विन्यास में सही है) बनाएं और इन पंक्तियों को जोड़ें:

[Definition]
actionstart =
actionstop  =

या, वास्तव में आलसी के लिए जो सही फ़ाइल को देखने और बनाने से परेशान नहीं हो सकता है:

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.confफ़ाइल बनाकर एक्शनस्टार्ट और एक्शनस्टॉप परिभाषाओं को ओवरराइड करें /etc/fail2ban/action.d/sendmail-common.local

इस फ़ाइल के नीचे पाठ जोड़ें

[Definition]
actionstart =
actionstop =

अब आपको fail2ban सेवा के शुरू / बंद होने पर कोई मेल नहीं मिल रहा है।


यह इंगित करते हुए कि आपको यह सुनिश्चित करने की आवश्यकता है कि फ़ाइल पर अनुमतियाँ ठीक से सेट हैं (यानी 0644और स्वामित्व में root)। यह आज मुझे थोड़ा सा।
Pezholio

0

मुझे ऐसा करने का एक त्वरित और आसान तरीका मिला:

cdअपनी /etc/fail2ban/action.dनिर्देशिका में।

फिर बस अपने स्वयं के साथ प्रत्येक एक्शनस्टार्ट स्टेटमेंट को सुपरसेड करें, जो मेरे लिए रिक्त था।

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

यह प्रत्येक फ़ाइल को मेल करने वाले नए एक्शनस्टार्ट और एक्शनस्टॉप सेक्शन को जोड़ देगा।

1 पंक्ति, काम किया।


0

मैं उन डिफ़ॉल्ट फ़ाइलों को बदलने की अनुशंसा नहीं करता जो पैकेज के साथ आती हैं (जैसा कि कुछ यहाँ सुझाया गया है), अगली बार जब आप उन्हें अपडेट करेंगे, तो वे ओवरराइट हो जाएंगे।

उस मामले में आपके द्वारा उपयोग की जाने वाली कार्रवाई sendmail-whoisको एक नई फ़ाइल में कॉपी करें , उसे जैसे चाहें नाम दें sendmail-modऔर इस फाइल में आपको एक्शनस्टार्ट / एक्शनस्टॉप भागों को कमेंट (या डिलीट) करना होगा।

नई फ़ाइल का उपयोग करने के लिए कॉन्फ़िगरेशन फ़ाइल (जेल.कॉन्फ़ / जेल.लोकल) में अगली क्रिया को बदलें।

से:

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

सेवा:

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

0

पहले, जैसा कि कुछ लोगों ने उल्लेख किया है, मूल ".conf" फ़ाइल को संपादित करने की तुलना में ".local" फ़ाइल बनाना और उसमें बदलाव करना बेहतर लगता है, जिसे भविष्य के अपडेट में ओवरराइड किया जा सकता है।

नीचे की रेखा, इस उत्कृष्ट लिंक के आधार पर: http://tonesworld.co.uk/fail2ban-disable-stop-and-start-emails/ , मैंने निम्नलिखित चरण किए और इसने समस्या हल की:

1. एक नई फ़ाइल बनाएं और उसे संपादित करें:

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

2. अंदर पेस्ट करें (फिर बाहर निकलें और सहेजें):

[Definition]

actionstart =

actionstop =

3. यदि विफल 2 ईमेल भेजने के लिए "मेल" का उपयोग करता है:

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

यदि विफल 2 ईमेल भेजने के लिए "Sendmail" का उपयोग करता है:

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. परिवर्तन लागू करने के लिए पुनरारंभ करें:

sudo service fail2ban restart

अंतिम नोट: इन परिवर्तनों को लागू करने के बाद पहली बार, आप अभी भी "स्टॉप" संदेश देखेंगे, क्योंकि नए परिवर्तन अभी तक लागू नहीं हुए हैं।


0

यह मेरा मूल्य है कि इसके लायक क्या है, एक बैश फ़ाइल बनाएं और इसे चलाएं:

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

कोड का पहला हिस्सा उन फ़ाइलों की एक सूची को परिभाषित करता है जिन्हें आप बदलना चाहते हैं, दूसरी छमाही मूल रूप से awk कमांड का उपयोग करके उन वर्गों को टिप्पणी करना है ।

यह एक लाइन कोड / कमांड में किया जा सकता है जो सभी फाइलों को टाइप करता है और शब्दों पर लूप करता है, लेकिन मैंने इसे यथासंभव स्पष्ट करने की कोशिश की।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.