Score:0

การกำหนดค่า Apache + mod_userdir ที่ไม่ปลอดภัย

ธง de

TL;DR: ฉันจะเปิดใช้งาน mod_userdir อย่างปลอดภัยได้อย่างไร (ความหมาย: ผู้ใช้แต่ละคนควรสามารถสร้างและให้บริการเนื้อหาของตนใน ~/public_html แต่ไม่ควรได้รับอนุญาตให้อ่านเนื้อหาของกันและกันหรือโดยตรง - แมว /home/userX/public_html/file- ไม่ผ่านฟังก์ชั่น PHP (file_get_contents('/home/userX/public_html/file'))

รายละเอียด: ฉันได้กำหนดค่า Apache ด้วย mod_userdir เพื่อให้ผู้ใช้ของฉันมีตัวเลือกในการให้บริการไฟล์ที่ปล่อยเนื้อหาในโฟลเดอร์ ~/public_html เพื่อป้องกันการเข้าถึงไฟล์และเพื่อหลีกเลี่ยงไม่ให้ผู้ใช้รายใดสามารถอ่านไฟล์ของผู้อื่นได้ ฉันได้กำหนดค่าการอนุญาตดังต่อไปนี้:

/home/userA user.user drwx--x--x (711)  
/home/userA/public_html user.user drwxrwx--x (771)

ฉันได้เพิ่ม www-ข้อมูล ไปยังกลุ่มของผู้ใช้แต่ละคน: usermod -a -G ผู้ใช้ www-data (นอกจากนี้ยังสามารถทำงานสร้างกลุ่มและเพิ่มผู้ใช้ทั้งหมด รวมถึง www-ข้อมูล, ไปมัน)

การกำหนดค่าทั้งหมดทำงานตามที่คาดไว้ ผู้ใช้ทุกคนสามารถเข้าถึงเนื้อหาได้จาก https://server/~user และไม่สามารถอ่านไฟล์ของผู้อื่นได้:

userA@ubuntu:/home$ cat userB/public_html/index.php 
แมว: userB/public_html/index.php: ปฏิเสธการอนุญาต

จนถึงตอนนี้ดีมาก แต่ปัญหาก็คือ เนื่องจาก Apache กำลังทำงานเป็น www-ข้อมูล และมีการเข้าถึงแบบกลุ่มไปยังไฟล์ใด ๆ ภายใน /home/* ผู้ใช้ทุกคนสามารถสร้างไฟล์ PHP เพื่ออ่านเนื้อหาของผู้อื่นโดยใช้ฟังก์ชันเช่น ผู้บริหาร, ระบบ, file_get_contentsฯลฯ

ฉันรู้ว่าฉันสามารถปิดใช้งานฟังก์ชันดังกล่าวจากการดำเนินการเพิ่มไปยัง ปิดการใช้งาน_ฟังก์ชั่น บล๊อคอิน php.ini แต่ฉันเห็นว่านี่เป็นการแก้ไขไม่ใช่วิธีแก้ปัญหา สำหรับฉันแล้วดูเหมือนว่าควรมีวิธีอื่นที่ปลอดภัยกว่านี้ในการกำหนดค่า Apache ที่เปิดใช้งาน userdir ฉันได้ค้นหาวิธีการทำอย่างถูกต้อง แต่ยังไม่พบวิธีแก้ไขที่เหมาะสม

Alex avatar
us flag
อาจคุ้มค่าที่จะย้ายคำถามนี้ไปที่ฟอรัมความปลอดภัยของข้อมูล https://security.stackexchange.com/
Juanan avatar
de flag
เห็นด้วย. ฉันไม่รู้ว่าฉันสามารถย้ายคำถามด้วยตัวเองได้หรือไม่ หรือฉันควรจะมีคะแนนชื่อเสียงมากกว่านี้เพื่อที่จะทำเช่นนั้น?
Alex avatar
us flag
หากคุณคิดว่าเป็นความคิดที่ดี ให้ตั้งค่าสถานะโพสต์ของคุณตามที่อธิบายไว้ที่นี่: https://meta.stackexchange.com/questions/184657/how-do-i-transfer-this-question-asked-on-stack-overflow-to -the-คณิตศาสตร์สแต็คแลกเปลี่ยน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา