saya ingin "dengan sempurna" melindungi instalasi PHP apache saya di server linux. Dalam sejarah, saya punya masalah dengan script-virues / exploids, jadi itu perlu solusi yang "aman".
Solusi saya saat ini:
- Setiap webspace memiliki pengguna sendiri, dengan grup pengguna sendiri (misalnya: user1: user1).
- Apache berjalan di bawah http: http
- PHP berjalan melalui cgi cepat dan SuexecUserGroup user1: user1
- Direktori webspace dimiliki oleh user1: http, untuk pengaturan awal chmods: setel semua ke 0 dan daripada chmod u + rwX, g + rX. Itu artinya, Pemilik (pengguna1) memiliki akses penuh, Grup memiliki akses baca, yang lain tidak memiliki akses.
Ini berfungsi dengan baik dan aman ... tetapi tidak akan berfungsi ketika:
- Membuat file melalui PHP
- mengunggah file melalui FTP.
Daripada file tersebut akan dibuat sebagai user1: user1. Ini (biasanya) corret. Tetapi daripada memiliki apache (http: http) tidak ada akses lagi.
Satu workarround "bisa" menjadi: Simpan semua file sebagai user1: user1, tetapi jalankan apache sebagai root. Tapi, ini tidak terlalu aman ...
Jadi, apa yang bisa menjadi solusi yang baik? Tentu saja, saya rad puluhan blog, tetapi setiap solusi akan memiliki masalah lain.
Jawaban:
Solusi yang baik mungkin dengan menambahkan pengguna Apache (http) ke setiap grup pengguna:
Anda akan memerlukan sedikit skrip untuk melakukan ini, tetapi itu memberi Apache akses yang dibutuhkan sebagian besar waktu.
Alternatif / solusi yang lebih baik
Lihat apakah server FTP memiliki opsi untuk grup default untuk file yang dibuat dan setup PHP dengan
SuexecUserGroup user1:http
sumber