সংক্ষিপ্ত উত্তর: হ্যাঁ
এই প্রশ্নের উত্তর একটি দ্ব্যর্থহীন হ্যাঁ , এবং অন্যথায় বলা সম্পূর্ণভাবে দায়িত্বজ্ঞানহীন ।
দীর্ঘ উত্তর: একটি বাস্তব-বিশ্বের উদাহরণ
আমার একেবারে সত্যিকারের সার্ভার থেকে আমাকে একটি বাস্তব উদাহরণ দেওয়ার অনুমতি দিন, যেখানে wp-config.phpওয়েবের মূলের বাইরে চলে যাওয়া নির্দিষ্টভাবে এর সামগ্রীগুলি ক্যাপচারে আটকানো থেকে রোধ করে ।
পোকাটি:
প্লেস্কে বাগের এই বিবরণটি একবার দেখুন (11.0.9 MU # 27 এ স্থির করা হয়েছে):
প্ল্যাস্ক হোস্টিং প্ল্যান (117199) এর সাথে সাবস্ক্রিপশন সিঙ্ক করার পরে সাবডোমেন ফরোয়ার্ডিং পুনরায় সেট করে
নির্দোষ মনে হচ্ছে, তাই না?
আচ্ছা, এই বাগটিটি ট্রিগার করতে আমি কী করেছি:
- অন্য একটি URL এ পুনর্নির্দেশ করতে (যেমন কোন সাবডোমেন সেট আপ করুন
site.staging.server.comথেকে site-staging.ssl.server.com)।
- সাবস্ক্রিপশনের পরিষেবা পরিকল্পনা (যেমন পিএইচপি কনফিগারেশন) পরিবর্তন করেছে।
যখন আমি এটি করেছি, প্লেস্ক সাবডোমেনটিকে ডিফল্টগুলিতে পুনরায় সেট করুন: ~/httpdocs/কোনও দোভাষী (যেমন পিএইচপি) সক্রিয় না করে এর সামগ্রীগুলি সরবরাহ করে ।
আর আমি খেয়াল করিনি। সপ্তাহের জন্য.
ফলাফল:
- সঙ্গে
wp-config.phpওয়েব রুট, একটি অনুরোধ /wp-config.phpওয়ার্ডপ্রেস কনফিগারেশন ফাইল ডাউনলোড হবে।
wp-config.phpওয়েবের মূলের বাইরের সাথে , /wp-config.phpএকটি সম্পূর্ণরূপে ক্ষতিহীন ফাইল ডাউনলোড করার জন্য একটি অনুরোধ । আসল wp-config.phpফাইলটি ডাউনলোড করা যায়নি।
সুতরাং, এটি স্পষ্টত যে wp-config.phpওয়েব রুটের বাইরে চলে আসার ফলে সত্যিকারের বিশ্বে সুরক্ষা সুবিধা রয়েছে ।
wp-config.phpআপনার সার্ভারের যে কোনও স্থানে কীভাবে স্থানান্তরিত করবেন
ওয়ার্ডপ্রেসটি স্বয়ংক্রিয়ভাবে আপনার wp-config.phpফাইলের জন্য আপনার ওয়ার্ডপ্রেস ইনস্টলেশনের উপরে একটি ডিরেক্টরি দেখবে , তাই যদি আপনি এটি সরিয়ে নিয়ে যান তবে আপনি হয়ে গেছেন!
তবে আপনি যদি এটি অন্য কোথাও সরিয়ে নিয়েছেন? সহজ। wp-config.phpনিম্নলিখিত কোড সহ ওয়ার্ডপ্রেস ডিরেক্টরিতে একটি নতুন তৈরি করুন :
<?php
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/** Location of your WordPress configuration. */
require_once(ABSPATH . '../phpdocs/wp-config.php');
(উপরের পাথটি আপনার স্থানান্তরিত wp-config.phpফাইলের আসল পথে পরিবর্তন করতে ভুলবেন না ))
আপনি যদি কোনও সমস্যার মধ্যে পড়ে থাকেন তবে আপনার পিএইচপি কনফিগারেশনের নির্দেশকে open_basedirনতুন পথ যুক্ত করুন open_basedir:
open_basedir = "/var/www/vhosts/example.com/httpdocs/;/var/www/vhosts/example.com/phpdocs/;/tmp/"
এটাই!
বিপরীতে যুক্তি বাছাই করা
wp-config.phpওয়েবের মূলের বাইরে চলে যাওয়ার বিরুদ্ধে প্রতিটি যুক্তি মিথ্যা অনুমানের উপর জড়িত।
তর্ক 1: পিএইচপি যদি অক্ষম থাকে তবে তারা ইতিমধ্যে প্রবেশ করে
কেউ যদি কেবলমাত্র [ wp-config.php]] এর বিষয়বস্তুগুলি দেখার জন্য যাচ্ছেন তারা হ'ল যদি তারা আপনার সার্ভারগুলিকে পিএইচপি ইন্টারপ্রেটারকে বিঘ্নিত করে ... যদি তা ঘটে থাকে তবে আপনি ইতিমধ্যে সমস্যায় পড়েছেন: তাদের আপনার সার্ভারে সরাসরি অ্যাক্সেস রয়েছে।
মিথ্যা : আমি উপরে যে দৃশ্যের বর্ণনা দিয়েছি তা হ'ল অনুপ্রবেশ নয়, একটি ভুল কনফিগারেশনের ফলাফল।
তর্ক 2: দুর্ঘটনাক্রমে পিএইচপি অক্ষম করা বিরল, এবং তাই তুচ্ছ
যদি কোনও আক্রমণকারীর পিএইচপি হ্যান্ডলারটি পরিবর্তন করার পর্যাপ্ত অ্যাক্সেস থাকে তবে আপনি ইতিমধ্যে খারাপ হয়ে গেছেন। দুর্ঘটনাজনিত পরিবর্তনগুলি আমার অভিজ্ঞতায় খুব বিরল, এবং সেক্ষেত্রে পাসওয়ার্ডটি পরিবর্তন করা সহজ হবে।
মিথ্যা : উপরে বর্ণিত দৃশ্যটি হ'ল সার্ভার সফ্টওয়্যারটির একটি সাধারণ অংশে থাকা বাগের ফলস্বরূপ, একটি সাধারণ সার্ভার কনফিগারেশনকে প্রভাবিত করে। এটি খুব কমই "বিরল" (এবং এর বাইরে সুরক্ষা মানে বিরল দৃশ্যের জন্য উদ্বেগজনক)।
ডাব্লুটিএফ : অনুপ্রবেশের সময় সংবেদনশীল তথ্য যদি নেওয়া হয় তবে অনুপ্রবেশের পরে পাসওয়ার্ড পরিবর্তন করা খুব কমই সহায়তা করে। সত্যই, আমরা কি এখনও মনে করি যে ওয়ার্ডপ্রেসটি কেবল নৈমিত্তিক ব্লগিংয়ের জন্য ব্যবহৃত হয় এবং আক্রমণকারীরা কেবল পঙ্গুত্ব করতে আগ্রহী? আসুন আমাদের সার্ভারটি রক্ষা করার বিষয়ে চিন্তা করুন, কেউ প্রবেশ করার পরে এটি পুনরুদ্ধার করবেন না।
তর্ক 3: অ্যাক্সেস অস্বীকার wp-config.phpযথেষ্ট ভাল
আপনি আপনার ভার্চুয়াল হোস্ট কনফিগারেশনের মাধ্যমে ফাইলটিতে অ্যাক্সেসকে সীমাবদ্ধ করতে পারেন .htaccess- বা
ডকুমেন্টের মূলের বাইরে যেমন চলতে পারে তেমন কার্যকরভাবে ফাইলের বাইরের অ্যাক্সেসকে সীমাবদ্ধ করতে পারেন।
মিথ্যা : একটি ভার্চুয়াল হোস্টের জন্য আপনার সার্ভারের ডিফল্টগুলি কল্পনা করুন: কোনও পিএইচপি, না .htaccess, allow from all(কোনও উত্পাদন পরিবেশে খুব কমই অস্বাভাবিক)। আপনার কনফিগারেশনটি যদি কোনও রুটিন অপারেশনের সময় কোনওভাবে পুনরায় সেট করা হয় - যেমন, বলুন, প্যানেল আপডেট করুন - সমস্ত কিছু তার ডিফল্ট অবস্থায় ফিরে আসবে এবং আপনি উন্মুক্ত হয়ে যাবেন।
দুর্ঘটনাক্রমে ডিফল্টগুলিতে সেটিংস পুনরায় সেট করার সময় যদি আপনার সুরক্ষা মডেল ব্যর্থ হয় তবে আপনার আরও সুরক্ষা প্রয়োজন।
ডাব্লুটিএফ : কেন কেউ বিশেষভাবে নিরাপত্তার কম স্তরগুলির সুপারিশ করবে? ব্যয়বহুল গাড়িগুলির কেবল তালা নেই; তাদের কাছে অ্যালার্ম, স্থাবর ও জিপিএস ট্র্যাকারও রয়েছে। যদি কোনও কিছুর সুরক্ষার উপযুক্ত হয় তবে এটি ঠিক করুন।
যুক্তি 4: অননুমোদিত অ্যাক্সেস wp-config.phpকোনও বড় বিষয় নয়
ডাটাবেস তথ্য হ'ল [ wp-config.php] এর মধ্যে একমাত্র সংবেদনশীল জিনিস ।
মিথ্যা : প্রমাণীকরণ কী এবং সল্টগুলি যে কোনও সংখ্যক সম্ভাব্য হাইজ্যাকিং আক্রমণে ব্যবহার করা যেতে পারে।
ডাব্লুটিএফ : এমনকি যদি ডাটাবেস শংসাপত্রগুলির মধ্যে কেবলমাত্র এক জিনিসই ছিল wp-config.php, তবে কোনও আক্রমণকারী তাদের হাত পেতে ভীত হওয়া উচিত ।
তর্ক 5: wp-config.phpওয়েব মূলের বাইরে সরানো আসলে একটি সার্ভারকে কম সুরক্ষিত করে
আপনাকে এখনও ওয়ার্ডপ্রেস অ্যাক্সেস করতে হবে [ wp-config.php], সুতরাং আপনাকে open_basedirডকুমেন্টের মূলের উপরে ডিরেক্টরি অন্তর্ভুক্ত করতে প্রসারিত করতে হবে।
মিথ্যা : ধরে নেওয়া যাক wp-config.phpরয়েছে httpdocs/, শুধু এটিকে সরান ../phpdocs/, এবং সেট open_basedirশুধুমাত্র অন্তর্ভুক্ত করা httpdocs/এবং phpdocs/। এই ক্ষেত্রে:
open_basedir = "/var/www/vhosts/example.com/httpdocs/;/var/www/vhosts/example.com/phpdocs/;/tmp/"
( /tmp/আপনার tmp/যদি থাকে তবে সর্বদা বা আপনার ব্যবহারকারীর ডিরেক্টরি অন্তর্ভুক্ত রাখতে ভুলবেন না ))
উপসংহার: কনফিগারেশন ফাইল সবসময় সবসময় উচিত সবসময় ওয়েব রুট বাইরে অবস্থিত করা
আপনি যদি সুরক্ষা সম্পর্কে চিন্তা করেন তবে আপনি wp-config.phpআপনার ওয়েবের মূলের বাইরে চলে যাবেন ।