যখন একটি স্থানীয় হোস্ট একটি পৃষ্ঠায় উন্নয়নশীল, আমি কখনও কখনও একটি ত্রুটি যা আমি চালিয়ে সমাধান করতে পারেন "অনুমতি অস্বীকৃত" পেতে chmod -R 777 /var/www
। তবে লোকেরা আমাকে বলছে যে এটি সুরক্ষার কারণে খারাপ ধারণা।
/var/www
777 এর chmod কেন হবে না ?
যখন একটি স্থানীয় হোস্ট একটি পৃষ্ঠায় উন্নয়নশীল, আমি কখনও কখনও একটি ত্রুটি যা আমি চালিয়ে সমাধান করতে পারেন "অনুমতি অস্বীকৃত" পেতে chmod -R 777 /var/www
। তবে লোকেরা আমাকে বলছে যে এটি সুরক্ষার কারণে খারাপ ধারণা।
/var/www
777 এর chmod কেন হবে না ?
উত্তর:
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 (একেএ ) এ আটকে থাকতে চান । এটি আপনাকে, ফাইলগুলির মালিক হিসাবে, অ্যাপাচিকে চালনার জন্য প্রয়োজনীয় সর্বনিম্ন স্তরের অ্যাক্সেস দেওয়ার সময় এগুলি সম্পাদনা করতে এবং তা হেরফের করতে দেয়।
/etc/passwd
এবং আপনার মত ব্যবহারকারীদের দেখতে পাবেন mail
, news
এবং nobody
। এমনকি যদি আপনার সিস্টেমের সমস্ত প্রকৃত মানব ব্যবহারকারীদের বিষয়বস্তুগুলি সংশোধন করতে সক্ষম হন তবে /var/www
এটির অর্থ এই নয় যে আপনি এই সমস্ত "কৃত্রিম" ব্যবহারকারীরা এটি করতে সক্ষম হবেন বলে সমস্ত প্রক্রিয়া চালিত করতে চান।
ls -lah
, touch bad
বা অন্য কোন কমান্ড। তারা কীভাবে ফোল্ডার এবং ফাইলগুলি চালিত করতে পারে? 2) উত্তরাধিকার। আপনি সেগুলির মধ্যে ফোল্ডার এবং ফাইলগুলির মধ্যে কোনও উত্তরাধিকার আবরণ করেন নি। একটি ফাইল আগে অন্তত 2-3 ধাপ আছে: /var
, /var/www
, /var/www/project
। কোন ব্যবহারকারী / গ্রুপের অনুমতি থাকা উচিত /var
? কোন ব্যবহারকারী / গ্রুপের অনুমতি থাকা উচিত /var/www
? ইত্যাদি। তারা কীভাবে সহযোগিতা করবে?
মূলত, 7 777 এর অনুমতি থাকা আপনার নিজের হ্যাক করতে চলেছে না, তবে যদি কেউ কোথাও কোথাও একটি টোহোল্ড পেয়ে যায়, তবে এটি অনুমতিগুলি বাড়াতে এবং আপনার কম্পিউটারের উপর সম্পূর্ণ নিয়ন্ত্রণ অর্জন করতে ব্যবহার করা যেতে পারে। সবচেয়ে খারাপ দিকটি হ'ল আপনার অনুমতিগুলি "7" ব্যবহার করছে - যার অর্থ পড়ুন, লিখুন এবং অনুমতিগুলি কার্যকর করুন ।
ধরা যাক কোনও হ্যাকার আপনার কম্পিউটারটি দখল করতে চায়। তিনি একটি ওয়েব ব্রাউজার ব্যবহার করে আপনার কম্পিউটারের সাথে সংযুক্ত হতে পারেন, http://yourcomputer.example.com:80/ এ সংযুক্ত। যদি আপনার কাছে এমন কোনও পৃষ্ঠা পাওয়া যায় যা তাকে ছবি আপলোড করতে দেয় তবে তিনি ".jpg" দিয়ে শেষ করে একটি এক্সিকিউটিভের নাম পরিবর্তন করতে পারেন এবং এটি আপনার সার্ভারে আপলোড করতে পারেন। এখন সে তার ওয়েব ব্রাউজারে সেই ফাইলটি ব্রাউজ করে এবং এটি চালায়, কারণ লিনাক্স এক্সটেনশনটির বিষয়ে চিন্তা করে না, এটি কেবলমাত্র এটি দেখায় যে এটি একটি এক্সিকিউটেবল ফাইল। এটি তাকে বেশি নাও পেতে পারে তবে এটি মোটেও দৌড়াদৌড়ি করার কারণে, তিনি জানেন যে এটি অ্যাপাচি ব্যবহারকারী হিসাবে দৌড়েছিল। তারপরে তিনি একটি পরিবর্তিত সংস্করণ আপলোড করেন যা অ্যাপাচের কনফিগারেশন ফাইলগুলিকে সম্পাদনা করবে, আরও বেশি অ্যাক্সেস দেবে - আসুন তাই বলা যাক যাতে অ্যাপাচি / ইত্যাদি / পাসডাব্লুডের সামগ্রীগুলি আউটপুট দেয়। তারপরে তিনি সেই তথ্যটি ব্যবহারকারীদের সিস্টেমে কী আছে তা দেখতে ব্যবহার করতে পারেন। তারপরে তিনি ssh ব্যবহার করে সংযুক্ত হতে পারেন এবং সেই ব্যবহারকারীদের হিসাবে লগ ইন করতে সাধারণ পাসওয়ার্ডগুলি চেষ্টা করতে পারেন - যদি এটি কাজ না করে তবে তিনি একটি সম্পূর্ণ আক্রমণাত্মক আক্রমণ ব্যবহার করতে পদক্ষেপ নেবেন। যদি তিনি সুডো অ্যাক্সেস সহ কোনও ব্যবহারকারী হিসাবে প্রবেশ করেন,
এখন, আপনি বলতে পারেন যে এটি সম্ভবত নয়, বা এটি হ'ল কোনও হ্যাকার কীভাবে কাজ করবে তা নয়। এটি সত্য, তবে মুল বক্তব্যটি হ'ল chmod 777 ফাইল স্থাপন করে আপনি একটি সুরক্ষা গর্ত খুলেছেন যা কোনও হ্যাকার ব্যবহার করতে পারেন যদিও তিনি উপযুক্ত দেখেন।
আপনি যদি এর পরিবর্তে ন্যূনতম সুযোগ-সুবিধার নীতিটি অনুসরণ করেন তবে সেই গর্তটি ঘটে না এবং আপনার সিস্টেমটি হ্যাক করা এত কঠিন। যদিও জিনিসগুলি সঠিকভাবে করা আরও বেশি কঠিন, তবুও আপনার এটি করার জন্য সর্বাত্মক প্রচেষ্টা করা উচিত।