Điểm:0

Cấu hình Apache + mod_userdir không an toàn

lá cờ de

TL; DR: Làm cách nào tôi có thể bật mod_userdir một cách an toàn? (nghĩa là: mỗi người dùng sẽ có thể tạo và phân phát nội dung của họ trong ~/public_html nhưng họ không được phép đọc nội dung của nhau hoặc trực tiếp - mèo /home/userX/public_html/file- không thông qua các chức năng PHP (file_get_contents('/home/userX/public_html/file'))

Chi tiết: Tôi đã định cấu hình Apache với mod_userdir để cung cấp cho người dùng của mình tùy chọn phân phát nội dung thả tệp trong thư mục ~/public_html của họ. Để bảo vệ quyền truy cập tệp và để tránh bất kỳ người dùng nào có thể đọc tệp của người khác, tôi đã định cấu hình các quyền sau:

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

Tôi đã thêm dữ liệu www cho từng nhóm người dùng: usermod -a -G dữ liệu www của người dùng (nó cũng có thể hoạt động khi tạo một nhóm và thêm tất cả người dùng, bao gồm cả dữ liệu www, với nó)

Tất cả các cấu hình hoạt động như mong đợi. Bất kỳ người dùng nào cũng có thể truy cập nội dung của nó từ https://server/~user và họ không thể đọc bất kỳ tệp nào của người khác:

userA@ubuntu:/home$ cat userB/public_html/index.php 
mèo: userB/public_html/index.php: Quyền bị từ chối

Càng xa càng tốt. Nhưng vấn đề là, vì Apache đang chạy như dữ liệu www và nó có quyền truy cập nhóm vào bất kỳ tệp nào bên trong/home/*, bất kỳ người dùng nào cũng có thể tạo tệp PHP để đọc nội dung của người khác bằng các chức năng như giám đốc điều hành, hệ thống, file_get_contents, vân vân.

Tôi biết rằng tôi có thể vô hiệu hóa các chức năng như vậy khỏi việc thực thi việc thêm chúng vào disable_functions chặn trong php.ini nhưng tôi thấy đây là một bản vá, không phải là một giải pháp. Vì vậy, đối với tôi, có vẻ như nên có cách khác, an toàn hơn, để định cấu hình cấu hình Apache hỗ trợ userdir này. Tôi đã tìm cách để thực hiện việc này một cách chính xác nhưng chưa tìm được giải pháp thích hợp.

Alex avatar
lá cờ us
Có lẽ nên chuyển câu hỏi này sang diễn đàn Bảo mật thông tin? https://security.stackexchange.com/
Juanan avatar
lá cờ de
Đồng ý không. Tôi không biết liệu tôi có thể tự chuyển câu hỏi hay tôi nên có nhiều điểm danh tiếng hơn để làm điều đó?
Alex avatar
lá cờ us
Nếu bạn cho rằng đó là một ý tưởng hay, hãy gắn cờ bài đăng của bạn như được mô tả tại đây: https://meta.stackexchange.com/questions/184657/how-do-i-transfer-this-question-asked-on-stack-overflow-to -the-math-stack-trao đổi

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.