इसलिए मैंने एक ही आईपी एड्रेस को एक के बाद एक वेब सर्वर के मेरे क्लस्टर को हिट करने के बाद ऐसा करने के बारे में अनुसंधान का एक गुच्छा किया। चूंकि मैं AWS का उपयोग कर रहा हूं, मुझे लगा कि 5 सर्वरों के परीक्षण के मेरे पहले दो दिनों में एक आसान तरीका और इसकी खूबसूरती से काम हो सकता है।
पहली बात जो मैं सुझाता हूं कि वह अस्थायी रूप से SELinux को अक्षम कर रहा है, हम इसके साथ अंत में निपटेंगे। मैं एक SELinux विशेषज्ञ नहीं हूँ, लेकिन मैंने अभी तक क्या काम किया है।
प्राथमिक आवश्यकता एक साझा फ़ाइल स्रोत है, मैं AWS EFS का उपयोग करता हूं। एक बार जब नई ड्राइव का प्रावधान और माउंट हो जाता है, तो मैंने EFS ड्राइव में एक सबफ़ोल्डर में /etc/fail2ban/fail2ban.conf के अंदर logtarget बदल दिया।
logtarget = /efsmount/fail2ban/server1.log
फिर मैंने एक साधारण फ़िल्टर लिखा और उसे /etc/fail2ban/filter.d/fail2ban-n.ff में रखा।
[Definition]
failregex = .* Ban <HOST>
ignoreregex =
फ़िल्टर को /etc/fail2ban/jail.local पर जोड़ा गया
[fail2ban-log]
enabled = true
port = http,https
findtime = 86400 ; 1 day
logpath = /efsmount/fail2ban/server1.log
/efsmount/fail2ban/server2.log
/efsmount/fail2ban/server3.log
/efsmount/fail2ban/server4.log
maxretry = 1
तब विफल 2b पुनरारंभ हुआ
sudo fail2ban-client reload
अब तक सब ठीक है! कोई भी दर्दनाक हिस्सा SELinux नहीं है। के बाद मैं एक बिट के लिए विफल करने के लिए चलाते हैं, मैं इस कमांड को चलाया जो फ़िल्टर के माध्यम से विफल 2 बटन की अनुमति देगा।
sudo grep fail2ban /var/log/audit/audit.log | sudo audit2allow -M fail2ban-nfs
Audit2allow आपको इस कमांड को चलाने के लिए कहेगा
sudo semodule -i fail2ban-nfs.pp
मैं अभी भी अपने SELinux लॉग को यहाँ और वहाँ देख रहा हूँ कि क्या कोई और खंडन है या नहीं। अगर किसी के पास इस बात पर टिप है कि उस स्पष्ट SELinux को दूसरी विधि से कैसे प्राप्त किया जाए जो कि भयानक हो।
sudo cat /var/log/audit/audit.log |grep fail2ban |grep denied
इस बिंदु पर मुझे अभी भी त्रुटियाँ मिल रही थीं जब असफल 2 बार पुनरारंभ करना। जेल में कार्रवाई करते समय एक बग होता है। जरा सी गुगली के बाद मुझे यह मिला जो अब तक काम कर रहा है। कई फ़ाइलों की ओर इशारा करते हुए लॉगपाथ निर्देश में लाइन टूटने के कारण मैंने जो भी पढ़ा है। मैंने अल्पविराम, रिक्त स्थान, आदि के साथ प्रयास किया।
action_mwm = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
%(mta)s-whois-matches[name=%(__name__)s, dest="%(destemail)s", chain="%(chain)s"]
action = %(action_mwm)s
SELinux को वापस चालू करना न भूलें!