www.turkiyespot.com web sayfası kontrol panelleleri yardımlaşma forumları Forum Ana Sayfa www.turkiyespot.com web sayfası kontrol panelleleri yardımlaşma forumları
ucuz hosting domain kontrol panelleri yardımlaşma forumları
 
 SSSSSS   AramaArama   Üye ListesiÜye Listesi   Kullanıcı GruplarıKullanıcı Grupları   KayıtKayıt 
 ProfilProfil   Özel mesajlarınızı kontrol etmek için giriş yapınÖzel mesajlarınızı kontrol etmek için giriş yapın   GirişGiriş 

Paylaşımlı Sunucularda Php fonksiyonlarının kısıtlanması

 
Yeni başlık gönder   Başlığa cevap gönder    www.turkiyespot.com web sayfası kontrol panelleleri yardımlaşma forumları Forum Ana Sayfa -> GÜVENLİK HACK CRACK SECURİTY
Önceki başlık :: Sonraki başlık  
Yazar Mesaj
turkiyespot
Site Admin


Kayıt: 11 Ksm 2005
Mesajlar: 320
Konum: istanbul

MesajTarih: Pzr Nis 22, 2007 5:14 am    Mesaj konusu: Paylaşımlı Sunucularda Php fonksiyonlarının kısıtlanması Alıntıyla Cevap Gönder

Öntanimli ayarlarina baktiginizda malesef ki php paylasimli sunucularda güvenli olmayan bazi özellikleri açik olarak gelir. Yerine göre bunun bir açık olmadığını aslında paylaşımlı sunucularda problem olacağınıda söyleyebiliriz. Bazi yollarla bu güvenli olmayan özelliklerin önüne geçebilirsiniz. php.ini de bazi ayarlar yaparak daha sonra başınızı ağrıtacak durumlardan kurtulabilirsiniz.

Bu dökümanla php de güvenlik dolayisi ile kapatilmasi gerekilen bazi paremetrelerin nasil kapatilacagi irdenelenecek.

Sisteminizde yazmis oldugunuz bazi php kodlari bu komutlari kullaniyor olabilir. Herhangi bir sorun çiktiginda geri adim atmanizi öneriyorum. Basit bir sekilde yaptiginiz ayarlari geri alabilirsiniz

Hepsinden önce php.ini dosyanizin nerde oldugunu tesbit etmeniz gerekiyor. Bu dosyanin bulundugu klasör dagitimdan dagitima farkedecektir. Bundan dolayi locate komutu ile yerini belirleyebiliriz. Bir çok sistem için bu /etc klasörüdür. locate php.ini

Paylasimli sunucularda plesk kullana sunucularda ben genelde php.ini dosyasini /etc/php.ini dizini cPanel kullanan sistemlerde ise /usr/local/lib/php.ini olarak karsilastim. Kendi debian + Plesk 7.5.4 yüklü sunucumda bu /etc/apache2/php4/php.ini şeklinde idi.

Dosyanin yerini tesbit ettikten sonra bu buldugunuz dosyayi düzenlemeniz gerekmektedir. Bu düzenleme islemini gerçeklestirmek için herhangi bir text editörü kullanabilirsiniz. Ben genelde Midnight Commander kullaniyorum.(mc -e /etc/php.ini) Genel olarak kullanilan pico editörünü kullandiginizi düsünürsek. Sekildeki gibi bir komutla düzenleme moduna geçebilirsiniz. pico -w /etc/php.ini

cPanel olan bir sistemde dogal olarak bu komut

pico -w /usr/local/lib/php.ini

Debian için ise; pico -w /etc/apache2/php4/php.ini

seklinde olacaktir. Dosya içinde gezindiginizde “disabled_functions” seklinde bir satir bulmaniz gerekiyor.Temel olarak bir güvenlik için bu satirin su sekilde olmasi gerekir. disable_functions = “system,exec”

Buraya yasaklamak istediginiz php komutlarini sira ile virgülle ayrilmis sekilde yazabilirsiniz. Mesela ücretsiz php çalistirabilinecek alani saglayan bir firma iseniz. Kisilerin spam mail gönderimini önlemek için mail fonksiyonunuda kakatabilirsiniz.

System ve exec komutlari apache nin tanimli user inin erisebilecegi her yere php dosyasinin linux tabanli komut çalistirarak erisebilmesini saglamaktadir. En genel anlamda kullanicilar tarafindan kötü niyetli kullanilabilecek yasaklamanizin önerildigi komutlar su sekildedir;

Kötü niyetli kişilerin ne yapacağı konusunda şöyle bir örnek verebilirim size. Mesela sisteminizde bulunan sanal hostları listeledikten sonra onlarn içeriğini okuyup. Hatta okumakla kalmayıp bunları tarlayıp. Sunucunuzda bulunan kendi hostuma kaydettikten sonra kolay bir şekilde bunları başka bir sunucuya yada kendi bilgisayarıma kaydedebilirim. Bunu yapmam zaten sunucunuzda ne kadar site varsa dosyalarına sahip olmam anlamına gelir. İkinci aşamada ise apache nin yazma yetkisi ile erişebildiği herhangi bir yere echo “index için yazı”> /bilmem/nerdeki/host/index.html
gibi bir komutla halk arasında index atma olarak nitelendirilen ve sizi cümle aleme rezil edecek bir işlem gerçekleştirebilirim.

İşte bu gibi durumlara maruz kalmamak için paylaşımlı bir sunucuda önerilen yasaklı komut listesinin aşağıdaki gibi olmasıdır. disable_functions = "exec,system,passthru,readfile,shell_exec,escapeshellarg,escapeshellcmd,
proc_close,proc_open,ini_alter,dl,popen,parse_ini_file,show_source,curl_exec”

php.ini dosyasi düzenlendikten sonra yapmaniz gereken tek islem apache yi tekrar baslatmak. rhel, fedora, redhat ta service httpd restart

Komutunu kullanabilirsiniz bunun için. Bu komut hata verdiginde ise init den servisi manuel olarak elle tekrar baslatabilirsiniz. Bunun için :
/etc/inid.d/apache restart

yada

/etc/inid.d/httpd restart

Suse yada debianda ise; /etc/inid.d/apache2 restart

seklinde komut çalistirarak bu islemi tamamlamaniz gerekir. init.d içerisinde yer alan betik apache httpd ya da apache2 seklinde yer alabilir. burdaki dosyalari listelemek sureti ile çalistirmaniz gereken komutu tesbit edebilirsiniz.

Bu islemi gerçeklestirdikten sonra artik php dosyalari ile bu komutlar çalistirilamayacaktir. kontrol için mesela

system("ls",$a);
echo $a;
?>
seklinde php dosyasi olusturabilirsiniz.Eger islemler i dogru gerçeklestirdiyseniz. Bu komutun güvenlik nedeni ile yasaklandigini söyleyen bir hata mesaji ile karsilasirsiniz. Warning: ystem() has been disabled for security reasons in /var/www/vhosts/domain.com/a.php on line 2

Bu hata mesajını alıyorsanız işlemi başarı ile gerçekleştirdiniz demektir.
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder E-posta gönder Yazarın web sitesini ziyaret et MSN Messenger
www.turkiyespot.com ucuz hosting
www.turkiyespot.com ucuz hosting





MesajTarih: Pzr Nis 22, 2007 5:14 am    Mesaj konusu: Advertisement Links

www.turkiyespot.com iyi Hosting vps vds radyo iyi reseller, kaliteli hosting, kaliteli host, kaliteli vps, iyi vps

Başa dön
Önceki mesajları göster:   
Yeni başlık gönder   Başlığa cevap gönder    www.turkiyespot.com web sayfası kontrol panelleleri yardımlaşma forumları Forum Ana Sayfa -> GÜVENLİK HACK CRACK SECURİTY Tüm zamanlar GMT +2 Saat
1. sayfa (Toplam 1 sayfa)

 
Geçiş Yap:  
Bu forumda yeni başlıklar açamazsınız
Bu forumdaki başlıklara cevap veremezsiniz
Bu forumdaki mesajlarınızı değiştiremezsiniz
Bu forumdaki mesajlarınızı silemezsiniz
Bu forumdaki anketlerde oy kullanamazsınız


Powered by phpBB © 2001, 2005 phpBB Group
Türkçe Çeviri: phpBB Turkey & Erdem Çorapçıoğlu