মেশিন হ্যাক হয়েছে বোঝার লক্ষণ
কোন উপসর্গগুলো দেখায় যে মেশিনে অন্য কারও কোড চলছে, কমান্ড দিয়ে এটি কীভাবে চেক করবেন, এবং কেন রিইনস্টলেশনই একমাত্র নির্ভরযোগ্য সমাধান।
আপডেট: ২৩ আগস্ট, ২০২৬
একটি আক্রান্ত মেশিন খুব কমই ভাঙা দেখায়। বেশিরভাগ ক্ষেত্রে এটি কেবল আপনার নির্দেশের চেয়ে একটু বেশি কাজ করতে শুরু করে: CPU গরম করে, আউটবাউন্ড ট্রাফিক পাঠায়, অন্যের ঠিকানায় নক করে। যত আগে আপনি এটি লক্ষ করবেন, পরিণতি তত কম হবে।
প্রাথমিক লক্ষণ
- আপনার কোনো লোড ছাড়াই CPU ক্রমাগত ১০০%-এ থাকে — এটি আপনি প্যানেলের
/hosting/vds/m/<id>-এর “Overview”-তে গ্রাফে দেখতে পাবেন। - সারাদিন সমানভাবে আউটবাউন্ড ট্রাফিক চলছে — দেখুন traffic usage।
- ডিস্ক স্পেস কে জানে কোথায় হারিয়ে যাচ্ছে।
- লগে অপরিচিত ঠিকানা থেকে সফল লগইন দেখা যাচ্ছে — দেখুন login logs।
- নতুন ইউজার বা শিডিউলড টাস্ক দেখা দিয়েছে।
- আপনার প্রোভাইডার আপনার মেশিন সম্পর্কে অভিযোগ পেয়েছেন — স্প্যাম বিতরণ বা কোনো আক্রমণে অংশগ্রহণ।
“সবকিছু কেবল ধীর হয়ে গেছে” — এই ক্ষেত্রটি বিশেষভাবে বিপজ্জনক: মাইনাররা ইচ্ছাকৃতভাবে মেশিনকে সম্পূর্ণ অচল করে না, যাতে দীর্ঘ সময় অলক্ষিত থাকতে পারে।
যাচাই
top -c
ps auxf
ss -tunp
ss -tnp state established
www-data বা অন্য কোনো সার্ভিস ইউজার হিসেবে চলা অর্থহীন নামের প্রসেস এবং অপরিচিত ঠিকানায় আউটবাউন্ড কানেকশন খুঁজুন।
ইউজার ও অটোস্টার্ট এন্ট্রি:
awk -F: '$3 >= 1000 {print $1}' /etc/passwd
awk -F: '$2 == "" {print $1}' /etc/shadow
crontab -l
crontab -l -u www-data
ls -la /etc/cron.d/ /var/spool/cron/crontabs/
systemctl list-units --type=service --state=running
systemctl list-timers
সিস্টেম ডিরেক্টরিতে সাম্প্রতিক পরিবর্তন:
find /etc /usr/bin /usr/sbin -mtime -7 -type f
find /tmp /dev/shm /var/tmp -type f -executable
/tmp এবং /dev/shm-এ থাকা এক্সিকিউটেবল ফাইল প্রায় সবসময়ই বহিরাগত।
অ্যাক্সেস কী:
cat /root/.ssh/authorized_keys
for d in /home/*; do cat $d/.ssh/authorized_keys 2>/dev/null; done
যোগ করা বহিরাগত কী হলো মেশিনে ঘাঁটি গাড়ার সবচেয়ে সাধারণ উপায়।
নিশ্চিত হলে
“পরিষ্কার করে কাজ চালিয়ে যাওয়ার” চেষ্টা করবেন না। কী কী পরিবর্তন হয়েছে তা আপনি ঠিক জানেন না: আক্রমণকারী সিস্টেম কমান্ড প্রতিস্থাপন করে থাকতে পারে, তাই ps এবং ls দুটোই আপনার মুখের ওপর মিথ্যা বলতে পারে।
সঠিক ক্রম:
- মেশিনটিকে বাহ্যিক সার্ভিস থেকে বিচ্ছিন্ন করুন, যেখানেই পাসওয়ার্ড ও কী ব্যবহার হয়েছে সেখানে সেগুলো পরিবর্তন করুন।
- তদন্তের জন্য যা প্রয়োজন তা সংগ্রহ করুন: লগ, প্রসেসের তালিকা, প্রথম সন্দেহজনক লগইনের সময়।
- কেবল ডেটা কপি করুন, এক্সিকিউটেবল ফাইল নয়। আক্রান্ত মেশিন থেকে কোড কপি করা মানে ব্যাকডোর স্থানান্তর করা।
- প্যানেলের
/hosting/vds/m/<id>-এর “Access” ট্যাবে সিস্টেম পুনরায় ইনস্টল করুন। - first-hour hardening দিয়ে শুরু করে আবার সবকিছু গড়ে তুলুন।
- মূল ফাঁকটি বন্ধ করুন: পুরনো অ্যাপ্লিকেশন, দুর্বল পাসওয়ার্ড, পাসওয়ার্ড ছাড়া পাবলিক ডেটাবেস।
আক্রমণকারীরা সাধারণত যেভাবে ঢোকে
| পদ্ধতি | প্রতিরোধ |
|---|---|
| SSH-এ root পাসওয়ার্ড ব্রুট-ফোর্স | Keys and disabling password login |
| পাসওয়ার্ড ছাড়া ইন্টারনেটে উন্মুক্ত ডেটাবেস | 127.0.0.1-এ লিসেন করুন, দেখুন ports |
| অ্যাপ্লিকেশনের পুরনো ভার্সনের দুর্বলতা | Automatic updates |
| রিপোজিটরি থেকে ফাঁস হওয়া কী | সিক্রেট আলাদাভাবে সংরক্ষণ করুন |
| সবার জন্য খোলা অ্যাডমিন প্যানেল | ফায়ারওয়ালে ঠিকানা দিয়ে সীমাবদ্ধ করুন |
পুনরায় ইনস্টল করা ব্যয়বহুল মনে হয়, কিন্তু যে মেশিনে আপনি আর কোনো কাজেই ভরসা করতে পারবেন না, তার চেয়ে এটি কম খরচ। ধরা পড়া মাইনার বা স্প্যাম ক্যাম্পেইনও আপনার মেশিনের পক্ষ থেকে terms of use লঙ্ঘন, এমনকি আপনি সেগুলো চালু না করলেও।