ওয়ার্ডপ্রেস ফোল্ডার স্ট্রাকচার নিরাপত্তা নিশ্চিত করার জন্য "wp-includes" ফোল্ডারে সরাসরি প্রবেশাধিকার বন্ধ করার সবচেয়ে নিরাপদ উপায় হল এই ফোল্ডারের সমস্ত কন্টেন্টকে অন্ধভাবে বন্ধ করা নয়, বরং এই ফোল্ডারের মধ্যে PHP ফাইলগুলোর বাইরে থেকে চালানোর এবং ডিরেক্টরি তালিকা বন্ধ করা। কারণ wp-includes, ওয়ার্ডপ্রেস কোরের কাজের জন্য প্রয়োজনীয় JavaScript, CSS এবং কিছু স্থিতিশীল ফাইল ধারণ করে; ফোল্ডারের সমস্ত প্রবেশাধিকার বন্ধ করা সাইটের ডিজাইন, এডিটর বা প্লাগইনের ফাংশনালিটিতে বিঘ্ন ঘটাতে পারে। সঠিক পদ্ধতি হল; যদি আপনি Apache ব্যবহার করেন তবে .htaccess নিয়ম ব্যবহার করে, এবং যদি আপনি Nginx ব্যবহার করেন তবে সার্ভার ব্লকের ভিতরে লোকেশন নিয়ম ব্যবহার করে সরাসরি PHP প্রবেশাধিকার বন্ধ করা, তারপর সাইটটিকে 403/404 প্রতিক্রিয়া এবং গুরুত্বপূর্ণ পৃষ্ঠা পরীক্ষার মাধ্যমে নিশ্চিত করা।
ওয়ার্ডপ্রেস নিরাপত্তায় সবচেয়ে সাধারণ ভুলগুলির মধ্যে একটি হল শুধুমাত্র শক্তিশালী পাসওয়ার্ড বা নিরাপত্তা প্লাগইন দিয়ে সন্তুষ্ট হওয়া। যাইহোক, আক্রমণকারীরা প্রায়শই কোর ফাইলগুলোর উপস্থিতি থাকা ডিরেক্টরিগুলি, পুরানো প্লাগইন, ভুল ফাইল অনুমতি এবং খোলা ডিরেক্টরি তালিকা স্ক্যান করে। wp-includes ফোল্ডারও এই স্ক্যানগুলির লক্ষ্যগুলোর মধ্যে একটি। এই গাইডে, বাস্তব হোস্টিং পরিবেশে কার্যকরী পদক্ষেপগুলির মাধ্যমে wp-includes প্রবেশাধিকার কিভাবে সীমিত করবেন, কোন নিয়মগুলি সাইটকে বিঘ্নিত করতে পারে, Apache এবং Nginx এর জন্য উদাহরণ কনফিগারেশন, পরীক্ষা করার পদ্ধতি এবং রক্ষণাবেক্ষণের চেকলিস্ট পাবেন। আপনার ওয়ার্ডপ্রেস সাইটকে আরও নিরাপদ অবকাঠামোতে চালানোর জন্য WordPress হোস্টিং এবং সাধারণ সুরক্ষা স্তরের জন্য এসএসএল সার্টিফিকেট বিকল্পগুলিও বিবেচনা করতে পারেন।
wp-includes ফোল্ডার কি এবং কেন রক্ষা করা উচিত?
wp-includes, ওয়ার্ডপ্রেস কোরের মৌলিক লাইব্রেরিগুলি ধারণকারী প্রধান ডিরেক্টরিগুলির মধ্যে একটি। থিম সিস্টেম, ব্লক এডিটর, REST API উপাদান, মিডিয়া প্রসেসিং, ক্লাস, ফাংশন এবং বিভিন্ন JavaScript ফাইল এই স্ট্রাকচারে অন্তর্ভুক্ত। সহজভাবে বললে, wp-includes হল ওয়ার্ডপ্রেসের ইঞ্জিন রুমগুলির একটি; ব্যবহারকারীদের সরাসরি পরিদর্শন করার জন্য এটি একটি কন্টেন্ট এলাকা নয়।
সাধারণ একটি দর্শক site.com/wp-includes/ এর মত একটি ঠিকানা খুলতে বাধ্য নয়। তবে পৃষ্ঠা সোর্স কোডে wp-includes অধীনে কিছু স্থিতিশীল সম্পদ দেখা যেতে পারে। উদাহরণস্বরূপ, ওয়ার্ডপ্রেসের ডিফল্ট স্ক্রিপ্ট ফাইল, ইমোজি স্ক্রিপ্ট বা এডিটর উপাদানগুলি এই ডিরেক্টরি থেকে লোড করা যেতে পারে। তাই নিরাপত্তা ব্যবস্থা গ্রহণ করার সময় লক্ষ্য সঠিকভাবে নির্ধারণ করা দরকার: স্থিতিশীল ফাইলগুলোর কাজ বন্ধ না করে PHP ফাইলগুলোর সরাসরি ওয়েব প্রবেশাধিকার বন্ধ করা।
এই পার্থক্যটি পেশাদার ওয়ার্ডপ্রেস ফোল্ডার স্ট্রাকচার নিরাপত্তার পদ্ধতির মূল ভিত্তি। ফোল্ডারগুলো এলোমেলোভাবে বন্ধ করা স্বল্পমেয়াদে নিরাপদ মনে হতে পারে তবে লাইভ সাইটে সাদা পৃষ্ঠা, নষ্ট হওয়া প্রশাসনিক প্যানেল, কাজ না করা ব্লক এডিটর বা ভুল থিম প্রদর্শনের মতো সমস্যার সৃষ্টি করতে পারে। উদ্দেশ্য হল ওয়ার্ডপ্রেসের প্রয়োজনীয় ফাইলগুলোর সুরক্ষা নিশ্চিত করে আক্রমণের পৃষ্ঠাকে সংকুচিত করা।
wp-includes প্রবেশাধিকার বন্ধ করা কি সুবিধা দেয়?
wp-includes ফোল্ডারে সরাসরি PHP চালানো বন্ধ করা একা সমস্ত আক্রমণ বন্ধ করে না; তবে আক্রমণের পৃষ্ঠাকে অনেকাংশে কমিয়ে দেয়। বিশেষ করে ম্যালওয়্যার আক্রান্ত সাইটগুলোতে আক্রমণকারীরা, প্রবেশযোগ্য ডিরেক্টরিতে ক্ষতিকারক PHP ফাইল আপলোড করতে বা বিদ্যমান ফাইলগুলোকে আহ্বান করতে চেষ্টা করে। wp-includes অধীনে PHP ফাইলগুলোর ওয়েবের মাধ্যমে সরাসরি চালনাকে নিষিদ্ধ করা, এই পরিস্থিতিতে একটি অতিরিক্ত বাধা তৈরি করে।
এই ব্যবস্থা নিম্নলিখিত সুবিধা প্রদান করে:
- কোর PHP ফাইলগুলোর সরাসরি URL এর মাধ্যমে আহ্বান সীমাবদ্ধ করে।
- ডিরেক্টরি তালিকা খোলা থাকলে ফোল্ডার কন্টেন্টের দৃশ্যমানতা বন্ধ করতে সাহায্য করে।
- অটোমেটিক বট স্ক্যানিংয়ের বিরুদ্ধে অপ্রয়োজনীয় তথ্য ফাঁস কমায়।
- নিরাপত্তা প্লাগইন না থাকলেও ওয়েব সার্ভার স্তরে সুরক্ষা নিশ্চিত করে।
- WAF, SSL, আপডেট করা PHP এবং ফাইল অনুমতিগুলির সাথে স্তরিত নিরাপত্তা শক্তিশালী করে।
এখানে গুরুত্বপূর্ণ বিষয় হল যে এই প্রক্রিয়াটি একটি নিরাপত্তা স্তর। যদি পুরনো প্লাগইন, দুর্বল প্রশাসনিক পাসওয়ার্ড বা চুরি হওয়া FTP অ্যাকাউন্ট থাকে তবে wp-includes নিয়ম একা যথেষ্ট নয়। নিরাপত্তা হল হোস্টিং অবকাঠামো, অ্যাপ্লিকেশন, ব্যবহারকারী ব্যবস্থাপনা এবং নিয়মিত রক্ষণাবেক্ষণের সংমিশ্রণ। নিরাপদ ভিত্তির জন্য নিরাপদ ওয়েব হোস্টিং এবং ডোমেন ব্যবস্থাপনায় অতিরিক্ত সুরক্ষার জন্য ডোমেইন নিরাপত্তা বিষয়বস্তুতে লিঙ্ক করা যেতে পারে।
wp-includes বন্ধ করার সময় সবচেয়ে সাধারণ ভুলগুলো
ফোল্ডারের পুরোটা বন্ধ করা
সর্বাধিক সাধারণ ভুল হল wp-includes ফোল্ডারে আসা সমস্ত HTTP অনুরোধগুলো 403 দিয়ে বন্ধ করা। এই পদ্ধতি প্রথম দেখে যুক্তিসঙ্গত মনে হতে পারে; তবে ওয়ার্ডপ্রেস কিছু স্থিতিশীল সম্পদ এই ডিরেক্টরি থেকে লোড করে তাই অপ্রত্যাশিত সমস্যার সৃষ্টি করতে পারে। উদাহরণস্বরূপ ব্লক এডিটর খোলা নাও হতে পারে, কিছু JavaScript ফাইল লোড নাও হতে পারে অথবা সামনের দিকে ছোট কিন্তু গুরুত্বপূর্ণ ডিজাইন বিঘ্ন দেখা যেতে পারে।
নিয়মটি পরীক্ষা না করেই লাইভে নিয়ে আসা
.htaccess অথবা Nginx কনফিগারেশনে একটি অক্ষরের ভুলও 500 Internal Server Error তৈরি করতে পারে। বিশেষ করে উচ্চ ট্রাফিকের সাইটগুলিতে নিয়মটি সরাসরি লাইভে নিয়ে আসা ঝুঁকিপূর্ণ। আগে ফাইলের ব্যাকআপ নেওয়া, যদি সম্ভব হয় স্টেজিং পরিবেশে পরীক্ষা করা এবং পরে লাইভে নিয়ন্ত্রিতভাবে নিয়ে যাওয়া উচিত। Hostragons অবকাঠামোতে স্টেজিং বা ব্যাকআপ বিকল্পগুলি ব্যবহার করা হলে ওয়েব হোস্টিং ব্যাকআপ একটি প্রাকৃতিক অভ্যন্তরীণ লিঙ্ক হিসেবে যুক্ত করা যেতে পারে।
নিরাপত্তা প্লাগইনের উপর সম্পূর্ণভাবে নির্ভর করা
নিরাপত্তা প্লাগইনগুলি উপকারী; তবে ওয়েব সার্ভার স্তরের নিয়মগুলি আরও আগে কার্যকর হয়। একটি অনুরোধ PHP তে পৌঁছানোর আগে Apache বা Nginx দ্বারা ব্লক করা হলে সম্পদ খরচও কমে। তাই প্লাগইন ব্যবহার করা হলেও মৌলিক সার্ভার নিয়মগুলিকে উপেক্ষা করা উচিত নয়।
প্রয়োগের আগে চেকলিস্ট
wp-includes প্রবেশাধিকার সীমাবদ্ধ করার আগে একটি সংক্ষিপ্ত প্রস্তুতি করা, বন্ধ থাকার ঝুঁকি উল্লেখযোগ্যভাবে কমিয়ে দেয়। নিচের চেকলিস্টটি বিশেষভাবে লাইভ ওয়ার্ডপ্রেস সাইটগুলিতে সুপারিশ করা হয়:
- বর্তমান .htaccess অথবা Nginx কনফিগারেশনের ব্যাকআপ নিন।
- ওয়ার্ডপ্রেস কোর, থিম এবং প্লাগইনগুলি আপডেট করুন।
- আপনার PHP সংস্করণের সমর্থিত এবং নিরাপদ সংস্করণ নিশ্চিত করুন।
- ফাইল অনুমতিগুলি পরীক্ষা করুন: ফোল্ডারগুলি সাধারণত 755, ফাইলগুলি 644 হওয়া উচিত।
- wp-config.php এবং .htaccess এর মতো গুরুত্বপূর্ণ ফাইলগুলির লেখার অনুমতি অপ্রয়োজনীয়ভাবে খোলা রাখবেন না।
- ক্যাশে, CDN অথবা নিরাপত্তা প্লাগিন ব্যবহার করলে পরিবর্তনের পর ক্যাশে পরিষ্কার করার পরিকল্পনা করুন।
- অ্যাডমিন প্যানেল, হোমপেজ, পোস্ট পৃষ্ঠা, যোগাযোগ ফর্ম এবং পেমেন্ট পৃষ্ঠার মতো গুরুত্বপূর্ণ এলাকা পরীক্ষা করার জন্য একটি তালিকা তৈরি করুন।
এই প্রস্তুতিগুলি প্রায় 10-15 মিনিট সময় নেয়; তবে একটি ভুল নিয়মের কারণে ঘণ্টার পর ঘণ্টা ধরে চলে আসা বন্ধ থাকার ঝুঁকি রোধ করে। কর্পোরেট সাইটগুলিতে পরিবর্তনগুলি কম ট্রাফিকের সময়ে করা আরও নিরাপদ।
Apache সার্ভারে .htaccess দিয়ে wp-includes PHP প্রবেশাধিকার বন্ধ করা
Apache ব্যবহারকারী শেয়ার করা হোস্টিংগুলিতে সবচেয়ে সাধারণ পদ্ধতি হল .htaccess ফাইল। ওয়ার্ডপ্রেসের মূল ডিরেক্টরিতে থাকা .htaccess ফাইলে যোগ করা সঠিক নিয়মগুলি wp-includes এর মধ্যে নির্দিষ্ট PHP কলগুলি বন্ধ করতে পারে। কাজ শুরু করার আগে ফাইলের একটি কপি আপনার কম্পিউটারে ডাউনলোড করুন অথবা হোস্টিং প্যানেলের ফাইল ম্যানেজার দিয়ে ব্যাকআপ তৈরি করুন।
প্রস্তাবিত .htaccess নিয়ম
নিচের পদ্ধতি wp-includes এর অধীনে সরাসরি PHP প্রবেশাধিকার বন্ধ করতে এবং স্থিতিশীল ফাইলগুলোর কাজকে রক্ষা করতে মনোনিবেশ করে:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^wp-includes/.*[.]php$ - [F,L]
</IfModule>
এই নিয়মের যুক্তি সহজ: URL wp-includes দিয়ে শুরু হয় এবং .php দিয়ে শেষ হয় তবে অনুরোধ নিষিদ্ধ হয়। এর ফলে wp-includes এর অধীনে PHP ফাইলগুলো ব্রাউজার থেকে আহ্বান করা যাবে না। এর বিপরীতে .js, .css, .png, .svg এর মতো স্থিতিশীল ফাইলগুলোর প্রবেশাধিকার অব্যাহত থাকে। ওয়ার্ডপ্রেসের সামনের প্যানেল এবং প্রশাসনিক প্যানেলের জন্য এটি একটি নিরাপদ ভারসাম্য।
ডিরেক্টরি তালিকা বন্ধ করা
আরেকটি গুরুত্বপূর্ণ সেটিং হল ডিরেক্টরি তালিকা বন্ধ করা। যদি সার্ভারে ডিরেক্টরি তালিকা খোলা থাকে তবে ব্যবহারকারীরা কিছু ফোল্ডারের কন্টেন্ট দেখতে পারে। প্রধান .htaccess ফাইলে সাধারণত এই লাইনটি যোগ করা যথেষ্ট:
Options -Indexes
এই লাইনটি, ইনডেক্স ফাইল নেই এমন ফোল্ডারে ফাইলের তালিকার দৃশ্যমানতা বন্ধ করে। আধুনিক হোস্টিংয়ে এটি প্রায়শই ডিফল্টভাবে বন্ধ থাকে; তবে এটি পরীক্ষা করা একটি ভাল নিরাপত্তা অভ্যাস।
পরিবর্তনের পর পরীক্ষা
নিয়মটি যোগ করার পর নিচের পরীক্ষাগুলি করুন:
- siteaddress.com/wp-includes/ ঠিকানাটি খুলুন; ডিরেক্টরি তালিকা দৃশ্যমান হওয়া উচিত নয়।
- wp-includes এর অধীনে পরিচিত একটি PHP ফাইলকে সরাসরি আহ্বান করার চেষ্টা করুন; আপনাকে 403 অথবা 404 পেতে হবে।
- হোমপেজ, ব্লগ পোস্ট এবং প্রশাসনিক প্যানেল পরীক্ষা করুন।
- ব্রাউজারের ডেভেলপার টুলসে কনসোল এবং নেটওয়ার্ক ট্যাবে 404/403 রিসোর্স ত্রুটি আছে কিনা দেখুন।
- আপনি যদি ক্যাশে প্লাগিন বা CDN ব্যবহার করেন তবে ক্যাশে পরিষ্কার করুন।
পরীক্ষাগুলোর সবকিছু সফল হলে নিয়মটি উৎপাদন পরিবেশে নিরাপদে রেখে দেয়া যেতে পারে। 500 ত্রুটি পেলে দ্রুততম সমাধান হল, আপনি যে লাইনগুলো যুক্ত করেছেন সেগুলো অপসারণ করে ব্যাকআপ .htaccess ফাইলটি পুনরুদ্ধার করা।
Nginx সার্ভারে wp-includes PHP প্রবেশাধিকার বন্ধ করা
Nginx ব্যবহারকারী VPS, ডেডিকেটেড অথবা ম্যানেজযোগ্য সার্ভার পরিবেশে .htaccess কাজ করে না। নিয়মটি Nginx সাইট কনফিগারেশন ফাইলে, সাধারণত সার্ভার ব্লকের মধ্যে যুক্ত করতে হয়। এই কাজের জন্য SSH অ্যাক্সেস এবং কনফিগারেশন ফাইলগুলি সম্পাদনা করার অনুমতি প্রয়োজন। নিশ্চিত না হলে হোস্টিং সহায়ক দলের কাছ থেকে সহায়তা নেওয়া নিরাপদ।
প্রস্তাবিত Nginx লোকেশন নিয়ম
মূল নিয়মটি এই যুক্তির সাথে প্রয়োগ করা যেতে পারে:
location ~* ^/wp-includes/.*[.]php$ {
deny all;
}
এই নিয়মটি wp-includes এর অধীনে PHP ফাইলগুলোর জন্য আসা অনুরোধগুলোকে নিষিদ্ধ করে। পরিবর্তনের পর কনফিগারেশন পরীক্ষা করা গুরুত্বপূর্ণ:
nginx -t
পরীক্ষা সফল হলে Nginx পুনরায় লোড করুন:
systemctl reload nginx
এখানে পুনরায় লোড কমান্ডটি, পুনরায় চালানো কমান্ডের তুলনায় আরও নিয়ন্ত্রিত; এটি চলমান সংযোগগুলোকে সম্পূর্ণভাবে কাটিয়ে ছাড়া কনফিগারেশনকে নবায়ন করে। তবুও গুরুত্বপূর্ণ সাইটগুলিতে পরিবর্তনগুলি কম ট্রাফিকের সময়ে করা সুপারিশ করা হয়।
Nginx ব্যবহার করার সময় মনোযোগ দেওয়ার বিষয়গুলো
- নিয়মটি সঠিক সার্ভার ব্লকে যুক্ত করেছেন তা নিশ্চিত করুন; একই সার্ভারে একাধিক সাইট থাকতে পারে।
- CDN অথবা রিভার্স প্রক্সি ব্যবহার করলে প্রকৃত পরীক্ষাগুলি CDN ক্যাশে পরিষ্কার করার পরে করুন।
- PHP-FPM কনফিগারেশনের শুধুমাত্র প্রয়োজনীয় ফাইলগুলো প্রক্রিয়া করছে তা নিশ্চিত করুন।
- লগ ফাইলগুলো পরীক্ষা করুন: access.log এবং error.log ভুল নিয়মটিকে দ্রুত দেখায়।
Nginx পরিবেশে ভুল লোকেশন ক্রম অপ্রত্যাশিত ফলাফল তৈরি করতে পারে। তাই নিয়মটি ওয়ার্ডপ্রেস permalink এবং PHP প্রক্রিয়াকরণ ব্লকগুলির সাথে সংঘর্ষ ঘটছে কিনা তা নিশ্চিত করুন।
পদ্ধতিগুলোর তুলনা
নিচের টেবিলটি wp-includes প্রবেশাধিকার সীমাবদ্ধ করার জন্য ব্যবহৃত প্রধান পদ্ধতিগুলোর সংক্ষিপ্ত বিবরণ দেয়:
| পদ্ধতি | উপযুক্ত পরিবেশ | সুবিধা | মনোযোগ দিতে হবে এমন বিষয় |
|---|---|---|---|
| .htaccess নিয়ম | Apache এবং LiteSpeed হোস্টিং | দ্রুত প্রয়োগ হয়, শেয়ার্ড হোস্টিংগুলিতে প্রবেশযোগ্য | ভুল সিনট্যাক্স 500 ত্রুটি তৈরি করতে পারে |
| Nginx লোকেশন নিয়ম | VPS, ডেডিকেটেড, ম্যানেজেবল সার্ভার | সার্ভার স্তরে শক্তিশালী এবং কার্যকর | SSH এবং কনফিগারেশন জ্ঞান প্রয়োজন |
| নিরাপত্তা প্লাগইন | প্রযুক্তিগত জ্ঞান সীমিত ব্যবহারকারীদের জন্য | ইন্টারফেসের মাধ্যমে সহজেই পরিচালনা করা যায় | প্রত্যেক নিয়ম সার্ভার স্তরে প্রয়োগ নাও হতে পারে |
| WAF এবং CDN | উচ্চ ট্রাফিক বা আক্রমণকারী সাইটগুলির জন্য | বট, ব্রুট ফোর্স এবং মন্দ অনুরোধগুলিকে আগে থেকেই ফিল্টার করে | ভুল নিয়ম প্রকৃত ব্যবহারকারীদের ব্লক করতে পারে |
| ফাইল অনুমতি | সমস্ত ওয়ার্ডপ্রেস সাইট | মৌলিক নিরাপত্তার হাইজিন | একাই URL প্রবেশাধিকার বন্ধ করে না |
প্রায়শই সেরা ফলাফল, এই পদ্ধতিগুলোর সমন্বয়ে পাওয়া যায়। উদাহরণস্বরূপ Apache হোস্টিংয়ে .htaccess নিয়ম, সঠিক ফাইল অনুমতি, আপডেট করা ওয়ার্ডপ্রেস কোর, SSL এবং নিয়মিত ব্যাকআপ একসাথে আসলে স্তরিত একটি প্রতিরক্ষা গঠন করে। হোস্টিং অবকাঠামোতে নিরাপত্তা ফায়ারওয়াল এবং বিচ্ছিন্নকরণও গুরুত্বপূর্ণ তাই কর্পোরেট হোস্টিং নির্বাচনকে গুরুত্বপূর্ণ সাইটগুলিতে প্রভাব ফেলে।
ফাইল অনুমতি এবং মালিকানা সেটিংস
wp-includes প্রবেশাধিকার বন্ধ করা, যদি ফাইল অনুমতি ভুল হয় তবে অসম্পূর্ণ থাকে। ওয়ার্ডপ্রেসে সাধারণভাবে গ্রহণযোগ্য অনুমতি ফোল্ডারের জন্য 755, ফাইলগুলির জন্য 644। এই মানগুলি, ওয়েব সার্ভারের ফাইলগুলি পড়তে অনুমতি দেয় যখন অপ্রয়োজনীয় লেখার অধিকার কমিয়ে দেয়। কিছু বিশেষ হোস্টিং পরিবেশে ভিন্ন ব্যবহারকারী এবং গ্রুপ কনফিগারেশন থাকতে পারে; তাই আপনার প্যানেলের সুপারিশগুলোও বিবেচনা করা উচিত।
বিশেষ করে 777 অনুমতি একটি গুরুতর নিরাপত্তা ঝুঁকি। একটি ফোল্ডারে সকলের লেখার ক্ষমতা থাকা, ক্ষতিকারক ফাইল আপলোডের পরিস্থিতিগুলি সহজ করে। wp-content/uploads এর মতো লেখার জন্য উপযুক্ত থাকা ফোল্ডারেও PHP চালানোর অনুমতি বন্ধ করা উচিত। wp-includes সাধারণ অবস্থায় ওয়ার্ডপ্রেস আপডেট ব্যতীত ব্যবহারকারীর দ্বারা লেখার অধিকারী হওয়া উচিত নয়।
একটি নিরাপত্তা নিরীক্ষায় নিম্নলিখিত মানগুলো পরীক্ষা করা যেতে পারে:
- wp-includes ফোল্ডার: সাধারণত 755
- wp-includes এর মধ্যে PHP ফাইল: সাধারণত 644
- wp-config.php: সম্ভব হলে 600 অথবা হোস্টিং কাঠামোর জন্য আরও কঠোর অনুমতি
- .htaccess: সাধারণত 644, সম্পাদনার পর অপ্রয়োজনীয় লেখার অধিকার ছাড়া
এই সেটিংগুলি প্রতিটি সার্ভারে একই আচরণ নাও করতে পারে। ভুল অনুমতি সাইটের আপডেট করতে না পারা অথবা ফাইলগুলো পড়তে না পারার কারণ হতে পারে। পরিবর্তনের পর ওয়ার্ডপ্রেস স্বাস্থ্য পরীক্ষা এবং ত্রুটি লগ পর্যালোচনা করা উচিত।
নিরাপত্তা প্লাগিনগুলি কি এই প্রক্রিয়া করে?
Wordfence, iThemes Security এর মতো নিরাপত্তা প্লাগিনগুলি কিছু হার্ডেনিং নিয়ম স্বয়ংক্রিয়ভাবে প্রস্তাব করতে পারে। এই প্লাগিনগুলি ব্রুট ফোর্স সুরক্ষা, ফাইল পরিবর্তন পর্যবেক্ষণ, ম্যালওয়্যার স্ক্যানিং এবং লগইন নিরাপত্তার মতো ক্ষেত্রগুলিতে উপকারী। তবে wp-includes প্রবেশাধিকার বন্ধ করার বিষয়ে প্লাগিনটি কি করছে তা অবশ্যই পরীক্ষা করা উচিত।
কিছু প্লাগিন .htaccess ফাইলে স্বয়ংক্রিয় নিয়ম যুক্ত করে। কিছু কেবল অ্যাপ্লিকেশন স্তরের সুরক্ষা প্রদান করে। অ্যাপ্লিকেশন স্তরের সুরক্ষা, অনুরোধটি ওয়ার্ডপ্রেসে পৌঁছানোর পরে কার্যকর হয় তাই সার্ভার স্তরের ব্লক করার মতো তাড়াতাড়ি নয়। তাই পেশাদার পদ্ধতি হল প্লাগিন এবং সার্ভার কনফিগারেশনকে একসাথে মূল্যায়ন করা।
নিরাপত্তা প্লাগিন ব্যবহার করলে নিচের নিয়মগুলো অনুসরণ করুন:
- প্লাগিনটি .htaccess অথবা Nginx নিয়ম যুক্ত করেছে কিনা পরীক্ষা করুন।
- একই কাজ করা দুটি ভিন্ন নিয়মের সংঘর্ষ ঘটছে কিনা নিশ্চিত করুন।
- প্লাগিন আপডেটের পর নিরাপত্তা সেটিংস পরিবর্তিত হয়নি তা নিশ্চিত করুন।
- পারফরম্যান্স প্রভাব পরিমাপ করতে ক্যাশে এবং সার্ভার রিসোর্স ব্যবহার ট্র্যাক করুন।
একসাথে একাধিক নিরাপত্তা প্লাগিন ব্যবহার করা প্রায়শই ভালো ধারণা নয়। সংঘর্ষকারী ফায়ারওয়াল, লগইন এবং রিরাইট নিয়মগুলি কর্মক্ষমতা কমাতে পারে অথবা ভুল ব্লক সৃষ্টি করতে পারে।
wp-includes সুরক্ষা পরীক্ষা: একটি বাস্তব চিত্র
প্রয়োগ সফল হয়েছে কিনা তা বোঝার জন্য সাইটটি খোলা যথেষ্ট নয়। নিচের ৭ ধাপের বাস্তব পরীক্ষা, ছোট ব্যবসার সাইট থেকে ই-কমার্স প্রকল্পগুলিতে, বেশিরভাগ ওয়ার্ডপ্রেস স্থাপনায় প্রয়োগ করা যেতে পারে:
- ১. হোমপেজটি গোপন ট্যাবে খুলুন এবং দৃশ্যমান বিকৃতি আছে কিনা পরীক্ষা করুন।
- ২. একটি ব্লগ পোস্ট, ক্যাটাগরি পৃষ্ঠা এবং সার্চ ফলাফল পৃষ্ঠায় যান।
- ৩. wp-admin প্যানেলে লগইন করুন; ব্লক এডিটর এবং মিডিয়া লাইব্রেরি খুলুন।
- ৪. ব্রাউজারের ডেভেলপার টুলসে কনসোল ট্যাব পরীক্ষা করুন।
- ৫. নেটওয়ার্ক ট্যাবে wp-includes এর অধীনে স্থিতিশীল ফাইলগুলোর অপ্রয়োজনীয়ভাবে ব্লক করা হচ্ছে কিনা নিশ্চিত করুন।
- ৬. wp-includes এর অধীনে সরাসরি PHP ফাইলের আহ্বান করুন; 403 অথবা 404 প্রতিক্রিয়া আশা করুন।
- ৭. সার্ভার ত্রুটি লগে নতুন এবং পুনরাবৃত্ত ত্রুটি আছে কিনা পরীক্ষা করুন।
এই পরীক্ষা প্রায় ৫ মিনিট সময় নেয় এবং ভুল কনফিগারেশনগুলি দ্রুত সনাক্ত করে। বিশেষ করে WooCommerce এর মতো পেমেন্ট প্রক্রিয়াকরণ সহ সাইটগুলিতে কার্ট, পেমেন্ট এবং ব্যবহারকারী অ্যাকাউন্ট পৃষ্ঠাগুলিও আলাদাভাবে পরীক্ষা করা উচিত। লাইভ আয় উৎপন্ন সাইটগুলিতে ছোট একটি JavaScript ব্লকও রূপান্তর হারকে প্রভাবিত করতে পারে।
অতিরিক্ত ওয়ার্ডপ্রেস ফোল্ডার স্ট্রাকচার নিরাপত্তা ব্যবস্থা
wp-includes সুরক্ষা একটি ভাল শুরু; তবে ওয়ার্ডপ্রেস নিরাপত্তা সামগ্রিকভাবে চিন্তা করা উচিত। নিম্নলিখিত অতিরিক্ত ব্যবস্থা আক্রমণের পৃষ্ঠকে আরও কমিয়ে দেয়:
- ওয়ার্ডপ্রেস সংস্করণটি গোপন করার চেষ্টা করার পরিবর্তে কোরটি আপডেট রাখুন।
- অব্যবহৃত থিম এবং প্লাগইন পুরোপুরি মুছে ফেলুন।
- অ্যাডমিন ব্যবহারকারীর নামটিকে অনুমান করা কঠিন করুন।
- দুটি স্তরের প্রমাণীকরণ ব্যবহার করুন।
- XML-RPC ব্যবহার না করলে প্রবেশাধিকার সীমাবদ্ধ করুন।
- wp-login.php এর জন্য হার সীমাবদ্ধ করুন বা অতিরিক্ত প্রমাণীকরণ প্রয়োগ করুন।
- স্বয়ংক্রিয় ব্যাকআপ এবং পুনরুদ্ধার পরীক্ষার পরিকল্পনা করুন।
- সমস্ত সাইটে HTTPS ব্যবহার করুন; SSL ছাড়া লগইন তথ্য ঝুঁকির মধ্যে রয়েছে।
SSL wp-includes প্রবেশাধিকার সরাসরি বন্ধ করে না; তবে ব্যবহারকারীর সেশন, ফর্মের তথ্য এবং প্রশাসনিক প্যানেলের ট্রাফিকের জন্য মৌলিক নিরাপত্তা প্রদান করে। তাই ওয়ার্ডপ্রেস নিরাপত্তা গাইডে SSL সবসময় প্রথম স্তরের মধ্যে একটি। এই ক্ষেত্রে এসএসএল সার্টিফিকেট কিনুন এবং ফ্রি SSL ইনস্টলেশন লিঙ্কগুলি বিষয়বস্তুতে প্রাকৃতিকভাবে স্থাপন করা যেতে পারে।
কখন পেশাদার সহায়তা নেওয়া উচিত?
একটি সাধারণ Apache হোস্টিংয়ে .htaccess নিয়ম যোগ করা বেশিরভাগ ব্যবহারকারীর জন্য পরিচালনাযোগ্য একটি প্রক্রিয়া। তবে বিশেষ Nginx কনফিগারেশন, একাধিক সাইটের নেটওয়ার্ক, WooCommerce স্টোর, উচ্চ ট্রাফিকের নিউজ সাইট বা কর্পোরেট পোর্টাল নিয়ে আলোচনা হলে পেশাদার সহায়তা নেওয়া আরও সঠিক হতে পারে। কারণ নিরাপত্তা নিয়মটি শুধুমাত্র প্রযুক্তিগতভাবে সঠিক নয়, বরং ব্যবসায়িক ধারাবাহিকতার দিক থেকেও নিরাপত্তা নিশ্চিত করতে হবে।
নিচের অবস্থায় বিশেষজ্ঞ সহায়তা নেওয়ার সুপারিশ করা হয়:
- আপনার সার্ভারে একাধিক ওয়ার্ডপ্রেস সাইট হোস্ট করলে।
- Nginx, Varnish, CDN এবং WAF একসাথে ব্যবহার করলে।
- সর্বশেষ পরিবর্তনের পরে 403, 404 অথবা 500 ত্রুটি বাড়লে।
- সাইট আগে ম্যালওয়্যার সংক্রমণের সম্মুখীন হলে।
- পেমেন্ট, সদস্যপদ অথবা ব্যক্তিগত তথ্য প্রক্রিয়া করা একটি সিস্টেম চালালে।
নিরাপদ হোস্টিং অবকাঠামো, সঠিক বিচ্ছিন্নকরণ, নিয়মিত ব্যাকআপ এবং বিশেষজ্ঞ সহায়তা, ওয়ার্ডপ্রেস নিরাপত্তার অদৃশ্য কিন্তু গুরুত্বপূর্ণ অংশ। অবকাঠামো চয়ন করার সময় শুধুমাত্র ডিস্ক স্পেস নয়; ব্যাকআপ, নিরাপত্তা ফায়ারওয়াল, PHP সংস্করণ সমর্থন, SSL ব্যবস্থাপনা এবং প্রযুক্তিগত সহায়তার মানের উপরও নজর দিতে হবে। এই প্রসঙ্গে Hostragons হোস্টিং প্যাকেজসমূহ এবং WordPress সাইট স্থানান্তর বিষয়বস্তু পাঠকের জন্য উপকারী হতে পারে।
সারসংক্ষেপ
ওয়ার্ডপ্রেস ফোল্ডার স্ট্রাকচার নিরাপত্তার আওতায় wp-includes ফোল্ডারে প্রবেশাধিকার বন্ধ করার সঠিক উপায় হল ফোল্ডারটির সম্পূর্ণ প্রবেশাধিকার বন্ধ করা নয়; বরং wp-includes এর মধ্যে PHP ফাইলগুলোতে সরাসরি ওয়েব প্রবেশাধিকার বন্ধ করা এবং ডিরেক্টরি তালিকা নিষ্ক্রিয় করা। Apache এর জন্য .htaccess, Nginx এর জন্য লোকেশন নিয়মগুলো দিয়ে এই প্রক্রিয়া দ্রুত প্রয়োগ করা যায়। তবে প্রতিটি পরিবর্তনের আগে ব্যাকআপ নেওয়া এবং পরে প্রশাসনিক প্যানেল ও সামনের দিকের পরীক্ষাগুলি করা উচিত।
সংক্ষিপ্তভাবে: স্থিতিশীল ফাইলগুলোকে বিঘ্নিত করবেন না, PHP প্রবেশাধিকার সীমাবদ্ধ করুন, ডিরেক্টরি তালিকা বন্ধ করুন, ফাইল অনুমতিগুলি পরীক্ষা করুন এবং নিয়মিত আপডেট করুন। আরও নিরাপদ এবং পরিচালনাযোগ্য ওয়ার্ডপ্রেস অবকাঠামোর জন্য Hostragons এর হোস্টিং, ডোমেইন এবং SSL সমাধানগুলি পরীক্ষা করতে পারেন; আপনার প্রয়োজন অনুযায়ী কনফিগারেশন সম্পর্কে সহায়তা নিতে পারেন।
প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
wp-includes ফোল্ডারটি সম্পূর্ণরূপে বন্ধ করা কি নিরাপদ?
সাধারণভাবে এটি সুপারিশ করা হয় না। wp-includes এর মধ্যে ওয়ার্ডপ্রেসের প্রয়োজনীয় JavaScript, CSS এবং স্থিতিশীল ফাইল থাকতে পারে। সম্পূর্ণ নিষেধাজ্ঞা সাইটের চেহারা অথবা প্রশাসনিক প্যানেল বিঘ্নিত করতে পারে। আরও নিরাপদ পদ্ধতি হল এই ফোল্ডারের PHP ফাইলগুলোর সরাসরি প্রবেশাধিকার বন্ধ করা।
.htaccess নিয়ম যুক্ত করার পরে 500 ত্রুটি পেলে আমি কি করতে পারি?
প্রথমে যুক্ত করা শেষ নিয়মগুলো অপসারণ করুন অথবা ব্যাকআপ .htaccess ফাইলটি পুনরুদ্ধার করুন। তারপর নিয়মটি সিনট্যাক্স ত্রুটির জন্য পরীক্ষা করুন। ত্রুটি চলতে থাকলে হোস্টিং ত্রুটি লগগুলি পর্যালোচনা করুন অথবা প্রযুক্তিগত সহায়তা নিন।
Nginx সার্ভারে .htaccess কাজ করে কি?
না। .htaccess Apache এবং LiteSpeed পরিবেশে ব্যবহৃত হয়। Nginx সার্ভারগুলিতে অনুরূপ সীমাবদ্ধতাগুলি সার্ভার ব্লকের মধ্যে লোকেশন নিয়মের সাথে করা হয় এবং পরিবর্তনের পরে nginx -t দিয়ে কনফিগারেশন পরীক্ষা করতে হবে।
এই প্রক্রিয়া কি আমার ওয়ার্ডপ্রেস সাইটকে সম্পূর্ণ নিরাপদ করে?
না। wp-includes PHP প্রবেশাধিকার বন্ধ করা একটি গুরুত্বপূর্ণ নিরাপত্তা স্তর; তবে একা যথেষ্ট নয়। আপডেট, শক্তিশালী পাসওয়ার্ড, দুটি স্তরের প্রমাণীকরণ, SSL, ব্যাকআপ, নিরাপত্তা ফায়ারওয়াল এবং সঠিক ফাইল অনুমতিগুলি একসাথে প্রয়োগ করতে হবে।
যদি আমি নিরাপত্তা প্লাগিন ব্যবহার করি তবে কি আমি আলাদাভাবে wp-includes নিয়ম যুক্ত করতে হবে?
প্লাগিনটি কী নিয়মগুলি প্রয়োগ করছে তার উপর নির্ভর করে। কিছু প্লাগিন .htaccess নিয়ম যুক্ত করে, কিছু কেবল অ্যাপ্লিকেশন স্তরের সুরক্ষা প্রদান করে। সংঘর্ষ সৃষ্টি না করে সার্ভার স্তরের PHP প্রবেশাধিকার সীমাবদ্ধ করা সাধারণত একটি শক্তিশালী সমাধান।