मैंने Fail2ban रिपोर्ट को सार्वजनिक रूप से साप्ताहिक रूप से आउटपुट करने और जाँचने योग्य बनाया है

3 min

language: ja bn en es hi pt ru zh-cn zh-tw

Fail2ban रिपोर्ट

image

यह कुछ इस तरह आउटपुट होता है।

fail2ban-report

GitHub - haturatu/f2b-report: f2b-report stdin से fail2ban-client status <jail> आउटपुट पढ़ता है और stdout पर एक सरल HTML रिपोर्ट लिखता है। · GitHub

इसे ऊपर दिए गए लिंक पर प्रकाशित किया गया है।
मांग के मामले में, यह काफी विशिष्ट (niche) है।

स्वचालन

यह मानक इनपुट (stdin) से प्राप्त fail2ban-client status <jail> के आउटपुट परिणाम को एक सरल HTML में बदल देता है।
इसके अलावा, यह आउटपुट पूरी तरह से स्वचालित है, और मेरे मामले में, चूंकि कैश सर्वर के रूप में दो सर्वर मशीनें हैं, इसलिए आउटपुट को सिंक्रनाइज़ करने की आवश्यकता है।

ऐसा इसलिए है क्योंकि ऐसी स्थिति हो सकती है जहाँ HTML फ़ाइल केवल एक Nginx सर्वर पर मौजूद हो।

यह इस प्रकार काम करता है:

सिंक्रनाइज़ेशन के लिए एक शेल स्क्रिप्ट, स्थिर फ़ाइलें और HTML वाला एक git रिपॉजिटरी तैयार करें।

git pull करके रिपॉजिटरी सिंक करें

fail2ban-client status से नियम का नाम प्राप्त करें

मौजूदा नियमों से fail2ban-client statsu <jail> को पाइप के माध्यम से f2b-report में पास करें और HTML फ़ाइल जनरेट करें

वर्तमान निर्देशिका में मौजूद *.html फ़ाइलों से index.html जनरेट करें

/usr/local/www/ के तहत f2b-report निर्देशिका में कॉपी करें

git commit && git push करें

इसे cron में सेट करें और बस हो गया।
इसके अलावा, यह शेल स्क्रिप्ट के पहले तर्क (argument) के रूप में दिए गए नाम को prefix के रूप में उपयोग करके html फ़ाइल जनरेट करता है।

पर्यावरण चर (environment variables) के रूप में, मैं f2b-report निष्पादन योग्य फ़ाइल पथ और कॉपी गंतव्य पथ को एक साथ पास करके इसे चलाता हूँ।

Related Posts