কেন / var / www এর chmod 777 থাকা উচিত নয়


67

যখন একটি স্থানীয় হোস্ট একটি পৃষ্ঠায় উন্নয়নশীল, আমি কখনও কখনও একটি ত্রুটি যা আমি চালিয়ে সমাধান করতে পারেন "অনুমতি অস্বীকৃত" পেতে chmod -R 777 /var/www। তবে লোকেরা আমাকে বলছে যে এটি সুরক্ষার কারণে খারাপ ধারণা।

/var/www777 এর chmod কেন হবে না ?


আমি এই থ্রেডটি @ সার্ভারফল্ট ডট কমের মাধ্যমে সুপারিশ করতে চাই এটি অ্যাপাচি 2 এবং অনুমতিগুলির জন্য একটি উদাহরণ সেটআপ দেওয়ার দুর্দান্ত কাজ করে। serverfault.com/q/6895/57036 PS আমি মন্তব্য করতে পারছি না, সুতরাং আমাকে এটি উত্তর হিসাবে যুক্ত করতে হবে।
মাইস্ট্যাক্যাক্স

উত্তর:


80

77 হ'ল একটি সাধারণ অনুমতি এবং আমি আপনাকে তা কেন দেখাব।

এটি ক্যাসিনো বা লাস ভেগাসে কেমন লাগছে তা সত্ত্বেও, 777 এর অর্থ আপনার জন্য জ্যাকপট নয়। বরং যে কেউ আপনার ফাইলগুলি সংশোধন করতে চায় তার জন্য জ্যাকপট। 7 777 (এবং এর কুৎসিত কাজিন 66 )6) পড়ার এবং লেখার অনুমতিগুলি (এবং 7 77 77 এর ক্ষেত্রে কার্যকর করুন) অন্যকে অনুমতি দেয়ফাইল অনুমতি কীভাবে কাজ করে সে সম্পর্কে আপনি আরও শিখতে পারেন তবে সংক্ষেপে তিনটি অনুমতিের গ্রুপ রয়েছে: মালিক, গোষ্ঠী এবং অন্যান্য । 6 বা 7 ( rw-বা rwx) অন্যের জন্য অনুমতি সেট করে আপনি যে কোনও ব্যবহারকারীকে সেই ফাইলগুলি এবং ফোল্ডারগুলি সম্পাদনা করতে এবং পরিচালনা করতে সক্ষম হন ability সাধারণত, আপনি কল্পনা করতে পারেন, এটি সুরক্ষার পক্ষে খারাপ।

এখানে আমার উদাহরণ:

marco@desktop:~/Projects/AskUbuntu/20105$ cd ..
marco@desktop:~/Projects/AskUbuntu$ chmod 0777 20105
marco@desktop:~/Projects/AskUbuntu$ cd 20105/
marco@desktop:~/Projects/AskUbuntu/20105$ ls -lah
total 8.0K
drwxrwxrwx 2 marco marco 4.0K 2011-01-04 20:32 .
drwxr-xr-x 3 marco marco 4.0K 2011-01-04 20:32 ..
marco@desktop:~/Projects/AskUbuntu/20105$ touch test
marco@desktop:~/Projects/AskUbuntu/20105$ chmod 0666 test 

এখন পর্যন্ত আমি একটি ফোল্ডার তৈরি করেছি এবং "খারাপ" অনুমতিগুলি (777 এবং 666) দিয়ে একটি ফাইল তৈরি করেছি। এখন আমি অন্য ব্যবহারকারীর মধ্যে স্যুইচ করব এবং সেই ফাইলগুলি চালিত করার চেষ্টা করব।

marco@desktop:~/Projects/AskUbuntu/20105$ sudo su - malicious
malicious@desktop:~$ cd /home/marco/Projects/AskUbuntu/20105
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ ls
test
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ ls -lah
total 8.0K
drwxrwxrwx 2 marco marco 4.0K 2011-01-04 20:33 .
drwxr-xr-x 3 marco marco 4.0K 2011-01-04 20:32 ..
-rw-rw-rw- 1 marco marco    0 2011-01-04 20:33 test
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ touch bad
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ echo "OVERWRITE" > test 
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ cat test 
OVERWRITE

এই "দূষিত" ব্যবহারকারী হিসাবে আমি ডিরেক্টরিতে ফাইল স্থাপন করতে এবং ইতিমধ্যে বিদ্যমান ফাইলগুলিতে পাঠ্য ইনজেক্ট করতে সক্ষম হয়েছি। যেখানে নীচে, 755 এবং 644 ফাইল সহ একটি ডিরেক্টরিতে, আমি ফাইল এবং ডিরেক্টরিগুলির ভিতরে দেখতে সক্ষম হয়েছি তবে আমি ফাইলগুলি সম্পাদনা করতে পারি না এবং নতুন তৈরি করতে পারি না:

malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ cd /home/marco/Projects
malicious@desktop:/home/marco/Projects$ touch hey
touch: cannot touch `hey': Permission denied

অ্যাপাচি অনুমতিগুলির জন্য, আপনি umask 022যথাক্রমে ফোল্ডার এবং ফাইলগুলির জন্য 0755 এবং 0644 (একেএ ) এ আটকে থাকতে চান । এটি আপনাকে, ফাইলগুলির মালিক হিসাবে, অ্যাপাচিকে চালনার জন্য প্রয়োজনীয় সর্বনিম্ন স্তরের অ্যাক্সেস দেওয়ার সময় এগুলি সম্পাদনা করতে এবং তা হেরফের করতে দেয়।


13
আমি ভাষার জন্য দুঃখিত তবে এটি একটি কিক-অ্যাসের উত্তর। আপনাকে ধন্যবাদ মার্কো
লুইস আলভারাডো

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

1
@ আরকোএম আপনি কখনই খুব বেশি যত্নবান হতে পারবেন না। যদি আপনি চান লোকেরা একই ফাইল অ্যাক্সেস করতে পারে তবে আপনি গ্রুপের অনুমতিগুলি 6/7 (0664/0775) এ গুছিয়ে নিতে পারেন এবং প্রতিটি ব্যবহারকারীকে সেই গোষ্ঠীতে যুক্ত করতে পারেন। যদিও এই সেটআপটি (এবং আমি আমার উত্তরে বর্ণিত একটি) প্রতিটি মানদণ্ড পূরণ না করে আমি বলব 0755/0644 সময়ের 90% সময় আপনি যে অনুমতিগুলি ব্যবহার করতে চান তা হ'ল। আপনি শুধুমাত্র "এক ব্যবহারকারী" সিস্টেম থাকে, তাহলে ঝুঁকি আছে অন্যান্য লেখার অনুমতিসহ নয় যেমন অনেকটা ঝুঁকি।
মার্কো সেপ্পি

4
@ ইরকোমে বিবেচনা করার মতো অন্যান্য বিষয়টি হ'ল এমন অনেক "ব্যবহারকারী" আছেন যারা প্রকৃত লোকের প্রতিনিধিত্ব করেন না কিন্তু উপস্থিত থাকেন যাতে নির্দিষ্ট পরিষেবাগুলি হ্রাস ক্ষমতা সহ চালানো যায় (মূলত সুরক্ষার কারণে, তবে যে ক্ষয়ক্ষতি ঘটে তা হ্রাস করতে পারে) স্থিতিশীলতা বাগ থেকে)। বিষয়বস্তু দেখে /etc/passwdএবং আপনার মত ব্যবহারকারীদের দেখতে পাবেন mail, newsএবং nobody। এমনকি যদি আপনার সিস্টেমের সমস্ত প্রকৃত মানব ব্যবহারকারীদের বিষয়বস্তুগুলি সংশোধন করতে সক্ষম হন তবে /var/wwwএটির অর্থ এই নয় যে আপনি এই সমস্ত "কৃত্রিম" ব্যবহারকারীরা এটি করতে সক্ষম হবেন বলে সমস্ত প্রক্রিয়া চালিত করতে চান।
এলিয়াহ কাগন

1) হিসাবে সহজ উত্তর হতে পারে। অ্যাপাচি বা এনগিনেক্স কীভাবে ফোল্ডার বা ফাইলগুলি পরিচালনা করতে পারে তা ব্যাখ্যা করে না। যাতে অ্যাপ্লিকেশন, তিনি আপনার "দূষিত" ব্যবহারকারী না হন Apache বা nginx, সার্ভার, তারা টাইপ করতে পারবেন না ls -lah, touch badবা অন্য কোন কমান্ড। তারা কীভাবে ফোল্ডার এবং ফাইলগুলি চালিত করতে পারে? 2) উত্তরাধিকার। আপনি সেগুলির মধ্যে ফোল্ডার এবং ফাইলগুলির মধ্যে কোনও উত্তরাধিকার আবরণ করেন নি। একটি ফাইল আগে অন্তত 2-3 ধাপ আছে: /var, /var/www, /var/www/project। কোন ব্যবহারকারী / গ্রুপের অনুমতি থাকা উচিত /var? কোন ব্যবহারকারী / গ্রুপের অনুমতি থাকা উচিত /var/www? ইত্যাদি। তারা কীভাবে সহযোগিতা করবে?
সবুজ

15

মূলত, 7 777 এর অনুমতি থাকা আপনার নিজের হ্যাক করতে চলেছে না, তবে যদি কেউ কোথাও কোথাও একটি টোহোল্ড পেয়ে যায়, তবে এটি অনুমতিগুলি বাড়াতে এবং আপনার কম্পিউটারের উপর সম্পূর্ণ নিয়ন্ত্রণ অর্জন করতে ব্যবহার করা যেতে পারে। সবচেয়ে খারাপ দিকটি হ'ল আপনার অনুমতিগুলি "7" ব্যবহার করছে - যার অর্থ পড়ুন, লিখুন এবং অনুমতিগুলি কার্যকর করুন

ধরা যাক কোনও হ্যাকার আপনার কম্পিউটারটি দখল করতে চায়। তিনি একটি ওয়েব ব্রাউজার ব্যবহার করে আপনার কম্পিউটারের সাথে সংযুক্ত হতে পারেন, http://yourcomputer.example.com:80/ এ সংযুক্ত। যদি আপনার কাছে এমন কোনও পৃষ্ঠা পাওয়া যায় যা তাকে ছবি আপলোড করতে দেয় তবে তিনি ".jpg" দিয়ে শেষ করে একটি এক্সিকিউটিভের নাম পরিবর্তন করতে পারেন এবং এটি আপনার সার্ভারে আপলোড করতে পারেন। এখন সে তার ওয়েব ব্রাউজারে সেই ফাইলটি ব্রাউজ করে এবং এটি চালায়, কারণ লিনাক্স এক্সটেনশনটির বিষয়ে চিন্তা করে না, এটি কেবলমাত্র এটি দেখায় যে এটি একটি এক্সিকিউটেবল ফাইল। এটি তাকে বেশি নাও পেতে পারে তবে এটি মোটেও দৌড়াদৌড়ি করার কারণে, তিনি জানেন যে এটি অ্যাপাচি ব্যবহারকারী হিসাবে দৌড়েছিল। তারপরে তিনি একটি পরিবর্তিত সংস্করণ আপলোড করেন যা অ্যাপাচের কনফিগারেশন ফাইলগুলিকে সম্পাদনা করবে, আরও বেশি অ্যাক্সেস দেবে - আসুন তাই বলা যাক যাতে অ্যাপাচি / ইত্যাদি / পাসডাব্লুডের সামগ্রীগুলি আউটপুট দেয়। তারপরে তিনি সেই তথ্যটি ব্যবহারকারীদের সিস্টেমে কী আছে তা দেখতে ব্যবহার করতে পারেন। তারপরে তিনি ssh ব্যবহার করে সংযুক্ত হতে পারেন এবং সেই ব্যবহারকারীদের হিসাবে লগ ইন করতে সাধারণ পাসওয়ার্ডগুলি চেষ্টা করতে পারেন - যদি এটি কাজ না করে তবে তিনি একটি সম্পূর্ণ আক্রমণাত্মক আক্রমণ ব্যবহার করতে পদক্ষেপ নেবেন। যদি তিনি সুডো অ্যাক্সেস সহ কোনও ব্যবহারকারী হিসাবে প্রবেশ করেন,

এখন, আপনি বলতে পারেন যে এটি সম্ভবত নয়, বা এটি হ'ল কোনও হ্যাকার কীভাবে কাজ করবে তা নয়। এটি সত্য, তবে মুল বক্তব্যটি হ'ল chmod 777 ফাইল স্থাপন করে আপনি একটি সুরক্ষা গর্ত খুলেছেন যা কোনও হ্যাকার ব্যবহার করতে পারেন যদিও তিনি উপযুক্ত দেখেন।

আপনি যদি এর পরিবর্তে ন্যূনতম সুযোগ-সুবিধার নীতিটি অনুসরণ করেন তবে সেই গর্তটি ঘটে না এবং আপনার সিস্টেমটি হ্যাক করা এত কঠিন। যদিও জিনিসগুলি সঠিকভাবে করা আরও বেশি কঠিন, তবুও আপনার এটি করার জন্য সর্বাত্মক প্রচেষ্টা করা উচিত।


"টোহোল্ড" এবং "এসকেলেট" এর জন্য +1। ধারণাটি ভালভাবে বর্ণনা করে।
কারি ক্যারিয়েনেন

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