৫টি অপরিহার্য: প্রথমে করুন
- WordPress কোর, থিম ও প্লাগইন হালনাগাদ রাখুন। দুর্বল প্লাগইন হল ১ নম্বর আক্রমণ ভেক্টর। মাইনর সংস্করণের স্বয়ংক্রিয় হালনাগাদ সক্রিয় করুন (WordPress 5.6+ এটি ডিফল্টরূপে করে)। মেজর সংস্করণের জন্য, প্রকাশের ৭ দিনের মধ্যে হালনাগাদ করুন। প্লাগইনের জন্য, বিশ্বস্তগুলির স্বয়ংক্রিয় হালনাগাদ সক্রিয় করুন; সংকটপূর্ণ প্লাগইনের রিলিজ নোট ম্যানুয়ালি পর্যালোচনা করুন।
- প্রতিটি WordPress অ্যাকাউন্টের জন্য শক্তিশালী, অনন্য পাসওয়ার্ড ব্যবহার করুন। বিশেষত অ্যাডমিনের জন্য। একটি পাসওয়ার্ড ম্যানেজার ব্যবহার করুন (1Password, Bitwarden)। «admin» ইউজারনেম নিষ্ক্রিয় করুন: একটি নতুন অ্যাডমিন তৈরি করুন এবং পুরোনোটি মুছুন।
- দ্বি-ফ্যাক্টর অথেন্টিকেশন সক্রিয় করুন। যেকোনো TOTP অ্যাপের সঙ্গে Wordfence Login Security (বিনামূল্যে) বা আমাদের 2FA QR Generator ব্যবহার করুন। 2FA ৯৯%-এর বেশি ক্রেডেনশিয়াল স্টাফিং আক্রমণ পরাজিত করে।
- একটি বিশ্বস্ত নিরাপত্তা প্লাগইন ইনস্টল করুন। Wordfence (বিনামূল্যের সংস্করণ বেশিরভাগ সাইটের জন্য যথেষ্ট) বা Solid Security। একাধিক স্ট্যাক করবেন না: এগুলি দ্বন্দ্বে জড়ায়। প্লাগইনটি লগইন প্রচেষ্টার সীমা, ফাইল ইন্টিগ্রিটি পর্যবেক্ষণ ও ম্যালওয়্যার স্ক্যান পরিচালনা করে।
- প্রতিদিনের অফ-সাইট ব্যাকআপ। UpdraftPlus → Dropbox/Google Drive। প্রয়োজনের আগে ব্যাকআপ নিন। অন্তত একবার পুনরুদ্ধার প্রক্রিয়া পরীক্ষা করুন।
পরবর্তী ১০টি: অতিরিক্ত উচ্চ-প্রভাব ব্যবস্থা
- HTTPS বাধ্য করুন। Let's Encrypt প্রতিটি আধুনিক হোস্টিংয়ে বিনামূল্যে। সার্ভার-স্তরে HTTP-কে HTTPS-এ রিডাইরেক্ট করুন।
- ডেটাবেস টেবিল প্রিফিক্স পরিবর্তন করুন। WordPress ডিফল্টরূপে wp_ ব্যবহার করে; ইনস্টলেশনের সময় এটি কাস্টম কিছুতে পরিবর্তন করুন। এটি আক্রমণ প্রতিরোধ করে না, তবে কিছু আক্রমণ প্যাটার্ন কঠিন করে।
- ব্যবহার না করলে XML-RPC নিষ্ক্রিয় করুন। XML-RPC একটি সাধারণ ব্রুট-ফোর্স অ্যামপ্লিফিকেশন ভেক্টর। আপনি যদি Jetpack মোবাইল অ্যাপ বা রিমোট পাবলিশিং ব্যবহার না করেন, .htaccess বা একটি প্লাগইনের মাধ্যমে এটি নিষ্ক্রিয় করুন।
- লগইন প্রচেষ্টা সীমিত করুন। Wordfence এটি স্বয়ংক্রিয়ভাবে করে। ব্রুট-ফোর্স ক্রেডেনশিয়াল স্টাফিং প্রতিরোধ করে।
- WordPress অথেন্টিকেশন কী/সল্ট রোটেট করুন। আমাদের WordPress Salt Generator ব্যবহার করুন। যেকোনো সন্দেহজনক আপসের পরে, একটি আপসকৃত অ্যাডমিন মুছে ফেলার পরে এবং প্রতি ৬-১২ মাসে রুটিনভাবে রোটেট করুন।
- ফাইল স্থানান্তর করতে SSH বা SFTP ব্যবহার করুন, কখনোই প্লেইন FTP নয়। FTP ক্রেডেনশিয়াল প্লেইন টেক্সটে প্রেরণ করে।
- সম্ভব হলে IP দ্বারা wp-admin অ্যাক্সেস সীমিত করুন। আপনার দল যদি নির্দিষ্ট IP (অফিস, VPN) ব্যবহার করে, wp-admin শুধুমাত্র সেই IP-গুলিতে সীমিত করুন। .htaccess বা Nginx কনফিগারেশনের মাধ্যমে।
- wp-config.php-তে ফাইল সম্পাদনা নিষ্ক্রিয় করুন। যোগ করুন:
define('DISALLOW_FILE_EDIT', true);আক্রমণকারীরা একটি অ্যাকাউন্ট আপস করলে প্যানেল থেকে থিম/প্লাগইন সম্পাদনা করা প্রতিরোধ করে। - WordPress সংস্করণ নম্বর লুকান। meta generator ট্যাগ সরান। আক্রমণ প্রতিরোধ করে না, তবে ফিঙ্গারপ্রিন্টিং হ্রাস করে।
- ফাইল অনুমতি লক করুন। ফাইল 644, ডিরেক্টরি 755, wp-config.php 600। বেশিরভাগ ম্যানেজড হোস্টিং এটি স্বয়ংক্রিয়ভাবে করে; একটি VPS-এ, এটি স্পষ্টভাবে কনফিগার করুন।
পরিমার্জন: ভালো কিন্তু সংকটপূর্ণ নয়
- কাস্টম লগইন URL (যেমন, WPS Hide Login)। মূলত বট ট্রাফিকের শব্দ কমায়; প্রকৃত নিরাপত্তা নয়।
- লগইন ফর্মে CAPTCHA। স্বয়ংক্রিয় আক্রমণের জন্য সামান্য ঘর্ষণ।
- /uploads/-এ PHP এক্সিকিউশন নিষ্ক্রিয় করুন। আপলোড করা PHP শেল চালানো প্রতিরোধ করে।
- Cloudflare WAF (বিনামূল্যের স্তর) ব্যবহার করুন। আপনার সার্ভারে পৌঁছানোর আগে ক্ষতিকর ট্রাফিক ফিল্টার করে।
- প্লাগইন/কোর হালনাগাদের জন্য একটি অ্যাডমিন ইমেইল সতর্কতা কনফিগার করুন।
- ব্রাউজার-স্তরে HTTPS বাধ্য করতে HSTS প্রিলোড ব্যবহার করুন।
- REST API-এর মাধ্যমে ব্যবহারকারী গণনা নিষ্ক্রিয় করুন (Solid Security বা Wordfence এটি পরিচালনা করে)।
- Content Security Policy (CSP) হেডার ব্যবহার করুন।
- ডিরেক্টরি ব্রাউজিং নিষ্ক্রিয় করুন (বেশিরভাগ হোস্টিং ডিফল্টরূপে করে)।
- একটি বাহ্যিক পরিষেবার সঙ্গে আপটাইম + ইন্টিগ্রিটি পর্যবেক্ষণ করুন (UptimeRobot বিনামূল্যের স্তর + সাপ্তাহিক Sucuri SiteCheck)।
- ব্যবহারকারীর ভূমিকা ন্যূনতম সুবিধায় সীমিত করুন। বেশিরভাগ অবদানকারীর এডিটর-স্তরের অ্যাক্সেস দরকার নেই।
- ডেটাবেস ব্যাকআপ এনক্রিপশন (UpdraftPlus Premium এটি অফার করে)।
- CDN-এর মাধ্যমে ডোমেইনের বাইরে ইমেজ হোস্টিং (আক্রমণ পৃষ্ঠ হ্রাস করে)।
- নিরাপত্তা অডিট লগের নিয়মিত পর্যালোচনা।
- সাইট উল্লেখযোগ্য আয় তৈরি করলে বার্ষিক পেনিট্রেশন টেস্ট।
WordPress নিরাপত্তা মিথ: এড়িয়ে যান
বেশ কয়েকটি অত্যন্ত সুপারিশকৃত «নিরাপত্তা» ব্যবস্থা ন্যূনতম প্রকৃত সুরক্ষা দেয়: (১) «WordPress সংস্করণ লুকান»: আপনার সংস্করণ জানা লক্ষ্যবস্তু আক্রমণে সামান্য সাহায্য করে, তবে প্রকৃত সমাধান হল হালনাগাদ করা, লুকানো নয়। (২) «wp-config.php-কে public_html-এর উপরে সরান»: মূলত শূন্য নিরাপত্তা সুবিধা দেয়; ফাইলটি ইতিমধ্যে .htaccess দ্বারা সুরক্ষিত। (৩) «REST API নিষ্ক্রিয় করুন»: অনেক প্লাগইন ভাঙে এবং সামান্য ব্লক করে। এর পরিবর্তে নির্দিষ্ট এন্ডপয়েন্ট সীমিত করুন। (৪) «একাধিক নিরাপত্তা প্লাগইন স্ট্যাক করুন»: এগুলি দ্বন্দ্বে জড়ায় ও ওভারল্যাপ করে। একটি বিশ্বস্ত প্লাগইন (Wordfence বা Solid Security) তিনটি যা করত তা কভার করে। (৫) «wp-login.php পুনঃনামকরণ করুন»: অস্পষ্টতার মাধ্যমে নিরাপত্তা; আক্রমণকারীরা রিডাইরেক্টের মাধ্যমে নতুন URL সহজেই খুঁজে পায়।
আপনাকে হ্যাক করা হলে: পুনরুদ্ধার চেকলিস্ট
- আতঙ্কিত হবেন না; অবিলম্বে জিনিস মুছবেন না। ফরেনসিক বিশ্লেষণের জন্য প্রথমে বর্তমান অবস্থার একটি স্ন্যাপশট নিন।
- সাইট অফলাইনে নিন (মেইনটেন্যান্স মোড প্লাগইন বা একটি স্ট্যাটিক পৃষ্ঠায় .htaccess রিডাইরেক্ট)।
- সমস্ত অ্যাডমিন পাসওয়ার্ড পরিবর্তন করুন এবং WordPress সল্ট রোটেট করুন।
- ব্যবহারকারী অ্যাকাউন্ট অডিট করুন: অপরিচিত অ্যাডমিন অ্যাকাউন্ট অবিলম্বে মুছুন।
- Wordfence Premium বা Sucuri দিয়ে ম্যালওয়্যার স্ক্যান করুন।
- বর্তমান ফাইলগুলিকে একটি পরিষ্কার WordPress ডাউনলোডের সঙ্গে তুলনা করুন: diff পরিবর্তিত কোর ফাইল প্রকাশ করে।
- অপ্রত্যাশিত এন্ট্রির জন্য ডেটাবেসের wp_options টেবিল পর্যালোচনা করুন (প্রায়ই ইনজেক্ট করা JS থাকে)।
- সাম্প্রতিকতম পরিষ্কার ব্যাকআপ থেকে পুনরুদ্ধার করুন (এজন্যই প্রতিদিনের ব্যাকআপ গুরুত্বপূর্ণ)।
- পুনরুদ্ধারের পরে, প্রতিটি প্লাগইন অডিট করুন: ব্যবহার না হওয়াগুলি মুছুন, সবগুলি হালনাগাদ করুন এবং পাবলিক CVE-সহ যেকোনোটি প্রতিস্থাপন করুন।
- WordPress কোর সর্বশেষ সংস্করণে হালনাগাদ করুন।
- সাইট পুনরায় সক্রিয় করুন এবং ৩০ দিন ধরে পুনঃসংক্রমণের উপর নজর রাখুন।