আপাচের "সমস্ত মঞ্জুর করা দরকার" আসলে কী করে?


95

আমি কেবলমাত্র আমার অ্যাপাচি সার্ভারটি অ্যাপাচি / 2.4.6 এ আপডেট করেছি যা উবুন্টু 13.04 এর অধীনে চলছে। আমার একটি vhost ফাইল ছিল যা নিম্নলিখিত ছিল:

<Directory "/home/john/development/foobar/web">
    AllowOverride All 
</Directory>

তবে যখন আমি দৌড়ে গেলাম যে আমি একটি "নিষিদ্ধ" পেয়েছি You আপনার কাছে / / প্রবেশ করার অনুমতি নেই "

কিছুটা গুগল করার পরে আমি জানতে পেরেছিলাম যে আমার সাইটটি আবার কাজ করার জন্য আমাকে নিম্নলিখিত লাইনটি "দরকার সমস্ত দেওয়া আছে" যুক্ত করা দরকার যাতে আমার ভোস্টটি দেখতে এই রকম হয়:

<Directory "/home/john/development/foobar/web">
    AllowOverride All 
    Require all granted
</Directory>

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

তবে এটি বলতে পারেনি যে এটি কোনও ধরণের সুরক্ষার সমস্যা ছিল বা অতীতে যখন আপনাকে করা হয়নি তখন আমাদের এখন কেন এটি করতে হবে।


1
আপগ্রেডিং ডক্সগুলি 'অ্যাক্সেস নিয়ন্ত্রণ' পরিবর্তনগুলি বিশদভাবে ব্যাখ্যা করে। httpd.apache.org/docs/2.4/upgrading.html
জন ম্যাগনোলিয়া

উত্তর:


87

অ্যাক্সেস নিয়ন্ত্রণ কনফিগারেশন ২.৪-এ পরিবর্তিত হয়েছে এবং পুরানো কনফিগারেশনগুলি কিছু পরিবর্তন ছাড়াই সামঞ্জস্যপূর্ণ নয়। এখানে দেখুন ।

যদি আপনার পুরানো কনফিগারেশন Allow from all(পরিষেবাতে অ্যাক্সেস থেকে কোনও আইপি অ্যাড্রেস অবরুদ্ধ করা হয়নি) হয় তবে Require all grantedতা নতুন কার্যকরী সমতুল্য।


4
উল্লেখ করার মতো নয়, পুরানো পদ্ধতিটি ভয়াবহভাবে বিভ্রান্তিকর এবং আরও বুদ্ধিমান কিছু দিয়ে প্রতিস্থাপনের জন্য দীর্ঘ সময়সীমা ছিল।
মাইকেল হ্যাম্পটন

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

1
একটি কাজের বিক্ষোভ দেখে ভাল লাগবে Require all denied
ক্রাং প্রাইম

5
আমি এটি এর সমতুল্য বলে মনে করি না Allow from all। আপনাকে Require all grantedঅন্যান্য বিদ্যমান Requireনিয়মের সাথে "মার্জ" করতে হবে । আমার ক্ষেত্রে Require valid-userযখন কনফিগারেশনটি সর্বত্র সুপারিশ করা হয়েছে তখন অন্ধভাবে রূপান্তর করার সময় একটি বিদ্যমানকে উপেক্ষা করা হয়েছিল। এটি হ'ল সবচেয়ে খারাপ জিনিস ...
rudimeier

1
ওপি-র প্রশ্নের যথাযথ উত্তর পেয়ে ভাল লাগবে। "সমস্ত সমতুল্য থেকে অনুমতি দিন" খুব সন্তোষজনক নয় not
শার্কাক্স

15

আমি জানি এটি একটি পুরানো পোস্ট তবে আমি মনে করি যে আমি সবসময় ব্যবহার করে এমন কার্যকরী উদাহরণ দিয়ে আরও বেশি সহায়তা করতে পারি!

অ্যাপাচে ২.২ এর মতো হবে:

    <Location />
       Order deny, allow
       allow from all
    </Location>
    <Location /adm>
        Order deny, allow
        deny from all
        allow from myniceip
    </Location>
    <Location /disabled>
        Order deny, allow
        deny from all
    </Location>

অ্যাপাচে ২.৪ এর মতো হবে:

   <Location />
       require all granted
    </Location>
   #Note that you dont need to use require all denied
   #to require only a group of ips.. 
    <Location /adm>
        require ip myniceip
    </Location>
    <Location /disabled>
        Require all denied
    </Location>

এইচটিসেস প্রমাণীকরণ ব্যবহার করার সময় সাবধানতা অবলম্বন করুন , এই নতুন সিনট্যাক্সটি কিছু খারাপ এবং অপ্রত্যাশিত জিনিস করতে পারে , যদি এটি আপনার ক্ষেত্রে হয় তবে দয়া করে পড়ুন: https://unix.stackexchange.com/questions/413309/apache-2-4-wants-me- প্রয়োজনীয়-বৈধ-আইপি-বা-প্রয়োজনীয়-বৈধ-ব্যবহারকারীর-সিদ্ধান্ত নেওয়ার সিদ্ধান্ত নেওয়া উচিত এবং আপনার ভাল হতে হবে!


আমার জন্য, require all grantedরোধ করা এইচটিটিপি প্রমাণীকরণের উপস্থিতি তাই তথ্যের জন্য ধন্যবাদ।
authentictech

@authentictech কেবল মঞ্জুর করা সমস্ত প্রয়োজনই এটি ভেঙে দিতে পারে না। আপনি যদি প্রয়োজনীয়তা বা প্রয়োজনীয়তা কোনও সঠিকভাবে ব্যবহার না করেন তবে এই নতুন সিনট্যাক্সের সাথে প্রত্যাশিত প্রমাণীকরণটি সম্পূর্ণরূপে ভেঙে যেতে পারে। অনুগ্রহ করে পড়ুন: unix.stackexchange.com/questions/413309/… । প্রতিক্রিয়ার জন্য ধন্যবাদ।
লুসিয়ানো এন্ড্রেস মার্টিনি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.