আমি 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)।

অটোমেশন

আমি স্ট্যান্ডার্ড ইনপুট থেকে প্রাপ্ত fail2ban-client status <jail> এর আউটপুট ফলাফলকে একটি সাধারণ HTML-এ রূপান্তর করছি।
এছাড়াও, এই আউটপুট প্রক্রিয়াটি সম্পূর্ণ স্বয়ংক্রিয়ভাবে করা হয় এবং আমার ক্ষেত্রে ক্যাশ সার্ভার হিসেবে দুটি সার্ভার মেশিন থাকায় আউটপুট সিঙ্ক্রোনাইজ করা প্রয়োজন।

কারণ এমন হতে পারে যে HTML ফাইলটি শুধুমাত্র একটি Nginx সার্ভারে বিদ্যমান থাকবে।

এর কার্যপদ্ধতি নিম্নরূপ:

সিঙ্ক্রোনাইজেশনের জন্য একটি শেল স্ক্রিপ্ট, স্ট্যাটিক ফাইল এবং HTML সহ একটি git রিপোজিটরি তৈরি করে রাখা।

git pull করে রিপোজিটরি সিঙ্ক্রোনাইজ করা

fail2ban-client status থেকে রুল (rule) নাম সংগ্রহ করা

বিদ্যমান রুল থেকে fail2ban-client statsu <jail> থেকে পাইপের মাধ্যমে f2b-report-এ পাঠিয়ে HTML ফাইল তৈরি করা

কারেন্ট ডিরেক্টরিতে থাকা *.html ফাইলগুলো থেকে index.html তৈরি করা

/usr/local/www/ এর অধীনে f2b-report ডিরেক্টরিতে কপি করা

git commit && git push করা

এটি cron-এ সেট করে দিলেই কাজ শেষ।
এছাড়াও, এই শেল স্ক্রিপ্টের প্রথম আর্গুমেন্ট হিসেবে দেওয়া নামটিকে prefix হিসেবে ব্যবহার করে html ফাইল তৈরি করা হয়।

এনভায়রনমেন্ট ভেরিয়েবল হিসেবে f2b-report এর এক্সিকিউটেবল ফাইলের পাথ এবং কপি করার পাথ একসাথে দিয়ে এটি চালানো হয়।

Related Posts