Saya menyiapkan server web yang akan meng-host sejumlah situs web yang berbeda sebagai Apache VirtualHosts, masing-masing memiliki kemungkinan untuk menjalankan skrip (terutama PHP, kemungkinan yang lain).
Pertanyaan saya adalah bagaimana saya mengisolasi masing-masing VirtualHost ini dari satu sama lain dan dari sisa sistem? Saya tidak ingin misalnya situs web X untuk membaca konfigurasi situs web Y atau file "pribadi" server.
Saat ini saya telah menyiapkan VirtualHosts dengan FastCGI, PHP dan SUExec seperti yang dijelaskan di sini ( http://x10hosting.com/forums/vps-tutorials/148894-debian-apache-2-2-fastcgi-php-5-suexec -easy-way.html ), tetapi SUExec hanya mencegah pengguna mengedit / mengeksekusi file selain milik mereka sendiri - pengguna masih dapat membaca informasi sensitif seperti file konfigurasi.
Saya telah berpikir tentang menghapus izin baca global UNIX untuk semua file di server, karena ini akan memperbaiki masalah di atas, tapi saya tidak yakin apakah saya bisa melakukan ini dengan aman tanpa mengganggu fungsi server.
Saya juga melihat ke dalam menggunakan chroot, tetapi tampaknya ini hanya dapat dilakukan pada basis per-server, dan bukan pada basis per-virtual-host.
Saya mencari saran yang akan mengisolasi VirtualHosts saya dari seluruh sistem.
PS Saya menjalankan server Ubuntu 12.04
JAWABAN Saya: Saya mengakhiri dengan hampir mengikuti konfigurasi saya saat ini, tetapi melakukan jail chroot untuk semua host virtual, mis. Memiliki chroot jail di dalam /var/www
dan kemudian memiliki semua data pengguna dalam subfolder masing-masing dengan izin grup / orang lain r / w / x cacat. Opsi ini diinginkan terutama karena semuanya dimungkinkan tanpa modifikasi pada kode sumber.
Saya memilih jawaban @Chris, karena ditulis dengan seksama dan juga dianggap FTP dan SELinux
mod_userdir
menawarkan hosting virtual untuk domain terpisah. Selain itu, saya memiliki kekhawatiran tentang keamanan dalam hal isolasi karena saya tidak dapat menemukan apa pun di antara direktori pengguna di dalam Apache. Sepertinya tidak menawarkan fitur itu.