folder Tahribat.com Forumları
linefolder Web sitesi Güvenliği, DOS - DDOS Saldırıları...
linefolder PHP Flood Saldırısı Önleme Farklı Yöntem



PHP Flood Saldırısı Önleme Farklı Yöntem

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek

    İyi geceler hocalar. Çok iddialı oldu ama tabi doğruluğunu siz test edeceksiniz :D DenyoLaunch ile test ettim atağını yapıyor ama işlem devam etmediği için banamısın demiyor site kapanmıyor.

    Olayın mantığı: Her dakikada atıyorum 10 işlem yaptırtmamız daha fazlasında engellememiz gerekiyordu. Bunu session ile yapıyorduk ama adam cookieleri kapatınca linç oluyordu ortalık. Ben bunu session yerine dosyaya yazdırmayı denedim çok da güzel oldu. Denyoİşlemini yapıyor ama dosyamız işlem yaptırmıyor die() ile olayı kesiyor.

    Neden başarılı buldum? Normalde bir sitede güvenlik resmi olsun olmasın, sorgu kaydedilsin kaydedilmesin host çöküyordu. Fantazi olarak hemen her siteye uyguluyordum bunu :D Şimdi kendi hostuma denedim önceden mesela tak kapanıyordu siteye girilmiyordu şimdi normal seyrine devam ediyor.

    Dakikada bir kişi 10 sorgu yapabilir. Gerçek ip adresine göre bilgileri alır. IP adresine göre işlemleri durdurur.

    Sayfalarınızın en tepesine koyun yeter.

    Sürekli değişen bir IP felan varsa bir boka yaramaz bu fonksiyon.

    function GetIP(){
    	if(getenv("HTTP_CLIENT_IP")) {
     		$ip = getenv("HTTP_CLIENT_IP");
     	} elseif(getenv("HTTP_X_FORWARDED_FOR")) {
     		$ip = getenv("HTTP_X_FORWARDED_FOR");
     		if (strstr($ip, ',')) {
     			$tmp = explode (',', $ip);
     			$ip = trim($tmp[0]);
     		}
     	} else {
     	$ip = getenv("REMOTE_ADDR");
     	}
    	return $ip;
    }
    function iyibuFlood(){
    #by_Tet - Tahribat.com - iyibu.org#
    $str = file_get_contents('flood.txt');
    $ip = GetIP();
    preg_match('/dakika\((.*?)\);/', $str, $dakika);
    if($dakika[1]==date("i")){
    preg_match('/'.$ip.'\((.*?)\);/', $str, $işlem);
    if(empty($işlem)){
    $str .= "\n".$ip.'(1);';
    }else{
    $str = preg_replace_callback(
    '/'.$ip.'\((.*?)\);/',
    function ($m) {
    	if($m[1]>=10) die();
      return str_replace('('.$m[1].')','('.($m[1]+1).')',$m[0]);
    },
    $str
    );
    };
    
    }else{
    $str = 'dakika('.date("i").');';
    $str .= "\n".$ip.'(1);';
    }
    $flood = fopen("flood.txt","w");
    fwrite($flood,$str);
    fclose($flood);
    }
    

     

    iyibuFlood(); yazarak fonksiyonu çağırmayı unutmayınız.

    NOT: Az kalsın unutuyordum; flood.txt dosyasına gerekli izinleri vermelisiniz.


    iyibu! yeniden..
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PHP-SEO Developer
    Erdem
    Erdem's avatar
    Kayıt Tarihi: 04/Haziran/2002
    Erkek

    eline sağlık ama işlemciyi aşırı yoracak bir şey.

    Ama nasıl işe yarar;

     

    Sunucunuzda cloud flare üzerinden geliyordur, Sonra sunucu üzerinde yine fiziksel yada firewall vardır, hadi burdanda geçtiler şiddet azaldı 

    ozaman seninki bloklar ve koruma sağlar.

     

    Hoş sağlam bir fiziksel firewall ile buna bile gerek kalmaz.

     

    Yalnız benim geçenlerde yediğim gibi 200 mg bit bir saldırı gelirse data center sana ne oldu yazılım korumadımı der :)) Fişi çekerler


    Php for SEO nun ardından Php for Gcode (CNC)
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hybris
    Hybris's avatar
    Kayıt Tarihi: 12/Haziran/2007
    Erkek

    botnet ile eline verirler hocam bunu :p

    mod_evasive modülü orta ölçekli siteler için makul diyorlar ama henüz denemeye gözüm yemedi.

    ince ayarı yapamazsan gugılı da banlama tehlikesi var.


    agile isn’t how fast you can go, it’s how fast you can turn.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    HDD I/O ları uçurursun hocam. Dosyalarla uğraşacağınıza Database'e yazdırsana hocam. Database'yi böyle saçma dosya yazma işlemleri ile uğraşmayın diye yapmış adamlar hocam. Database de düz dosyaya nazaran daha az I/O değerleri alırsınız.


    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    sokoban
    sokoban's avatar
    Kayıt Tarihi: 23/Ocak/2010
    Erkek
    DrKill bunu yazdı

    HDD I/O ları uçurursun hocam. Dosyalarla uğraşacağınıza Database'e yazdırsana hocam. Database'yi böyle saçma dosya yazma işlemleri ile uğraşmayın diye yapmış adamlar hocam. Database de düz dosyaya nazaran daha az I/O değerleri alırsınız.

    +1 , mysql'e yazmak istemiyorsan sqlite bir veritabanına bu temp verileri doldurabilirsin hocam hem regex kullanmana gerek kalmaz daha pratik ve hızlı olur.


    .
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek
    SnipeTR bunu yazdı

    eline sağlık ama işlemciyi aşırı yoracak bir şey.

    Ama nasıl işe yarar;

     

    Sunucunuzda cloud flare üzerinden geliyordur, Sonra sunucu üzerinde yine fiziksel yada firewall vardır, hadi burdanda geçtiler şiddet azaldı 

    ozaman seninki bloklar ve koruma sağlar.

     

    Hoş sağlam bir fiziksel firewall ile buna bile gerek kalmaz.

     

    Yalnız benim geçenlerde yediğim gibi 200 mg bit bir saldırı gelirse data center sana ne oldu yazılım korumadımı der :)) Fişi çekerler

    İşlemciyi yorabilir hocam doğru :/ Ben hiç düşünmemiştim şöyle bir hesaplama yapınca her kullanıcı dakikada 10 işlem yapsa 1000 kişi gelse her dakika 10bin defa dosya tekrar yazılacak + 10dan fazla işlemlerde dosya yazılmasa bile okunacak.

    Hybris bunu yazdı

    botnet ile eline verirler hocam bunu :p

    mod_evasive modülü orta ölçekli siteler için makul diyorlar ama henüz denemeye gözüm yemedi.

    ince ayarı yapamazsan gugılı da banlama tehlikesi var.

    Botnet için böyle ufak çözümler anlamsız olurdu hocam zaten okadar para bayılıyorlar

    sokoban bunu yazdı
    DrKill bunu yazdı

    HDD I/O ları uçurursun hocam. Dosyalarla uğraşacağınıza Database'e yazdırsana hocam. Database'yi böyle saçma dosya yazma işlemleri ile uğraşmayın diye yapmış adamlar hocam. Database de düz dosyaya nazaran daha az I/O değerleri alırsınız.

    +1 , mysql'e yazmak istemiyorsan sqlite bir veritabanına bu temp verileri doldurabilirsin hocam hem regex kullanmana gerek kalmaz daha pratik ve hızlı olur.

    Doğru söylüyorsunuz hocam ama ben şöyle düşününce zaten databaseden sorgu yapıldığı için sitelerin çöktüğünü düşünmüştüm :/ Misal ufak bir arama kutusu  olan bir siteye denyoyu postalayın. 1 dakika dolmadan çöküyor. Zaten amaç veritabnını kullanmaktı ama HDD I/O kavramını hiç düşünmemiştim. CPU ve RAM problemini çözsek HDD I/O zıkkımı çıkıyor arkadaş. @DrKill @sokoban

    Bir çözümü olanlar :) Hiç değilse günlük enfazla bin tekil hit geçmeyecek bir site için basit bir forma denyoyu postalayınca sitenin kapanmaması için nasıl bir fonksiyon yazabilirim? Mantığını söyleyin yaparım elimden geldiğince hocalar

     


    iyibu! yeniden..
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yawuz
    yawuz's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek

    kodlama algoritmalarıyla sanırım bir yere kadar verimli oluyor sonrasında eğri tersine dönüyor ve sisteme yük oluyor bunu arka planda farklı profesyonel çözümlerle ele almak gerekiyor sanırım. Ne yapsak bulutamı çıksak?


    tahribat.com a can feda
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PHP-SEO Developer
    Erdem
    Erdem's avatar
    Kayıt Tarihi: 04/Haziran/2002
    Erkek

    bir kişi vardır o bundan çok daha performanslı ve hızlı bir yazılım kodlamıştı isterse burdan deneyebilirsin. Hatta çok daha fazla geliştirebilirsin. Ben biraz geliştirdim. Sende standartı geliştirebilirsin.

     

    ucakbilet        

    .biz

     

    Google indexlemesin diye öyle yaptım. Sayfaya girip bi kaç kere f5 yapınca göreceksin ne demek istediğimi :))

    Erdem tarafından 06/Eyl/13 16:08 tarihinde düzenlenmiştir

    Php for SEO nun ardından Php for Gcode (CNC)
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek
    SnipeTR bunu yazdı

    bir kişi vardır o bundan çok daha performanslı ve hızlı bir yazılım kodlamıştı isterse burdan deneyebilirsin. Hatta çok daha fazla geliştirebilirsin. Ben biraz geliştirdim. Sende standartı geliştirebilirsin.

     

    ucakbilet        

    .biz

     

    Google indexlemesin diye öyle yaptım. Sayfaya girip bi kaç kere f5 yapınca göreceksin ne demek istediğimi :))

    Hocam çok güzel :) Fakat mantığını anlamadım mysqlden mi aldı?


    iyibu! yeniden..
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PHP-SEO Developer
    Erdem
    Erdem's avatar
    Kayıt Tarihi: 04/Haziran/2002
    Erkek

    Ayrıntılara burdan ulaşabilirsin, saldırılar için bende bir şey kodlamaya karar vermiştim tabiki kodlamaya geçmeden önce her zaman gibi google ı search ettim biraz uğraştıktan sonra buraya ulaştım. Birazda ben geliştirim. Gereksiz yerleri felan düzenledim seoya uygun olsun diye birazda. Birde ban dosyası var onu html_public değilde çok çok alt dizinlere attım tüm siteler ordan kontol ediyor yani ulaşım verdim. O tarz düzenlemeler.

    http://sourceforge.net/projects/iosec/

     


    Php for SEO nun ardından Php for Gcode (CNC)
Toplam Hit: 3881 Toplam Mesaj: 10