প্রশ্ন Apache এর "সমস্ত মঞ্জুর প্রয়োজন" সত্যিই কি করে?


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

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

কিন্তু যখন আমি দৌড়ে গেলাম তখন আমার একটি নিষিদ্ধ "আপনার অ্যাক্সেসের অনুমতি নেই।"

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

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

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

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


81
2017-10-29 21:51


উত্স


আপগ্রেডিং ডক্সগুলি বিস্তারিতভাবে 'অ্যাক্সেস নিয়ন্ত্রণ' পরিবর্তনগুলি ব্যাখ্যা করে। httpd.apache.org/docs/2.4/upgrading.html - John Magnolia


উত্তর:


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

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


81
2017-10-30 02:31



উল্লেখ না করা, পুরানো পদ্ধতি ভয়ানক বিভ্রান্তিকর ছিল এবং অনেক বেশি বুদ্ধিমান সঙ্গে প্রতিস্থাপিত দীর্ঘ বিলম্বিত ছিল। - Michael Hampton♦
যেমন একটি বড় পরিবর্তন জন্য আমি কনফিগারেশন ফাইল স্বয়ংক্রিয়ভাবে মাইগ্রেট করার জন্য কোন ধরনের সমর্থন আশা করি বা অন্তত একটি পরিবর্তন প্রয়োজন যেখানে সব পয়েন্ট প্রদর্শন। - Wolfgang Fahl
একটি কাজ বিক্ষোভ দেখতে সুন্দর হবে Require all denied । - Kraang Prime
আমি এটা সমান মনে হয় না Allow from all। আপনাকে "মার্জ" করতে হবে Require all granted অন্যান্য বিদ্যমান সঙ্গে Require নিয়ম। আমার ক্ষেত্রে একটি বিদ্যমান Require valid-user অন্ধভাবে কনফিগার করার সময় এটি সর্বত্র সুপারিশ করা হয় যখন উপেক্ষা করা হয়। এটাই সবচেয়ে খারাপ জিনিস যা হতে পারে ... - rudimeier
OP এর প্রশ্নের সঠিক উত্তর দেওয়ার জন্য এটি চমৎকার হবে। "সব সমতুল্য থেকে অনুমতি" খুব সন্তোষজনক হয় না। - Sharcoux


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

Apache 2.2 এ মত হবে:

    <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>

Apache 2.4 এ মত হবে:

   <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>

সাবধানে  htacess অনুমোদন ব্যবহার করার সময়, এই নতুন সিনট্যাক্স কিছু করতে পারেন খারাপ এবং অপ্রত্যাশিত জিনিস, যে আপনার ক্ষেত্রে যদি অনুগ্রহ করে পড়ুন: https://unix.stackexchange.com/questions/413309/apache-2-4-wants-me-to-decide-require-valid-ip-or-require-valid-user এবং আপনি ভাল হতে হবে!


9
2017-12-08 12:02