<div>Aslinda bir onceki e-postada bahsettigim &quot;akilli saldirilar&quot; da bunu anlatmak istemistim. Bir kac senedir testlerde&nbsp;kullandigim&nbsp;bu isi yapan,&nbsp;yazdigim bir python script var. Kod icindeki yorumlar yeterli olacaktir ama daha da gelistirmek isteyen olursa ne ala (KEEPALIVE_TIMEOUT ve MAX_KEEPALIVE_REQUEST degerlerini bulmak icin yari manual bir yol izliyorum.&nbsp;Test kismi otomatik.).</div>

<div>&nbsp;</div>
<div><a href="http://www.webguvenligi.org/apachelive.tar.gz">http://www.webguvenligi.org/apachelive.tar.gz</a><br></div>
<div>bedirhan</div>
<div>&nbsp;</div>
<div class="gmail_quote">06 Kasım 2008 Perşembe 20:57 tarihinde Huzeyfe ONAL <span dir="ltr">&lt;<a href="mailto:huzeyfe@lifeoverip.net">huzeyfe@lifeoverip.net</a>&gt;</span> yazdı:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div text="#000000" bgcolor="#ffffff">Haklisin pipelening aklima gelmemisti, benim karsilastigim saldirilarda pipelining kullanana rastlamadim hic ya da tarpitting ile bloklayabildigim icin farketmedim. Bu arada bildigin pipelining yontemini kullanan bir worm ya da test araci var mi?&nbsp; <br>
<br>Ek olarak sunucu tarafinda request pipelining destekleyen uygulamanin da her bir istek icerisinde max. ne kadar istek tasinabileceginin belirlenmesine izin veriyor olmasi bu tip saldiirlarda ise yarayabilir. <br>
<div>
<div></div>
<div class="Wj3C7c"><br>Deniz Cevik wrote: 
<blockquote type="cite"><pre>Her bir GET için yeni bir 3WHS oluşturulmasına gerek yok. HTTP/1.1 açılan bir bağlatı içinden istenildiği kadar request gönderilmesine izin verir. (Request Pipelining). Bu durumda firewall&#39;da bir bağlantı gözükür ama sen binlerce lerce isteği tek bağlantı kanalı üzerinden yollayabilirsin. Bu durumu saniyede 1000 istek yollayacak şekilde ayarlayıp, 10 adet HTTP 1.1 connectioni açarsan, ve response&#39;u büyük bir sayfaya, veri tabanından büyük bir result set çeken uygulamaya, arka tarfta veri tabanına yazma işlemi yapan veya mail atam bir forma, bu işlemi uygularsan 10 adet bağlantı ile arka taraftaki web sunucusunu,DB, mail atan sunucuyu, alan istemciyi &#39;yi zor durumlara düşürebilirsin. 

Bu tip saldırılara reverse-proxy, web application firewall (appliance veya open source module) dışında konvensiyonel(ne demekse :P)güvenlik yazılımları ile önleyemezsin.

İyi Çalışmalar


-----Original Message-----
From: Huzeyfe ONAL [<a href="mailto:huzeyfe@lifeoverip.net" target="_blank">mailto:huzeyfe@lifeoverip.net</a>] 
Sent: Wednesday, November 05, 2008 8:41 PM
To: <a href="mailto:netsec@lifeoverip.net" target="_blank">netsec@lifeoverip.net</a>
Cc: <a href="mailto:owasp-turkey@lists.owasp.org" target="_blank">owasp-turkey@lists.owasp.org</a>
Subject: Re: [netsec] Re: [Owasp-turkey] Under DDos Attack

Selamlar,

bir saldirgan GET flood islemini nasil yapabilir dusunelim;

ilk bakista benim aklima bu isin farkli IP adreslerinden 
yuzlerce/binlerce http istegi olusturrarak yapilmasi geliyor.

Oncelikle GET flood yapabilmesi icin TCP 3way handshake islemini 
tamamlamak zorundadir. Demekki yapilacak her GET flood islemi bizim 
Firewall tarafindan gorulecek.

Yani ben Firewallumda SYNProxy ve stateful tracking ozelliklerini 
kullanarak farkli ip adreslerinden gelecek get floodlarini TCP/IP 
seviyesinde gorebilecegim icin daha web sunucuya ulastirmadan 
engelleyebilirim. Tabi binlerce ip adresinden gelecek birer istek 
karsisinda cok birsey yapamaz ama boyle bir saldiri tipi ile henuz 
karsilasmadim ben.


Firewalllar icin Linux Iptables&#39;in tarpitting patch&#39;i var, Free/OpenBSD 
Packet Filter tum bu ozellikleri yamasiz sagliyor.


Ferruh Mavituna wrote:
  </pre>
<blockquote type="cite"><pre>    Benim gordugum DDOS konusunda yapilan en buyuk yanlis islem
    saldiriyi application seviyesinde eritmeye calismak ki bu da
    network seviyesine gore %60-%70 daha pahaliya mal oluyor.


Durumuna gore degisir tabii ki, ama hafif zeki olan herhangi bir GET 
istegi bazli DDoS da firewall bazinda engelleme yapmak (/firewall cok 
zeki bir sey degils/e) pek mumkun degil. Tahminim buradaki durumda o. 
Ama HTTP istegini analiz edebilen cozumler varsa sonuc uretecektir, bu 
konuda oneri varsa acikcasi bende merak ediyorum. Cunku sık sık 
karsima gelen konulardan biri ve maalesef pek basit bir cozumu yok.


2008/11/5 Huzeyfe ONAL &lt;<a href="mailto:huzeyfe@lifeoverip.net" target="_blank">huzeyfe@lifeoverip.net</a> 
<a href="mailto:huzeyfe@lifeoverip.net" target="_blank">&lt;mailto:huzeyfe@lifeoverip.net&gt;</a>&gt;

    Musa selamlar,

    mumkunse kullanilan software firewall&#39;un ismini ogrenebilir miyim?
    Zira bana degerler cok az geldi. Yani en basit Firewall bile bu
    degerler karsisinda rahatlikla ayakta durur. Es zamanli 30000~
    paket ya da ortalama 20000~ state durumunda bile %5 civarinda CPU
    harcayan software firewallar var.

    Mesela OpenBSD Packet Filter ve benzeri firewallar icin yogun
     paketler 80. port(uygulamaya ulasmadan)a gitmeden network
    seviyesinde bloklanabilir. Bunun icin firewall&#39;a  tek bir ip
    adresinden su porta max baglanti sayisi y dir demek yeterli.

    Paketler uygulama seviyesine ciktiginda engellemek hem daha zor
    hem de cok daha fazla kaynak tuketiyorlar.

    Benim gordugum DDOS konusunda yapilan en buyuk yanlis islem
    saldiriyi application seviyesinde eritmeye calismak ki bu da
    network seviyesine gore %60-%70 daha pahaliya mal oluyor.




    Musa Ulker wrote:

        Tekrar merhabalar,

        Ferruh; Çok ilginçtir denediğim modlar kaldıramadı apachede
        ciddi yük
        durmaya devam etti.  Buradaki bottleneck software firewall
        atakları
        durdurmadı yeterli olmadı. Yüklenen ip sayısı başta 1 5 10
        diye değil
        de aynı anda 100+ şeklinde olunca ve iplerde değiştiği için
        çok kısa
        aralıklarla (1dkdan az süre için) yeni ipleri yakalayamadı ve
        apacheyi, apachede çalışan uygulama da mysql i kilitledi..

        Benim örnek verdiğim %30 sadece bir tane apache forku için.
        Maksimum
        olanı içindi. Firewall çalışmadan sistem kitleniyordu, ssha bile
        erişilmiyordu. Firewallla CPU kullanımı %80-85 civarında
        seyretmeye
        başladı. Aynı anda mevcut 80 portuna connection sayısı 200+
        civarındaydı..

        Saldırı detayı: Connect flood. Sürekli GET isteği. Saldırı çalışan
        uygulama üzerinden mysql i devre dışı bırakmaya yönelik olduğunu
        düşünüyorum. Daha önceden benzer bir saldırrıyla karşılaşmıştım..
        Gelen paketler gayet normal gözüküyor. Arada malformed
        requestlerde
        geliyordu ama başka bir kaynaktan olabilir.

        Kubilay; Rusya IP blokları konusunda araştırma yaparken şöyle bir
        siteyle karşılaştım, incelemenizi tavsiye ederim:
        <a href="http://www.countryipblocks.net/" target="_blank">http://www.countryipblocks.net/</a>

        Bedirhan; Apache KeepAlive konfigurasyonda kapalıydı. Apache
        backdoor
        module gibi birşeyler buldum ama bulduğum apache üzerinden
        backdoor
        açan bir moduledu. Senin bahsettiğin modülü paylaşır mısın?

        DNS güncellemsi aklıma geldi ama zararlarını kıyaslayınca çözümler
        arasından çıkardım..

        Aklın yolu bir: HW firewallarla çözüldü olay. Reverse proxy
        ile başka
        bir sunucuya yönlendirildi istekler ve o sunucu önünde Layer 7
        filtering yapıldı. (Juniper üzerinden custom filterlarla)

        Herkese gösterdiği açılımlar ve verdiği cevaplardan dolayı
        teşekkür ediyorum..

        Selamlar,

        M.Musa Ülker


        2008/11/4 Ferruh Mavituna &lt;<a href="mailto:ferruh@mavituna.com" target="_blank">ferruh@mavituna.com</a>
        <a href="mailto:ferruh@mavituna.com" target="_blank">&lt;mailto:ferruh@mavituna.com&gt;</a>&gt;:
         

            Merhabalar Musa,

            Benim merak ettigim esas kilit noktasi neresi? (gavurlarin
            tabiri ile
            bottleneck). Yani application da mi is kitleniyor, ondeki
            firewall mu
            sapitmaya basliyor, load balancer mi vs. ?

            Apache process&#39; i %30 ise , uygulamada veya Apache de bir
            sorun  yok diye
            varsayiyorum. Database server ne alemde onda da ciddi bir
            yuklenme yok mu?

            Bir de saldirinin detaylari ne? Syn-flood, connect-flood,
            yogun application
            istekleri (HTTP vs.)?  veya baska bir port acikta onun
            uzerinden mi bir sey
            yapiliyor? gelen paketlerin tum degerleri normal mi?
            Mesela tuhaf window
            size lari var mi vs.

            Sonucta DDoS ataklari engellemek cok zor olabiliyor ama bu
            bilgileri
            verirsen daha detayli yardimci olunabilir sanirim.

            Iyi Calismalar,

            2008/11/4 Musa Ulker &lt;<a href="mailto:musaulker@gmail.com" target="_blank">musaulker@gmail.com</a>
            <a href="mailto:musaulker@gmail.com" target="_blank">&lt;mailto:musaulker@gmail.com&gt;</a>&gt;
               

                Merhabalar,

                Dedicated bir sunucuya bir çok koldan DDos saldırısı
                gerçekleştiriliyor. En çok yük Apache üzerinde. Apache
                CPU load&#39;ı %30u
                geçebiliyor farklı apache processleri çalışıyor. Türlü
                çalışmalar
                yaptım; firewallar (salt iptables, apf, csf vs)
                denedim, ddos
                protectionları test ettim ama saldırıyı tam olarak
                kesemedim. Birazcık
                yükü hafifletebildim. Zombie makinalar üzerinden
                saldırı halen devam
                ediyor.

                Bu konuda nasıl bir yol izlemem gerekiyor?

                Teşekkürler

                --
                M.Musa Ülker
                _______________________________________________
                Owasp-turkey mailing list
                <a href="mailto:Owasp-turkey@lists.owasp.org" target="_blank">Owasp-turkey@lists.owasp.org</a>
                <a href="mailto:Owasp-turkey@lists.owasp.org" target="_blank">&lt;mailto:Owasp-turkey@lists.owasp.org&gt;</a>
                <a href="https://lists.owasp.org/mailman/listinfo/owasp-turkey" target="_blank">https://lists.owasp.org/mailman/listinfo/owasp-turkey</a>
                     


            --
            Ferruh Mavituna
            <a href="http://ferruh.mavituna.com/" target="_blank">http://ferruh.mavituna.com</a>

               



    ---------------------------------------------------------------------
    To unsubscribe, e-mail: <a href="mailto:netsec-unsubscribe@lifeoverip.net" target="_blank">netsec-unsubscribe@lifeoverip.net</a>
    <a href="mailto:netsec-unsubscribe@lifeoverip.net" target="_blank">&lt;mailto:netsec-unsubscribe@lifeoverip.net&gt;</a>
    For additional commands, e-mail: <a href="mailto:netsec-help@lifeoverip.net" target="_blank">netsec-help@lifeoverip.net</a>
    <a href="mailto:netsec-help@lifeoverip.net" target="_blank">&lt;mailto:netsec-help@lifeoverip.net&gt;</a>




-- 
Ferruh Mavituna
<a href="http://ferruh.mavituna.com/" target="_blank">http://ferruh.mavituna.com</a>
    </pre></blockquote><pre>---------------------------------------------------------------------
To unsubscribe, e-mail: <a href="mailto:netsec-unsubscribe@lifeoverip.net" target="_blank">netsec-unsubscribe@lifeoverip.net</a>
For additional commands, e-mail: <a href="mailto:netsec-help@lifeoverip.net" target="_blank">netsec-help@lifeoverip.net</a>

_______________________________________________
Owasp-turkey mailing list
<a href="mailto:Owasp-turkey@lists.owasp.org" target="_blank">Owasp-turkey@lists.owasp.org</a>
<a href="https://lists.owasp.org/mailman/listinfo/owasp-turkey" target="_blank">https://lists.owasp.org/mailman/listinfo/owasp-turkey</a>
  </pre></blockquote><br></div></div></div><br>_______________________________________________<br>Owasp-turkey mailing list<br><a href="mailto:Owasp-turkey@lists.owasp.org">Owasp-turkey@lists.owasp.org</a><br><a href="https://lists.owasp.org/mailman/listinfo/owasp-turkey" target="_blank">https://lists.owasp.org/mailman/listinfo/owasp-turkey</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Bedirhan Urgun<br><a href="http://www.webguvenligi.org">http://www.webguvenligi.org</a><br><a href="http://www.owasp.org/index.php/Turkey">http://www.owasp.org/index.php/Turkey</a><br>
<br>Türkçe Web Uygulama Güvenliği E-Posta Listesine üye olmak için: <br><a href="https://lists.owasp.org/mailman/listinfo/owasp-turkey">https://lists.owasp.org/mailman/listinfo/owasp-turkey</a><br>