• 20-06-2008, 14:52:55
    #1
    Bu başlık altında mümkün olduğunca güvenlikle ilgili sorularınızı cevaplıyacağım. Aslında başka bir arkadaşın sorusu üzerine onun konusuna yazmam gerekliydi fakat düşündüm de herkesin konuyu daha rahat bulabilmesi için ayrı bir başlık açmak iyi olur.

    Konuya Bartuc rumuzlu arkadaşımızın sorusuyla başlıyoruz.

    Bartuc adlı üyeden alıntı: mesajı görüntüle
    bir local server kurmayı planlıyorum. apache ve php sorunsuz çalıştırdım, fakat http.conf'da gerekli birkaç modül include etmek dışında ne tip ayarlar yapılmalı bilmiyorum.

    kontrol paneli kullanmıyorum, doğrudan php.ini ve httpd.conf editlemem gerekiyor. neler önerirsiniz, nelere dikkat etmeliyim?

    edit: belirtmeyi unutmuşum, apache 2.2.8 ve php 5.2.6 kullanıyorum.

    ayrıca, sadece kendi site(leri)m bulunacak. yani başkasına verilmeyecek.


    httpd.conf üzerinden güvenlik sağlayamazsınız. Oradan ancak optimizasyon ile sunucu yükünü düşürebilir ve verim almanızı arttırabilirsiniz.

    php.ini konusunda, engellemeniz gereken fonksiyonlar var.
    engelleme konusunda her tarafta çeşitli fonksiyonlar var. Onlardan bir demeti aşağıda yazdım:
     shell_exec,exec,system,glob,cat,dl,openbasedir,popen,proc_close,proc_get_status,proc_nice,proc_open,escapeshellcmd,escapeshellarg,show_source,posix_mkfifo,mysql_list_dbs,get_current_user,getmyuid,pconnect,link,symlink,pcntl_exec,ini_alter,parse_ini_file,leak,apache_child_terminate,posix_kill,posix_setpgid,posix_setsid,posix_setuid,proc_terminate,syslog,fpassthru,allow_url_fopen,stream_select,socket_select,socket_create,socket_create_listen,socket_create_pair,socket_listen,socket_accept,socket_bind,socket_strerror,pcntl_fork,pcntl_signal,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,openlog,apache_get_modules,apache_get_version,apache_getenv,apache_note,apache_setenv,virtual,name
    Hatta benim önerim işi abartın ve php kodlamaları siz yaptığınız için kullanmadığınız fonksiyonların hepsini yazın kalabalık olsun.

    Bunun dışında güvenlik için mod_security olmazsa olmaz bir eklentidir. Sunucu güvenliğinin ~%80'ini mod_security sağlar diyebiliriz. Mod security için de kural zincirleri mevcut bir çok yerde bunlara ekstra olarak sizlere önerim. Alın shell scriptleri atın sunucuya tıklayın bir yerine adres satırına bakın örnek asd.php?shell&cmd=kapgel tarzı birşey yazıyorsa ?shell&cmd= burasını alın ve mod security kural zincirine ekleyin ve engelleyin. Ufak bir örnek kural zinciri de yazayım onun üzerinden geliştirip kullanabilirsiniz.

    #Bu bölümde yaptığımız adres bazlı engelleme. Yani eğer tarayıcıda adres satırında aşağıdakiler geçiyorsa kişinin o sayfayı açmasını engelliyoruz.
    SecFilterSelective THE_REQUEST "act=cmd"
    SecFilterSelective THE_REQUEST "act=tools"
    SecFilterSelective THE_REQUEST "act=gof"
    SecFilterSelective THE_REQUEST "act=ls"
    SecFilterSelective THE_REQUEST "act=mk"
    SecFilterSelective THE_REQUEST "act=f&"
    SecFilterSelective THE_REQUEST "r57"
    SecFilterSelective THE_REQUEST "c99"
    #Bu bölümde yaptığımızda dizin bazlı engelleme. Aşağıdaki klasörleri web(apache) üzerinden görüntülemeye kapatıyoruz.
    SecFilter /boot/
    SecFilter /dev/
    SecFilter /etc/
    SecFilter /initrd/
    SecFilter /lib/
    SecFilter /lost+found/
    SecFilter /mnt/
    SecFilter /proc/
    SecFilter /root/
    SecFilter /sbin/
    SecFilter /tmp/
    SecFilter /usr/
    SecFilter /usr/local/apache/
    SecFilter /usr/local/mysql/
    SecFilter /var/


    Bunların dışında geliştirmeniz mümkün bu kuralları amaç mantığını anlamak. Benim burada kendi kullandığım özel kural zincirini vermem bile sizi korumaz çünkü güvenlik anlık bir olaydır sürekli takip ister. Hazıra alışmak yerine mantığını öğrenin ve kendinizi geliştirin. Mantık konusunda seve seve yardımcı olurum. Fakat kimse hazır balık beklemesin tutmayı öğrenmek isteyenlere kapım her zaman açık.

    Evet bir kaç güvenlik önlemi daha alalım

    SSH portunu değiştirelim.

    /etc/ssh/sshd_config dosyasını düzenlemek için açalım. vi , nano , pico gibi editörler kullanabiliriz. vi bir çok kişi için zor geliyor en basiti nano ve pico'dur. yeni başlayanlar bunları kullansın.

    [ root@netbilsis ~ ] nano /etc/ssh/sshd_config

    dedik ve açılan ekranda


    Alıntı
    #Port 22
    #Protocol 2,1
    #ListenAddress 0.0.0.0
    #ListenAddress ::
    şeklinde bir bölüm var. Burayı


    Alıntı
    Port 4099
    Protocol 2
    #ListenAddress 0.0.0.0
    #ListenAddress ::
    şeklinde yapıyoruz. Buradaki 4099 rakamını siz istediğiniz bir rakamla değiştirin. Buraya yazacağımız değer artık bizim port numaramız olacak. Bir alt satırda da dikkat ettiyseniz 1 protokolünü kaldırdık. Ctrl + X yapıyoruz düzenlemeden sonra onaylayıp kaydediyoruz.

    UYARI:
    omurakgun adlı üyeden alıntı: mesajı görüntüle
    bu işlemi yaptıkdan sonra egerki sunucunuzda apf, csf veya daha farklı bir firewall yüklü ise 4099 portunu kesinlikle acınız. yoksa ciddi sorun yaratabilir.

    Güvenlikle ilgili başka sorularınız varsa buraya yazabilirsiniz. Ama rica ediyorum. Mantıklı sorular sorun. Çocukça şeyler(Abi sitemi hacklediler ne edeyim?, Abi apache derledim sıra nerede?) sormayın.

    Örnek Soru Modeli: Apache yapılandırmasını yaptıktan sonra httpd.conf içerisinde xxx yyy zzz noktalarına optimizasyon yapmayı düşünüyorum, makine özelliklerim bu, makinemdeki site sayısı şu , toplam hitim bilmem ne kadar, işletim sistemim bu , kontrol panelim (varsa) bu vs. vs. vs...

    bu şekilde sorun lütfen. Sizin sorularınıza mümkün olduğu kadar direk cevap vermek için detaylı yazın. Bazen öyle oluyor ki yardım isteyene yardım etmek için ağzından laf almaya uğraşıyoruz. Bunu yapmazsanız benden de detaylı cevap alırsınız.
  • 20-06-2008, 14:59:15
    #2
    Alıntı
    SSH portunu değiştirelim.
    /etc/ssh/sshd_config dosyasını düzenlemek için açalım. vi , nano , pico gibi editörler kullanabiliriz. vi bir çok kişi için zor geliyor en basiti nano ve pico'dur. yeni başlayanlar bunları kullansın.
    [ root@netbilsis ~ ] nano /etc/ssh/sshd_config
    dedik ve açılan ekranda
    şeklinde bir bölüm var. Burayı
    şeklinde yapıyoruz. Buradaki 4099 rakamını siz istediğiniz bir rakamla değiştirin. Buraya yazacağımız değer artık bizim port numaramız olacak. Bir alt satırda da dikkat ettiyseniz 1 protokolünü kaldırdık. Ctrl + X yapıyoruz düzenlemeden sonra onaylayıp kaydediyoruz.
    Güvenlikle ilgili başka sorularınız varsa buraya yazabilirsiniz. Ama rica ediyorum. Mantıklı sorular sorun. Çocukça şeyler(Abi sitemi hacklediler ne edeyim?, Abi apache derledim sıra nerede?) sormayın.
    Örnek Soru Modeli: Apache yapılandırmasını yaptıktan sonra httpd.conf içerisinde xxx yyy zzz noktalarına optimizasyon yapmayı düşünüyorum, makine özelliklerim bu, makinemdeki site sayısı şu , toplam hitim bilmem ne kadar, işletim sistemim bu , kontrol panelim (varsa) bu vs. vs. vs...
    bu şekilde sorun lütfen. Sizin sorularınıza mümkün olduğu kadar direk cevap vermek için detaylı yazın. Bazen öyle oluyor ki yardım isteyene yardım etmek için ağzından laf almaya uğraşıyoruz. Bunu yapmazsanız benden de detaylı cevap alırsınız.

    bu işlemi yaptıkdan sonra egerki sunucunuzda apf, csf veya daha farklı bir firewall yüklü ise 4099 portunu kesinlikle acınız.

    yoksa ciddi sorun yaratabilir.
  • 20-06-2008, 15:03:33
    #3
    omurakgun adlı üyeden alıntı: mesajı görüntüle
    bu işlemi yaptıkdan sonra egerki sunucunuzda apf, csf veya daha farklı bir firewall yüklü ise 4099 portunu kesinlikle acınız.

    yoksa ciddi sorun yaratabilir.

    uyarı için teşekkürler evet unutmuşum bunu. Hatta ssh portunu düzenlemeden önce o portu açın sonra düzenleyin.
  • 20-06-2008, 15:07:40
    #4
    bunlarda apache için işe yarayabilir, Elazığlı168 yazmıştı

    Alıntı
    İlk önce saldırı alan sitenin nslerini google a çektim bi süre sonra mrtg indi ardından yaptığım şeyleri anlatayım

    1.Makinayı ping isteklerine kapattım
    Komut
    Alıntı:
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all


    2.Syn Flooding Saldırılarda syn cookie tutup apacheyi şişirmemesi için
    Komut
    Alıntı:
    echo 1 > /proc/sys/net/ipv4/tcp_syncookies


    3.Smurf Saldırılar içinde
    Komut
    Alıntı:
    echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
  • 20-06-2008, 19:12:55
    #5
    Kurumsal PLUS
    teşekkürler, mod_security kurulu olup olmadığına ve kuruluysa nasıl kural belirleyeceğime bakayım.

    sunucuda panel olarak ISPConfig diye bişi var da, apache php filan modülleri nasıl derledim bir ben bi Allah bilir
  • 18-09-2008, 16:33:07
    #6
    İlk önce saldırı alan sitenin nslerini google a çektim bi süre sonra mrtg indi ardından yaptığım şeyleri anlatayım
    
    1.Makinayı ping isteklerine kapattım
    Komut
    Alıntı:
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
    
    
    2.Syn Flooding Saldırılarda syn cookie tutup apacheyi şişirmemesi için
    Komut
    Alıntı:
    echo 1 > /proc/sys/net/ipv4/tcp_syncookies
    
    
    3.Smurf Saldırılar içinde
    Komut
    Alıntı:
    echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
    Arkadaşimizin yazdığı kodlar ile değişen ayarları echo dan sonra 0 olarak değiştirerek eskı haline getirebilirsiniz.

    Ornek
    echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
    Makina ping isteklerine açılır.Bu arada dokuman çok güzel olmuş elinize sağlık.
  • 18-09-2008, 16:38:34
    #7
    Bir tane de ben ekliyeyim ssh'a sadece belirttiğiniz ip no'dan girmesini istiyorsanız

    iptables -A INPUT -s ipno -p tcp --dport sshport -j ACCEPT
    ipno > sabit ip numaranız
    sshportuna > ssh portunuz (default : 22)

    Herkeze açık olmasını istiyorsanız

    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  • 26-12-2008, 23:47:53
    #8
    Üyeliği durduruldu
    merhaba tahsin talay...php ini dosyasini cok guvenli bir sekilde ayarladim..file_uploads bolumunu off yaptim forum istesi icin bir sakincasi olmaz umarim...

    benim asil sorum suydu..whm panelden mod security son surumunu kurdum(2.5 yada 2.7 tam hatirlayamiyorum)

    fakat kurduktan sonra bazi ipler siteye giremiyordu...acayip sorunlar olustu..mecbur kaldirdim..

    bu mod securuy son surum kurulumu biri bana detayli antatsa cok mekbule gecicek..forumlarda arastidim

    .htaccess duzenlemesi gerekmis..secfilter engine off vs ayarlari yapmamiz lazimsiz fakat oda ise yaramadi..+mod security kurall zincirini bazi forumlardan buldum ama nereye atacagimi bilemeyorum..kusura bakmayin yeniyim biraz server isinde
  • 27-12-2008, 02:34:25
    #9
    Tahsin bey bir kez daha buradan teşekkür etmek istedim, sunucularımızın bakım ve güvenlik ayarlarını yaptığınız için şu an çok memnunuz firma olarak teşekkürler ederiz.

    Saygılarımla Kenan ÇINAR