שאלה מה עושה אפאצ 'י של "דרוש כל מאליו" באמת לעשות?


אני רק לעדכן את השרת Apache שלי ל Apache / 2.4.6 אשר פועל תחת Ubuntu 13.04. בעבר היה לי קובץ vhost:

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

אבל כשרצתי שיש לי "אסור", אין לך אישור לגשת / "

לאחר עושה קצת googling גיליתי כי כדי לקבל את האתר שלי לעבוד שוב אני צריך להוסיף את השורה הבאה "דרוש כל מאובטח" כך vhost שלי נראה ככה:

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

אני רוצה לדעת אם זה "בטוח" ואינו מביא שום בעיות אבטחה. קראתי על זה של אפאצ'י עמוד כי זה "מחקה את הפונקציונליות שנקבעה בעבר בהוראות 'Allow From All' ו- 'Deny From All'. ספק זה יכול לקחת אחד משני ארגומנטים שהם 'מוענקים' או 'נדחתה'. הדוגמאות הבאות יעניקו או ידחו גישה לכל הבקשות ".

אבל זה לא אמר אם זה סוגיה ביטחונית כלשהי או למה אנחנו צריכים לעשות את זה כאשר בעבר לא היית צריך.


81
2017-10-29 21:51




המסמכים המשודרגים מסבירים בפירוט את 'בקרת גישה'. httpd.apache.org/docs/2.4/upgrading.html - John Magnolia


תשובות:


תצורת בקרת הגישה השתנתה ב 2.4, ותצורות ישנות אינן תואמות ללא שינויים. ראה כאן.

אם התצורה הישנה שלך היתה Allow from all (ללא כתובות IP חסום גישה לשירות), ולאחר מכן Require all granted הוא equivalent פונקציונלי חדש.


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