fail2ban-এর logpath-এ regex (রেগুলার এক্সপ্রেশন) ব্যবহার করা যায়।

3 min

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

নমস্কার, আমি অযোগ্য।
প্রতিটি *nix-ভিত্তিক OS-এর জন্য লগ রোটেট সেটিংস ভিন্ন হওয়ায়, /var/log/auth.log দ্রুত আর্কাইভ হয়ে যেতে পারে এবং কোনো কিছু ব্যান নাও করতে পারে, তাই মনে হচ্ছে নিচের মতো রেগুলার এক্সপ্রেশন ব্যবহার করা যেতে পারে।

কীভাবে! ব্যবহার! করবেন!

:/etc/fail2ban# cat jail.local 
[sshd]
ignoreip = 127.0.0.1/8 ::1
enabled = true
port    = all
logpath = /var/log/auth.log*
bantime = 10w
findtime = 10d
maxretry = 2

তারপর, যখন fail2ban-client status sshd দিয়ে দেখি

:/usr/local/etc/fail2ban # fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     0
|  `- File list:        /var/log/auth.log /var/log/auth.log.2.bz2 /var/log/auth.log.1.bz2 /var/log/auth.log.6.bz2 /var/log/auth.log.3.bz2 /var/log/auth.log.4.bz2 /var/log/auth.log.5.bz2 /var/log/auth.log.0.bz2
`- Actions
   |- Currently banned: 158
   |- Total banned:     158

মনে হচ্ছে .bz ফাইলগুলিও লক্ষ্য করা হচ্ছে... এটি কি দেখছে...? ভেবেছিলাম, কিন্তু স্বাভাবিকভাবে চিন্তা করলে এটি অসম্ভব (´・ω・`)
আমি এখনও বিস্তারিত দেখিনি, তবে যদি এটি zgrep-এর মতো সংকুচিত বাইনারিগুলিও দেখতে পায় তবে আমি খুশি হব।

তাই, আমি ভেবেছিলাম, এবং ls auth.log.*.bz2 | xargs bunzip2 দিয়ে ডিকম্প্রেস করে fail2ban রিস্টার্ট করার পরেও, ব্যান করা IP গুলি পরিবর্তন হয়নি, তাই মনে হচ্ছে এটি সম্ভবত সংকুচিত বাইনারি লগগুলিও দেখছে।

এই ধরনের সফটওয়্যারে অসাবধানতাবশত রেগুলার এক্সপ্রেশন, বিশেষ করে .* ইত্যাদি ব্যবহার করলে প্রায়শই অপ্রয়োজনীয় রিসোর্স খরচ হয়, তাই সুস্পষ্ট রেগুলার এক্সপ্রেশন ব্যবহার করার পরামর্শ দেওয়া হচ্ছে।

অবিশ্বাস্য হেজনার ভিপিএস মেশিন

ভয়ঙ্কর।

:/etc/fail2ban# fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 814
|  |- Total failed:     132602
|  `- File list:        /var/log/auth.log.1 /var/log/auth.log
`- Actions
   |- Currently banned: 2503
   |- Total banned:     2503

2503টি IP...?
একটি চমৎকার ডেটা সোর্স পেয়েছি মনে হচ্ছে, খুশি হলাম ডস।