ডাব্লুপি-কনফিগারেশনে FS_METHOD কে "সরাসরি" সেট করার সময় আমার কী সুরক্ষা উদ্বেগ থাকা উচিত?


36

আমার সম্প্রতি একটি সমস্যা হয়েছে যেখানে আমি ডাব্লুপি স্মাশ প্রো প্লাগইন ইনস্টল করতে অক্ষম হয়েছি কারণ আমার কাছে ম্যানুয়াল ইনস্টল বা ওয়ান-ক্লিক ইনস্টলেশন বিকল্প নেই।

আমি এই পোস্টটি জুড়ে এসেছি যা সেটিংগুলিতে টুইটগুলি করার পরামর্শ দিয়েছে wp-config.php। আমি প্রস্তাবিত সেটিংস যুক্ত করেছি, তবে যেটিকে সবচেয়ে গুরুত্বপূর্ণ বলে মনে হচ্ছে তা হ'ল:

define('FS_METHOD', 'direct');

আমি কি জানতে চাই কি বাস্তব উদ্বেগ আমি কাছাকাছি সেটিং উচিত FS_METHODকাছে direct? প্লাগইন ইনস্টল করার জন্য অন্য কোনও বিকল্প আছে কি?

অফিসিয়াল ডকুমেন্টেশনে এই কথাটি বলা আছে:

FS_METHOD ফাইল সিস্টেমের পদ্ধতিটিকে জোর করে। এটি কেবল "সরাসরি", "ssh2", "ftpext", বা "ftpsocket" হওয়া উচিত। সাধারণত, আপনি যদি আপডেটের সমস্যার মুখোমুখি হন তবে আপনার কেবল এটি পরিবর্তন করা উচিত। আপনি যদি এটিকে পরিবর্তন করেন এবং এটি কোনও উপকার না করে, এটি পরিবর্তন করুন / এটিকে সরিয়ে দিন। বেশিরভাগ পরিস্থিতিতে, স্বয়ংক্রিয়ভাবে নির্বাচিত পদ্ধতিটি যদি এটি না করে তবে এটি 'ftpsocket' এ সেট করার কাজ করবে।

(প্রাথমিক পছন্দ) "প্রত্যক্ষ" পিএইচপি-র মধ্যে থেকে সরাসরি ফাইল আই / ও অনুরোধগুলি ব্যবহার করতে বাধ্য করে, এটি দুর্বলভাবে কনফিগার করা হোস্টগুলিতে সুরক্ষা সমস্যা খোলার সাথে পরিপূর্ণ, উপযুক্ত হলে এটি স্বয়ংক্রিয়ভাবে চয়ন করা হয়।

উত্তর:


33

এটি ঠিক, আমি কীভাবে ওয়ার্ডপ্রেস ফাইল এপিআইয়ের ধারণাটি বুঝতে পেরেছি । যদি এটি ভুল হয় তবে দয়া করে ডাউন ডাউন করুন :)

ঠিক আছে. আপনি যদি কোনও ফাইল আপলোড করেন তবে এই ফাইলটির একটি মালিক রয়েছে। যদি আপনি এফটিপি দিয়ে আপনার ফাইল আপলোড করেন তবে আপনি লগইন করুন এবং ফাইলটি এফটিপি ব্যবহারকারীর মালিকানাধীন হবে। আপনার কাছে শংসাপত্রগুলি হওয়ায় আপনি এই ফাইলগুলি এফটিপি এর মাধ্যমে পরিবর্তন করতে পারবেন। মালিক সাধারণত ফাইল কার্যকর করতে, মুছতে, পরিবর্তন করতে পারেন। অবশ্যই, আপনি ফাইলের অনুমতিগুলি পরিবর্তন করে এটি পরিবর্তন করতে পারেন ।

আপনি যদি পিএইচপি ব্যবহার করে কোনও ফাইল আপলোড করেন তবে লিনাক্স ব্যবহারকারী, যা পিএইচপি এক্সিকিউট করছে ফাইলটির মালিক। এই ব্যবহারকারী এখন ফাইল সম্পাদনা করতে, মুছতে, চালাতে পারবেন। আপনার সিস্টেমে পিএইচপি এক্সিকিউট করা কেবলমাত্র আপনিই ব্যবহারকারী হিসাবে এটি ঠিক আছে।

ধরে নেওয়া যাক, আপনি একটি "দুর্বল" কনফিগার করা শেয়ার্ড হোস্টে আছেন। এই সিস্টেমে প্রচুর লোক তাদের পিএইচপি ওয়েবসাইট চালায়। বলুন যে কেবলমাত্র একটি লিনাক্স ব্যবহারকারী এই সমস্ত লোকের জন্য পিএইচপি চালাচ্ছেন। এই ভাগ করা হোস্টের একজন ওয়েবমাস্টারের খারাপ উদ্দেশ্য রয়েছে। তিনি আপনার পৃষ্ঠাটি দেখেন এবং তিনি আপনার ওয়ার্ডপ্রেস ইনস্টলেশনটির পথটি বের করেন। উদাহরণস্বরূপ, WP_DEBUG সত্যতে সেট করা আছে এবং এর মতো একটি ত্রুটি বার্তা রয়েছে

[warning] /var/www/vhosts/userxyz/wp-content/plugins/bad-plugin/doesnt-execute-correctly.php on line 1

"হা!" খারাপ ছেলে বলে। দেখতে দিন, এই লোকটি যদি সেট FS_METHODকরে থাকে directএবং সে এর মতো একটি স্ক্রিপ্ট লেখেন

<?php
unlink( '/var/www/vhosts/userxyz/wp-content/plugins/bad-plugin/doesnt-execute-correctly.php' );
?>

যেহেতু কেবলমাত্র একজন ব্যবহারকারী পিএইচপি চালাচ্ছেন এবং এই ব্যবহারকারীটি খারাপ ছেলের দ্বারাও ব্যবহৃত হয় আপনি যদি সেগুলি পিএইচপি-র মাধ্যমে আপলোড করে থাকেন এবং এই পিএইচপি ব্যবহারকারীকে মালিক হিসাবে যুক্ত করে থাকেন তবে তিনি আপনার সিস্টেমে ফাইলগুলি পরিবর্তন / মোছা / সম্পাদন করতে পারবেন।

আপনার সাইট হ্যাক হয়েছে।

বা, যেমন কোডেক্সে বলা হয়েছে:

অনেক হোস্টিং সিস্টেমে ওয়ার্ডপ্রেস ফাইলগুলির মালিকের চেয়ে আলাদা ব্যবহারকারী হিসাবে চলমান ওয়েবসার্ভার রয়েছে। যখন এটি হয়, ওয়েবসভার ব্যবহারকারী থেকে ফাইলগুলি লেখার একটি প্রক্রিয়াতে প্রকৃত ব্যবহারকারীর অ্যাকাউন্টের পরিবর্তে ওয়েবসভারের ব্যবহারকারী অ্যাকাউন্টের মালিকানাধীন ফাইলগুলি থাকবে। এটি ভাগ করে নেওয়া হোস্টিং পরিস্থিতিতে সুরক্ষার সমস্যার কারণ হতে পারে, যেখানে একাধিক ব্যবহারকারী বিভিন্ন সাইটের জন্য একই ওয়েবসারভার ভাগ করে নিচ্ছেন।


15

ঝুঁকিটা কি?

দুর্বলভাবে কনফিগার করা ভাগ করা হোস্টে, প্রতিটি গ্রাহকের পিএইচপি একই ব্যবহারকারী হিসাবে চালিত হবে (আসুন apacheআলোচনার জন্য বলি )। এই সেটআপটি আশ্চর্যজনকভাবে সাধারণ।

আপনি যদি এই জাতীয় হোস্টে থাকেন এবং সরাসরি ফাইল অ্যাক্সেস ব্যবহার করে প্লাগইন ইনস্টল করতে ওয়ার্ডপ্রেস ব্যবহার করেন তবে আপনার সমস্ত প্লাগইন ফাইল এতে অন্তর্ভুক্ত থাকবে apache। একই সার্ভারে কোনও বৈধ ব্যবহারকারী আপনার পিএলপি স্ক্রিপ্ট লিখে আপনার আক্রমণ করতে সক্ষম হবেন যা আপনার প্লাগইন ফাইলগুলিতে অশুভ কোডটি ইনজেক্ট করে। তারা তাদের স্ক্রিপ্টটি তাদের নিজস্ব ওয়েবসাইটে আপলোড করে এবং এর URL টির জন্য অনুরোধ করে। আপনার কোডটি সাফল্যের সাথে আপোস করা হয়েছে কারণ তাদের স্ক্রিপ্টটি apacheআপনার প্লাগইন ফাইলগুলির মালিকানাধীন হিসাবে চলে ।

এর সাথে কী FS_METHOD 'direct'করার আছে?

যখন ওয়ার্ডপ্রেস ফাইল ইনস্টল করতে হয় (যেমন একটি প্লাগইন) এটি ফাইল-সিস্টেম অ্যাক্সেস কীভাবে তা নির্ধারণ করার জন্য get_filesystem_method () ফাংশন ব্যবহার করে। আপনি যদি সংজ্ঞা না দেন তবে FS_METHODএটি আপনার জন্য একটি ডিফল্ট চয়ন করবে, অন্যথায় এটি আপনার নির্বাচন যতক্ষণ তা বোধগম্য হবে ততক্ষণ ব্যবহার করবে।

ডিফল্ট আচরণটি আমি উপরে বর্ণিত মতো আপনার ঝুঁকিপূর্ণ পরিবেশে রয়েছেন কিনা তা সনাক্ত করার চেষ্টা করবে এবং যদি আপনি এটি নিরাপদ মনে করেন তবে এটি 'direct'পদ্ধতিটি ব্যবহার করবে । এক্ষেত্রে ওয়ার্ডপ্রেস সরাসরি পিএইচপি এর মাধ্যমে ফাইলগুলি তৈরি করবে, যার ফলে তাদের apacheব্যবহারকারীর অন্তর্ভুক্ত হবে (উদাহরণস্বরূপ)। অন্যথায় এটি কোনও নিরাপদ পদ্ধতিতে ফিরে আসবে, যেমন আপনাকে এসএফটিপি শংসাপত্রগুলির জন্য অনুরোধ করা এবং আপনার মতো ফাইলগুলি তৈরি করা।

FS_METHOD = 'direct'ওয়ার্ডপ্রেসকে ঝুঁকিপূর্ণ সনাক্তকরণকে বাইপাস করতে এবং পদ্ধতিটি ব্যবহার করে সর্বদা ফাইল তৈরি করতে বলে 'direct'

তাহলে কেন ব্যবহার করবেন FS_METHOD = 'direct'?

দুর্ভাগ্যক্রমে, ঝুঁকিপূর্ণ পরিবেশ সনাক্ত করার জন্য ওয়ার্ডপ্রেসের যুক্তি ত্রুটিযুক্ত এবং মিথ্যা-ধনাত্মক এবং মিথ্যা-নেতিবাচক উভয়ই উত্পাদন করে। উপস। পরীক্ষার মধ্যে একটি ফাইল তৈরি করা এবং এটি যে ডিরেক্টরিতে থাকে সেটির মালিকের মালিকানাধীন তা নিশ্চিত করা জড়িত um ধারণাটি হ'ল ব্যবহারকারীরা যদি একই হয় তবে পিএইচপি আপনার নিজের অ্যাকাউন্ট হিসাবে চলছে এবং সেই অ্যাকাউন্ট হিসাবে প্লাগইন ইনস্টল করা নিরাপদ। যদি তারা আলাদা হয় তবে ওয়ার্ডপ্রেস ধরে নিয়েছে যে পিএইচপি একটি ভাগ করা অ্যাকাউন্ট হিসাবে চলছে এবং সেই অ্যাকাউন্ট হিসাবে প্লাগইন ইনস্টল করা নিরাপদ নয়। দুর্ভাগ্যক্রমে এই উভয় অনুমান শিক্ষিত অনুমান যা প্রায়শই ভুল হবে।

আপনি define('FS_METHOD', 'direct' );এটির মতো কোনও মিথ্যা ইতিবাচক দৃশ্যে ব্যবহার করবেন : আপনি এমন একটি বিশ্বস্ত দলের অংশ যাঁর সদস্যরা সকলেই নিজের অ্যাকাউন্টের মাধ্যমে ফাইল আপলোড করেন। পিএইচপি তার নিজস্ব পৃথক ব্যবহারকারী হিসাবে চালায়। ওয়ার্ডপ্রেস ধরে নেবে যে এটি একটি ঝুঁকিপূর্ণ পরিবেশ এবং এটি 'direct'মোডে ডিফল্ট হবে না । বাস্তবে এটি কেবলমাত্র আপনার বিশ্বাসীদের সাথে ভাগ করা হয়েছে এবং যেমন 'direct'মোড নিরাপদ। এই ক্ষেত্রে আপনার define('FS_METHOD', 'direct' );সরাসরি ওয়ার্ডপ্রেস লিখতে বাধ্য করা উচিত ।


1

একটি 'সু-কনফিগার করা' পরিস্থিতি রয়েছে যেখানে 'ডাইরেক্ট' সমস্যাগুলির দিকে নিয়ে যায়।

ফাইল / ডিরেক্টরি মালিকানার ব্যবহারকারীদের চেয়ে পৃথক-ভাগ না হওয়া পিএইচপি এক্সিকিউশন ব্যবহারকারীদের সাথে ভাগ করা ডাব্লুপি হোস্টিং কনফিগার করাও সম্ভব। সুতরাং আপনি ব্যবহারকারীর মালিকানাধীন ফাইলগুলি শেষ করবেন এবং পিএইচপি কোড পিএইচপি-ব্যবহারকারী 1 হিসাবে কার্যকর করা হবে।

এই পরিস্থিতিতে, হ্যাক হওয়া প্লাগইনস বা কোর কোড (ক) অন্যান্য ব্যবহারকারীর ডিরেক্টরিতে (বা অনুমতি ছাড়ার উপর নির্ভর করে পড়তে পারে) লিখতে পারে না; (খ) এই ব্যবহারকারীর ফাইলগুলি লিখতে পারে না এবং তাই কোর বা প্লাগইন কোডে ট্রোজান কোড যুক্ত করতে পারে না।

সুতরাং যদি হোস্টিং এর মতো সেট আপ করা থাকে তবে আপনাকে আপডেটের জন্য এফটিপি ব্যবহার করা উচিত এবং 'ডাইরেক্ট' কাজ করবে না।

আপনি যদি ডাব্লুপি-কনফিগারেশন। ডায়রেক্টে 'ডিরেক্ট' সেট করেন এবং পিএইচপি এক্সিকিউশন ব্যবহারকারীর লেখার অনুমতি না থাকে, আপনি আপডেট ব্যর্থ বার্তাগুলি পাবেন এবং এফটিপি শংসাপত্রের জন্য কোনও পপ-আপ না পেয়ে থাকবেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.