2010-05-06 18 views
11

Bu sorun karşısında karşılaştım, apache ve php çalışan bir şüphe var. Birçok sanal ana bilgisayarımız var ancak potansiyel olarak kötü niyetli bir kullanıcının, diğer kullanıcının dosyalarını (basit bir php betiği aracılığıyla) ve hatta sistem dosyalarını taramak için kendi web alanını kullanabileceğini fark ettik. Bu, php izinlerinden dolayı olabilir. Bundan kaçınmanın bir yolu, open_basedir varlığını php.ini olarak ayarlamaktır, yhis tek bir ana sistemde çok basittir, ancak sanal konaklar söz konusu olduğunda her bir ana bilgisayar için bir basebir olacaktır.PHP - her sanal sunucu için farklı bir open_basedir

Her kullanıcı/ana bilgisayar için dis basedir ayarlayabilir miyim?

E.G.'de Apache'nin hereditate php ayrıcalıklarına izin vermenin bir yolu vardır. /home/X_USER/index.php, Apache dosyasının index.php dosyasını okuduğunda, yolunu ve sahibini kontrol ettiğinde X_USER'ın sahibi, basitçe bir php basedir değişkenini bu yola göre arıyorum. peşin

Teşekkür Lopoc

cevap

17

O php_admin_value Apache yönergesini kullanarak her dizin bazında open_basedir ayarlamak mümkündür. Yorumunuz Re

<Directory /docroot> 
    php_admin_value open_basedir /docroot 
</Directory> 

: manual den

Örnek evet, dış komutlar open_basedir etkilenmez - haklara sahip genellikle adında PHP denetimi altında çalıştığı kullanıcı hesabı (yapılmaktadır ls / bu çağrılırken www veya benzeri). Bildiğim kadarıyla, open_basedir'u harici komutlara genişletmek mümkün değil.

Bu durumda, normal bir Apache/PHP kurulumunda aradığınız korumanın mümkün olduğunu düşünmüyorum. Yakın gelebilecek tek şey running Apache in a chroot jail. Bunu kendim yapmadım, bu yüzden bunun hakkında bir şey söyleyemem - kazmak zorundasın ve belki de bu konuda özel bir soru sormalısın.

+0

Tamam evet, ama sadece basit echo 'ls /' bile hala çalışır erişebileceği bir "/" veya PHP ile sona ermelidir, güvenlik değil Bu yönerge – Lopoc

+0

@Lopoc güncellememi görüyor. –

1

chroot iyi bir fikirdir. Ve şimdi docker daha etkilidir.

ve "/ DOCROOT" ile open_basedir

sen/docroot1

İlgili konular