स्थानीय विफलता 2 चैनल फ़िल्टर परिभाषा में * नियम * कैसे जोड़ें?


10

मैंने अपने नियंत्रण के तहत एक सर्वर पर डेबियन द्वारा पैक किए गए के रूप में असफल 2 आईएनबी स्थापित किया है। चूंकि मेरे पास पहले से कुछ फेलियरगेक्स हैं, इसलिए मैं उन्हें स्थानीय फ़िल्टर परिभाषा फ़ाइल में डाल रहा हूं, इसलिए उन्हें भी माना जाएगा। इसलिए, मैं जैसे /etc/fail2ban/filter.d/sshd.conf और /etc/fail2ban/filter.d/sshd.local को समाप्त करता हूं। इस तरह से इसे स्थापित करने की सिफारिश की जाती है और यह जो है उसके लिए ठीक काम करता प्रतीत होता है।

हालाँकि, .local फ़ाइल में, मैं वास्तव में .conf फ़ाइल से विफलता सूची की पूरी सूची बदल रहा हूँ । दस्तावेज़ीकरण यह इंगित नहीं करता है कि ऐसा करने का कोई अन्य तरीका है, और इसे काम करने के लिए, मैंने बस एक .local फ़ाइल में वितरण-आपूर्ति की .conf फ़ाइल की प्रतिलिपि बनाई है और कुछ परिवर्धन किए हैं।

यह वास्तव में अच्छा होगा यदि मैं केवल सूची में संशोधन कर सकता हूं , जो कि वितरण-बनाए गए लॉग एंट्री फिल्टर रेगेक्स में परिवर्तनों के बराबर रहने में नदी के ऊपर और डेबियन अनुरक्षकों के काम से लाभ उठाता है।

केवल वास्तविक वर्कअराउंड मैं सोच सकता हूं कि वास्तव में दो जेलों का निर्माण करना है, एक वितरण-प्रदत्त कॉन्फ़िगरेशन का उपयोग करके और एक अपने स्वयं के उपयोग से। ऐसा प्रतीत होता है कि (काफी महत्वपूर्ण) नकारात्मक पक्ष यह है कि उन्हें स्वतंत्र जेल के रूप में माना जाता है (जो आप इस तरह के सेटअप के साथ उम्मीद करेंगे)।

निश्चित रूप से मैं केवल एक ही नहीं हो सकता है कि मैं अपने पहले ही मौजूदा संग्रह में कुछ असफलताओं को जोड़ दूं, जिसमें कम से कम रखरखाव की परेशानी हो।

क्या संबंधित वैश्विक या वितरण-आपूर्ति की गई फ़ाइल में कोई भी बदलाव किए बिना, किसी साइट-स्थानीय या होस्ट-स्थानीय फ़ाइल के माध्यम से एक विफलता 2ban फ़िल्टर परिभाषा के भीतर असफलता और अज्ञानता की सूचियों में संशोधन करना संभव है ? अगर यह है, तो यह कैसे करना है?

जवाबों:


4

आइए हम /etc/fail2ban/filter.d/sshd.confफ़ाइल के भाग पर एक नज़र डालें ।

[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf

तो आप सोच सकते हैं कि आप यहां जोड़ सकते हैं: after = sshd.localऔर इसका कारण ऐसी फाइल को पढ़ना है; इसमें कोई भी सेटिंग तब इस फ़ाइल में ओवरराइड होगी।

और यह काम करता है। सिवाय आप प्रविष्टियों को failregexया किसी अन्य निर्देश में संशोधन नहीं कर सकते हैं ; आप केवल उन्हें बदल सकते हैं।

आपकी भावना सही है। यह निश्चित रूप से विफलता 2 चैनल कॉन्फ़िगरेशन फ़ाइल स्वरूपों की कमी है। मैं डेवलपर से शिकायत करूंगा।


2

मेरी एक ही आवश्यकता थी और इसे एक मुद्दे के रूप में पोस्ट किया। लेखक इस पर काम करता प्रतीत होता है: https://github.com/fail2ban/fail2ban/issues/867

एक बार विलय हो जाने के बाद, इसे इस तरह काम करना चाहिए (यह उदाहरण डेवलपर के सौजन्य से सर्ग ब्रेस्टर का है):

# filter test.conf:
[Definition]
failregex = failure test 1 (filter.d/test.conf) <HOST>

# filter test.local:
[Definition]
failregex = %(known/failregex)s
            failure test 2 (filter.d/test.local) <HOST>

और रेगेक्स को उसी तरह से जेलों में जोड़ा जा सकता है ...

# jail.local
[test3known-interp]
filter=test
enabled = true
failregex = %(known/failregex)s
            failure test 3 (jail.local) <HOST>

के परिणाम के लिए:

$ bin/fail2ban-client -d -c config | grep addfail
['set', 'test3known-interp', 'addfailregex', 'failure test 1 (filter.d/test.conf)]
['set', 'test3known-interp', 'addfailregex', 'failure test 2 (filter.d/test.local)]
['set', 'test3known-interp', 'addfailregex', 'failure test 3 (jail.local) <HOST>']
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.