কারো ওয়ার্ডপ্রেস ওয়েবসাইট নিজে নিজেই রিডাইরেক্ট হচ্ছে, কারো সাইটে ভৌতিক এডমিন ইউজার ক্রিয়েট হচ্ছে, কেউ গুগল সার্চে নিজের সাইটের আন্ডারে হাজারো জাপানিজ পোস্ট খুঁজে পাচ্ছেন, আবার কারো ওয়েবসাইটের কোর ফাইল ডিলিট হয়ে যাচ্ছে নিজে নিজে কিংবা কারো index.php ফাইল ডিলিট করে default ফাইল দিলেও আবার নিজে নিজে রিপ্লেস হয়ে থাকছে যা শো করছে ব্ল্যাংক পেইজ হিসেবে।
এছাড়াও ইদানীং অনেককিছু দেখা দেয় ওয়ার্ডপ্রেস ওয়েবসাইটে। যার পিছনে একটাই বিষয়, হ্যাকড ওয়ার্ডপ্রেস ওয়েবসাইট। হ্যাকড সাইটে ম্যালওয়্যার প্রবেশ করিয়ে এভাবেই ওয়েবসাইটের ক্ষতি, কোনো কোনো ক্ষেত্রে ডাটা চুরিসহ ব্যক্তিগত ক্ষতির সম্মুখীনও করা হয়ে থাকে। এত ওয়েবসাইট আসলে হ্যাক কিভাবে হচ্ছে?
প্রথমেই যে কারণটা উঠে আসে সেটা হলো নালড বা ক্র্যাকড থিম, প্লাগইন ফাইলস। এসব নালড বা ক্র্যাকড ফাইলগুলো বেশিরভাগ অসাধু ব্যক্তিরা তৈরি করে এতে ম্যালওয়্যার প্রবেশ করিয়ে রাখে। কেউ এগুলো ব্যবহার করলে তার ওয়েবসাইটে প্রবেশ করে সেই ম্যালওয়্যার। এভাবেই আক্রান্ত হচ্ছে হাজার হাজার ওয়েবসাইট। অনেকের ক্ষেত্রে হতে অনেক সময় লাগে, আবার অনেকে ক্ষেত্রে হয় না। বেশিরভাগ ক্ষেত্রেই বেশি ট্র্যাফিক আছে এমন সাইটকে টার্গেট করা হয়।
পর্যাপ্ত রক্ষণাবেক্ষণ বা মেইনটেনেন্স এর অভাবেও ওয়ার্ডপ্রেস ওয়েবসাইট হ্যাক হতে পারে। বিভিন্ন থিম, প্লাগইনেও সিকিউরিটি ইস্যু থাকে; এমনকি ওয়ার্ডপ্রেস কোরেও থাকতে পারে। নিয়মিত প্লাগইন, থিম, কোর এগুলো আপডেট রাখা এবং ব্যাকডেটেডগুলো ডিলিট করে ওয়েবসাইটকে ক্লিন রাখা খুবই জরুরি।
আবার অনেকে ওয়েবসাইট বানানোর ক্ষেত্রে অনেক বেশি প্লাগইন ব্যবহার করে থাকেন যাচাই-বাছাই ছাড়াই, কিংবা থার্ড পার্টি প্লাগইন ব্যবহার করে থাকেন যেগুলোর সিকিউরিটি টেস্ট করা হয়নি। দেখা যায় এসব প্লাগইনের কোনোটিতে সিকিউরিটি ইস্যু থাকলে সেখান থেকে হ্যাক হয়ে যায় ওয়ার্ডপ্রেস ওয়েবসাইট।
সহজ এডমিন ইউজারনেম ও পাসওয়ার্ড ব্যবহার করা, api endpoint সিকিউরড না রাখা ছাড়াও আরো অনেক কারণে হ্যাক হয়ে থাকে ওয়ার্ডপ্রেস ওয়েবসাইট। বেশিরভাগ ক্ষেত্রে ব্যাকাপ থাকায় বা ম্যালওয়্যার রিমুভ করে ওয়েবসাইট ঠিক করা গেলেও অনেকসময় ডাটা রিকোভারি করা সম্ভব নাও হতে পারে। তাই ওয়েবসাইটের সিকিউরিটির ব্যাপারে সবসময় সচেতন থাকাটাই ভালো।
Login URL Hide কেন করবেন?
ওয়ার্ডপ্রেস ড্যাশবোর্ড এক্সেস করার জন্য লগইনের যে লিংক বা ইউআরএল (URL) রয়েছে, সেটি হলো ডিফল্টভাবে “/wp-login.php”; যেহেতু ড্যাশবোর্ডের ইউআরএল হলো “/wp-admin/” তাই এই লিংক থেকেও লগইন করার জন্য রিডাইরেক্ট করে। আবার “/admin”, “/login”, “/login.php” লিখলেও লগইন পেইজে নিয়ে যাবে।
যারা বিভিন্ন টুলস ব্যবহার করে ওয়েবসাইটে অ্যাটাক করে থাকে, সেসব টুলস প্রথমেই এডমিন প্যানেল বা এডমিন ড্যাশবোর্ড খুঁজে বের করতে এই ইউআরএলগুলোতে চেক করা শুরু করবে। ব্রুটফোর্স বা ডিকশনারি অ্যাটাকের জন্য টুলস বা বট এসব লিংকগুলোই চেক করবে। যদি ইউজারনেম হাইড করা না থাকে (বিস্তারিত অন্য পোস্টে) তাহলে তো কথাই নেই। সেই ইউজারনেম ব্যবহার করে র্যান্ডম পাসওয়ার্ড চেস্টা করতে থাকবে যতক্ষণ না মিলে যায়। (যদি কোনো ক্যাপচা বা ফায়ারওয়াল না থাকে লগইনের জন্য)
তাই অবশ্যই প্লাগইন ব্যবহার করে অথবা কাস্টম কোড করে লগইন প্যানেলের ইউআরএল পরিবর্তন করা উচিত এবং ডিফল্ট লিংকগুলো বন্ধ করে দেওয়া উচিত। ওয়ার্ডপ্রেস প্লাগইন ডিরেক্টরিতে লগইন প্যানেল হাইড করার জন্য প্লাগইন পেয়ে যাবেন। লগইন প্যানেলের ইউআরএল হিসেবে র্যান্ডম সংখ্যা বা অক্ষরের সমন্বয় ব্যবহার করতে পারেন। যেমন “/29692” বা “kudowkw” বা “/o8sa92” ইত্যাদি।
কেন xmlrpc.php ফাইল disable করবেন?
xmlrpc.php একটি ফাইল যা ওয়ার্ডপ্রেসের একদম শুরু দিনগুলো থেকে ওয়ার্ডপ্রেস কোরে রয়েছে। এটি আগে ডিফল্টভাবে ডিজেবল করা থাকলেও, বর্তমানে এটি ডিফল্টভাবেই ইনেবল করা থাকে এবং তা অফ করারও মাধ্যম ওয়ার্ডপ্রেস ড্যাশবোর্ডে রাখা হয়।
আগে ওয়ার্ডপ্রেস ওয়েবসাইটের সাথে অন্য যেকোনো সিস্টেমের কম্যিউনিকেট করার মাধ্যমে ছিল এটি। XML-RPC API এর মাধ্যমে রিমোটলি মোবাইল অ্যাপের সাথে, অন্য কোনো ওয়েবসাইট বা সিস্টেমের সাথে ওয়ার্ডপ্রেস সাইটের যোগাযোগ স্থাপন করা যায়।
এটি বর্তমানে অনেক ব্যাকডেটেড সিকিউরিটি ইস্যুর কারণ। বর্তমানে ওয়ার্ডপ্রেসে REST API রয়েছে যা দ্বারা একই কাজগুলো সুরক্ষিতভাবে করা যায়। কিন্তু xmlrpc.php ফাইলটি এখনো ওয়ার্ডপ্রেস কোরে আছে।
আপনার ওয়েবসাইটের লগইন প্যানেল/ড্যাশবোর্ড অথবা লগইন ইউআরএল/লিংক হাইড করা থাকলেও xmlrpc.php এর মাধ্যমে ব্রুটফোর্স অ্যাটাক করে বিভিন্ন ইউজারনেম ও পাসওয়ার্ড কম্বিনেশন ইউজ করে ওয়েবসাইটের এক্সেস পাওয়া সম্ভব। xmlrpc.php তে ব্রুটফোর্স ক্ষেত্রে অনেক সিকিউরিটি টুলসও ধরা খেয়ে যায়।
XML-RPC ব্যবহার করে pingback সিস্টেমের ফায়দা নিয়ে ডিডস অ্যাটাক পারফর্ম করা সম্ভব। আর এই xmlrpc.php ব্যবহার করে হাজারো ওয়েবসাইটের হাজারো আইপি ব্যবহার করা যায়।
আপনার ওয়েবসাইটে XML-RPC ইনেবল আছে কিনা দেখতে XML-RPC Validator লিখে সার্চ করে চেক করে নিতে পারেন। বিভিন্নভাবে সিকিউরড করা গেলেও সবচেয়ে ভালো হবে এটা ডিজেবল করে রাখা, যেহেতু নতুন REST API ব্যবহার হচ্ছে যা XML-RPC কে রিপ্লেস করে দিয়েছে।
এটি ডিজেবল করার জন্য আপনার ওয়ার্ডপ্রেস ওয়েবসাইটের Disable XML-RPC প্লাগইন ইন্সটল করে দিয়ে ডিজেবল করে দিতে পারেন। প্লাগইন ডিরেক্টরিতে সার্চ করলেই প্লাগইনটি পেয়ে যাবে। এছাড়াও .htaccess ব্যবহার করে xmlrpc.php এক্সেস ডিজেবল করা যেতে পারে।
মতামতঃ
- বেস্ট ওয়ে আমার কাছে যেটা মনে হয় যে xmlrpc.php কে ক্লাউডফ্লেয়ার থেকে ব্লক করাই সবথেকে বেশি সিকিউর। আপাতত হিট করা আইপিগুলা দেখা যায় + কোনো কারনে একসেস দিতে হলে সেটা একটা নির্দিষ্ট আইপি বা যেকোনো কিছুতে দেওয়া যায়। তাই সার্ভার লেভেল থেকে করাই ভালো।
- যদি xmlrpc.php ফাইলটি ডিলিট করে দেওয়া হয়, তাহলে কি হতে পারে?
উত্তরঃ ওয়ার্ডপ্রেস কোর ফাইলে টাচ করতে হয় না। কারণ, ওয়ার্ডপ্রেস আপডেটের সময় সব ফাইল রিস্টোর/ রিসেট হয়।