EQVPS

VPS-এ ব্রুট-ফোর্স আক্রমণ ঠেকাতে fail2ban কীভাবে সেট করবেন

আপনার সার্ভারে অবিরাম পাসওয়ার্ড আন্দাজ বন্ধ করুন: fail2ban আপনার লগ পর্যবেক্ষণ করে এবং বহুবার লগইন ব্যর্থ হওয়া IP স্বয়ংক্রিয়ভাবে ব্যান করে। ইনস্টল করুন, SSH জেইল চালু করুন, এবং ব্যান-নিয়ম সাজান — কয়েকটি কমান্ডে।

সবকিছু লক করার পরেও, বট কখনও পোর্ট 22-এর বিরুদ্ধে পাসওয়ার্ড চেষ্টা বন্ধ করে না — এটি একটি অবিরাম ব্যাকগ্রাউন্ড হট্টগোল আর লোড। fail2ban আপনার লগ পর্যবেক্ষণ করে এবং বহুবার লগইন ব্যর্থ হওয়া যেকোনো IP স্বয়ংক্রিয়ভাবে ব্যান করে, তাই আক্রমণকারীরা অনন্তকাল আন্দাজ করার বদলে কয়েকবার চেষ্টার পরই বন্ধ হয়ে যায়। এটি একটি ছোট ইনস্টল, আর লগ স্প্যামে একটি বড় পতন।

১. fail2ban ইনস্টল করুন

sudo apt update && sudo apt install -y fail2ban

২. একটি লোকাল কনফিগ তৈরি করুন

কখনও শিপ করা jail.conf সরাসরি সম্পাদনা করবেন না — jail.local-এ ওভাররাইড করুন:

sudo tee /etc/fail2ban/jail.local > /dev/null <<'EOF'
[DEFAULT]
# don't ban yourself — add your home/office IP
ignoreip = 127.0.0.1/8 ::1
bantime  = 1h
findtime = 10m
maxretry = 5

[sshd]
enabled = true
EOF

এটি 10 মিনিটের মধ্যে 5টি ব্যর্থ লগইনের পর একটি IP-কে এক ঘণ্টার জন্য ব্যান করে। আপনার নিজের IP ignoreip-এ যোগ করুন, যাতে ভুল টাইপ করা পাসওয়ার্ড আপনাকে কখনও লক না করে।

৩. এটি চালু করুন এবং বুটে সক্রিয় করুন

sudo systemctl enable --now fail2ban

৪. SSH জেইল পরীক্ষা করুন

sudo fail2ban-client status sshd

আপনি দেখবেন এই মুহূর্তে কতগুলো IP ব্যান আছে — প্রায়শই কয়েক মিনিটের মধ্যেই একটি চমকপ্রদ সংখ্যা।

ব্যান পরিচালনা

sudo fail2ban-client set sshd unbanip 1.2.3.4   # lift a ban
sudo fail2ban-client status                     # list all jails
sudo systemctl reload fail2ban                  # apply config changes

সৎ সতর্কতা

পরবর্তী ধাপ

fail2ban একটি কঠোরকৃত সার্ভারের একটি স্তর মাত্র। এটিকে SSH কী প্রমাণীকরণ এবং একটি UFW ফায়ারওয়াল-এর সঙ্গে যুক্ত করুন, আর কিছু ইন্টারনেটে উন্মুক্ত করার আগে সম্পূর্ণ নতুন VPS নিরাপত্তা চেকলিস্ট চালান।

FAQ

fail2ban আসলে কী করে?

এটি লগ ফাইল (যেমন SSH auth log) পর্যবেক্ষণ করে একই IP থেকে বারবার ব্যর্থতা খোঁজে, আর কোনো IP একটি সীমা অতিক্রম করলে সাময়িক ফায়ারওয়াল ব্যান যোগ করে। যেসব বট সারাদিন পোর্ট 22-এ আঘাত করে, তারা অনন্তকাল আন্দাজ করার বদলে কয়েকবার চেষ্টার পরই ব্লক হয়ে যায়। এটি স্বয়ংক্রিয়, চলমান সুরক্ষা।

SSH কী ব্যবহার করলেও কি fail2ban দরকার?

তারা ভিন্ন সমস্যা সমাধান করে। SSH কী আন্দাজ করাকে কার্যত অসম্ভব করে তোলে; fail2ban অবিরাম চেষ্টার হট্টগোল ও লোড বন্ধ করে, এবং আপনার উন্মুক্ত করা অন্য যেকোনো সার্ভিসও (মেইল, ওয়েব লগইন) রক্ষা করে। কেবল-কী SSH-এ ঝুঁকি এমনিতেই কম, তবে fail2ban সস্তা অতিরিক্ত প্রতিরক্ষা এবং লগ স্প্যাম কমায়।

fail2ban কি ভুল করে আমাকেই ব্যান করে দিতে পারে?

হ্যাঁ পারে, যদি আপনি নিজের পাসওয়ার্ড কয়েকবার ভুল টাইপ করেন — তাহলে bantime-এর জন্য ব্যান হবেন, এরপর স্বয়ংক্রিয়ভাবে আনব্যান হবেন। নিজেকে কখনও লক না করতে, কনফিগে নিজের IP 'ignoreip'-এ যোগ করুন, এবং মনে রাখুন প্রোভাইডার কনসোল (EQVPS-এ একটি আছে) সবসময় আপনাকে ফিরিয়ে আনে।

কে ব্যান হয়েছে দেখব কীভাবে, বা IP আনব্যান করব কীভাবে?

জেইল ও ব্যান হওয়া IP দেখতে 'sudo fail2ban-client status sshd' ব্যবহার করুন। ব্যান তুলতে: 'sudo fail2ban-client set sshd unbanip 1.2.3.4'। বিশ্বস্ত IP স্থায়ীভাবে যোগ করতে ignoreip-এ বসান এবং reload করুন।

bantime, findtime এবং maxretry কী?

maxretry হলো কত ব্যর্থতা অনুমোদিত, findtime হলো যে সময়সীমায় তা গোনা হয়, আর bantime হলো ব্যান কতক্ষণ থাকে। উদাহরণস্বরূপ 10 মিনিটে 5টি ব্যর্থতা 1 ঘণ্টার ব্যান ট্রিগার করে। অবিরাম আক্রমণকারীদের জন্য bantime বাড়ান (বা দীর্ঘ মান বসান)।

মন্তব্য

এখনো কোনো মন্তব্য নেই। প্রথম হোন।

একটি মন্তব্য দিন

মন্তব্য প্রকাশের আগে মডারেট করা হয়।