[Owasp-turkey] [netsec] İlgi: Re: [netsec] Re: Under DDos Attack

Deniz Cevik Deniz.Cevik at intellect.com.tr
Thu Nov 6 03:51:46 EST 2008


- OSYM için konuşursak bana göre, bu tip sistemlerde genellikle oldukça hızlı response veren özel ve basit web sunucuları kullanılması bana mantıklı görünüyor. Örneğin sadece GET ve POST komutu olan ve text döndüren bir web sitesi gibi. Ancak EBAY gibi dünyanın her yerinden hit alan bir siteye sahipseniz, içerikde önemli olacağı için bunu yapamazsınız. Ancak büyük hit alan yerlerde kesinlikle modifiye edilmiş web sunucuları kullanılacaktır.

- Bu tip bağlantı isteğinin belirli zaman aralıklarında yoğunşaltığı sistemlerdeki asıl sorun maksimum bağlantı sayısı veya haracanan bant genişliği miktarından çok, saniyede açılan yeni bağlantı sayısının çokluğudur. Bu rakamlarda web sunucunun çalıştığı işletim sistemleri ile çok alakalıdır. Dolayısı ile web sunucunun çalıştığı işletim sistemine göre, bu rakamı karşılayacak büyük web farmlarına ihityaçları olacaktır.

- Bu webfarmına yükü dağıtabilecek, sabit bilgileri cahcleyecek, sıkıştıracak, güçlü yük denegeleyeci cihazlar. Dikkat ederseniz cahcleme işlemine gerek kalmaması ve response boyutunu büyütmemek adına sınav duyuruları yapıldığı zaman site text içeriğe dönüştürülüyor. Yük denegeleyici cihazlarda gene hem yedeklilik hem de paylaşım açısından LB cihazlarınında belirli bir sayının üzerinde olacağını söylemek sanırım yanlış olamayacaktır.

- Bu sistemlerin güvenliğini sağlamak ise oldukça büyük sorun olacaktır. Özellikle senede 1 kaç defa bu büyüklükte bir hite maruz kalıyorsanız, bu sistemi kaldıracak güvenlik yatırımının maliyeti çok büyük olacaktır. Bu yükü kaldıracak waf, firewall, ips gibi bileşenlerin de çok ucuz olamayacağı hatta bunların belirli oradan yavaşlamaya neden olacağıda göz önüne alınırsa OSYM gibi sistemlerde bu yatırımın yapılması zor olabilir. Bunun yerine uygulama tarafından sorunları halletmek daha uzu olacaktır. Ancak dünya çapında bir e-ticaret sitesi için aynı şeyleri söyleyemezsiniz. Hatta burada SSL'de devreye gireceği için, SSL ofloader gibi sistemlerde kullanmak zorunda kalabilirsiniz.

- Dünya çapında hit alan sistemler, yükü bölgesel olarak da dağıtırlar. Global yük paylaşımı yapılarak, sen en yakın sisteme yönlendirerek değişik lokasyonmlardaki sistemlere yönlendirirler. 

- Sistemdeki tüm bileşenlerin TCP/IP stack'inin yapıya göre ayarlanmasıda mutlaka gerekecektir. TCP start timeout, session time out, TCP end timeout, tcp_keepalive gibi performansa etki eden pek çok değerinde yapıya ve eldeki bileşenlere göre ayarlanması önem taşıyacaktır.

- Karmaşık bir trafik patternine sahipse QOS uygulanması, önemli servislere daha çok bant genişliği ayarlanması da hizmet kalitesini arttıracaktır. Ses ve video hizmeti veren yerler için QOS önem taşıyabilir.

İyi Çalışmalar 


-----Orijinal Mesaj-----
Gönderen: Musa Ulker
Gönderilen:Per 06.11.2008 00:17
Kime: netsec at lifeoverip.net
Bilgi: owasp-turkey at lists.owasp.org
Konu: Re: [netsec] Re: [Owasp-turkey] Under DDos Attack


Merhabalar,

Aslında DDoS olmasa da gerçekleştirilen, aklıma ÖSYM 'nin durumu
geliyor. Bugün KPSS sınavı sonuçları açıklanmış ve sonuç sayfası
açılmıyor. Farklı iplerden yüzbinlerce client yükleniyorlar, sunucu
meşgul mesajını okuduktan sonra sürekli sayfayı yeniliyorlar açılması
ümidiyle..

ÖSYM bilinçsiz bir  DDos saldırısı altında :) Bu gibi durumlarda ne
yapmak gerekir? Load balanceder mı yeterli mi gelmiyor? Her zaman bu
tarz durumlarla karşılaşmıyorsunuzdur ama bu gibi durum için çözüm
önerilerinizi bekliyorum. DDoS dan bir farkı var, siteye ulaşmayı
çalışanları bloklamamanız gerekiyor :)

Ne düşünüyorsunuz?

Selamlar
Musa

2008/11/5 Musa Ulker <musaulker at gmail.com>:
> Merhabalar arkadaşlar,
>
> Gün boyu bir konferansdaydım ve internet erişim imkanı sadece otel
> müşterilerine vardı. 3-5 bilgisayar kullanılmak üzere ayrılmış onları
> da hem konferans programlarına katılmak hemde şahsi işlemlerim için
> uzun süre meşgul edemedim. İnternetten uzak bir gün geçirdim, iyi mi
> kötü mü başka bir tartışma konusu olur herhalde.. Yine topluca cevap
> veriyorum, kusuruma bakmayın, alınan arkadaşlar olmasın ;)
>
>> Ferruh Mavituna <ferruh at mavituna.com>:
>>
>> Diger bir soru uygulama gerekenden fazla CPU harciyor mu? Cok yuksek database prosesi gerektiren islemler var mi? Ya da yogun islem yapan PHP sayfalari.
>> Eger GET yapilan sayfa sitenin en sayfasi ise o sayfayi cachelemek mumkun mu? IP ler duzenli degisiyor olamaz eminim ki ayni IPler bloklanana kadar GET
>> islemine devam ediyordur. Dolayisiyla ayni IP adresi dakika icerisin atiyorum 30 istek yaparsa o kisiyi direk bloklayabilirsin, ya da CAPTCHA vs. gibi onay isteyen
>> bir ekran gosterebilir ve eger onay vermezse bu kisi, onu bloklarsin (bu blok firewall  seviyesinde daha iyi olur ama teknik olarak zor olursa uygulama seviyesindeki
>> blokta yetecektir)
>
> Uygulama php ile geliştirilmiş açık kaynak kodlu bir e-ticaret
> uygulaması: OsCommerce - www.oscommerce.com
> Ne derece başarılı bir uygulama ve yoğun ziyaretçi aldığı zaman nasıl
> davranyıor ayrıntılı bilgim yok, ama eskiden bir ara araştırdığımda
> hantal bir yapıya sahip olduğunu görmüştüm. Komik bir uygulama,
> default kurulumda admin kısmında bir koruma olmadan geliyor, kendiniz
> authtentication yapısını bir şekilde, ya htaccessler ya da php ile
> (kastım dinamik bir yapı) ile korumanız gerekiyor. Ama hantal olduğunu
> hatırlyıorum o zamanlar için, belki ilerleyen zaman içerisinde gelişim
> göstermiştir..
> Cache sistemi destekleyip desteklemediğini, normal zamanda çok CPU
> tüketimi yapıp yapmadığını bilemiyorum.. Attackda gördüğüm kadarıyla
> farklı XXX ipden sürekli HTTP GET isteği gönderilmesi, bu istekler
> sonucu mysql eşzamanlı desteklenen kullanıcı sayısını aşması ve
> sitenin servis veremez duruma gelmesi.
>
>
>>
>> Ikinci olarak sanirim Apache icin benzer bir cok mod var http://www.zdziarski.com/projects/mod_evasive/ gibi bir mod isini gorebilir.
>
> Apache modlarını bayağı bir araştırmış oldum fırsat bu fırsat :)
> mod_evasive var, mod_security i zaten önceden kullanıyordum, mod_qos
> var, mod_limitipconn var, mod_dosevasive var, denedim ama pek fayda
> etmediler. Bu saldırı için application bazında değil de bir network
> bazında bloklama yapılırsa daha mantıklı olacağını düşünüyorum
> (sonuçta isteklerin apacheye ulaşıp onu analiz edip yorulması yerine
> firewall seviyesinde networkden direkt paketleri düşürmek daha
> mantıklı olacaktır..) ama yine de bu modları da deneme fırsatı bulmuş
> oldum. Bu saldırı için yeterli olmadıklarını söyleyebilirim. Tabii
> apache derlenişini, server konfigurasyonunu ve diğer etkenleri de göz
> önünde bulundurursak genelleme yapmak hatalı olabilir..
>
>>
>> Ucuncu olarak GET isteklerini incele, eger bariz be benzerlik varsa direk ona gore bloklama yap. Mesela sacma bir user-agent, ya da language header' i yoksa, ya
>> da accept yoksa vs. Bu bazi kisileri yanlislikla bloklamaya neden olabilir ama sanirim bu tip bir zamanda 3-5 kisiyi kaybetmek herkesi kaybetmekten daha iyi bir
>> secim olacaktir.
>
> Evet olabilir ama artık istekler kalmadı, artık bir sonrakine inş. bu
> da hayır dua mı oldu beddua mı bilemiyorum :)
>>
>> Ozelikle 3. oneri cok isine yarayabilir, saldiri yapanlarin isteklerini cok detayli incelemek ve bir pattern yakalamay calismak onemli bir nokta. Onlar saldiriyi
>> degistirebilirler ama bunu anlamalari ve cozmeleri bile cok uzun surecektir.
>
>> Bedirhan Urgun <bedirhanurgun at gmail.com>
>> Merhaba Musa,
>> Ilgili Apache modulunu http://people.apache.org/~trawick/mod_backdoor.txt bulabilirsin. (Apache 2.2.x versiyonu ile denemedim)
>>
>
> Modül bilgisi için teşekkürler..
>
>> Layer 7 filtering derken neyi kastediyorsun Musa, ayrit edici belli bir signature mu yakaladiniz saldiri isteklerinde (belli bir HTTP basligi veya URL) ve onu mu
>> kestiniz?
>
> İşin açıkcası hardware firewall ile çalışma yapan arkadaşların tam
> olarak nasıl bir signature yakaladıklarını bilemiyorum. Bu aralar
> başka yoğunluklardan fırsat bulamadım detaylarını tam olarka
> öğrenmeye. İlk fırsatta döneceğim..
>
>> Huzeyfe ONAL <huzeyfe at lifeoverip.net>
>>mumkunse kullanilan software firewall'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.
>
> Iptables :) onu kullandım aslında, ama apf ve csf de denemiş oldum..
> Bende rahatlıkla bloklayacağını düşündüm ama ilginçtir yeterli
> gelmediğini gördüm. Nedenini bilmiyorum. Ruleları listeledim ipler
> bloklanmış ama başka iplerden saldırı geliyordu. Bununla başa çıkmak
> için Huzeyfe'nin de geçen bahsettiği işi yapan
> http://deflate.medialayer.com/ bu scripti kullandım ama yine httpd de
> ciddi yük olduğunu gördüm. Firewall kapalıyken ssha bile erişemezken
> açınca CPU kullanımı %80-85 seviyesinde kaldı, bazen düştüğü olduğu
> %60 seviyelerine ama yeterli gelmedi. Belki de yanlış konfigure ettim
> bilemiyorum..
>
>> Mesela OpenBSD Packet Filter ve benzeri firewallar icin yogun  paketler 80. port(uygulamaya ulasmadan)a gitmeden network seviyesinde bloklanabilir. Bunun icin
>> firewall'a  tek bir ip adresinden su >porta max baglanti sayisi y dir demek yeterli.
>
> Ip tables için ip_limit modulü varmış sonradan öğrenmiş oldum..
>
> Herkese çok teşekkürler..
>
> Musa
>
> 2008/11/5 Serkan Akcan <Serkan.Akcan at nebulabilisim.com.tr>:
>> Application Proxy özelliği olan firewall ürünlerinde engelleme işlemi daha kolay yapılabilir zira bu sistemlerde direk web sunucusuna trafik gönderilmez. Firewall kendi karşılar istekleri. Bu sırada birçok kontrol yaparak paketlerin sunucuya teslim edilip edilmemesine karar verebiliriz. Bir nevi küçük waf diyebiliriz.
>>
>> Ayrıca ülke kodlarını bilen firewall ürünleri de var. GUI'den Rusya'yı yasakla diyorsunuz yasaklıyor. Ip bloklarını bilmenize gerek yok.
>>
>> Dolayısı ile ürün seçiminin önemini bir kez daha görmüş oluyoruz. Bu konu hakkında vakti zamanında bilgiguvenligi.org mail listesinde tartışma yapmıştık uzunca. Ayrıca beyaz şapka'ya makale de yazmıştım.
>>
>>
>> SA
>>
>>
>> -----Original Message-----
>> From: Huzeyfe ONAL [mailto:huzeyfe at lifeoverip.net]
>> Sent: 05 Kasım 2008 Çarşamba 20:41
>> To: netsec at lifeoverip.net
>> Cc: owasp-turkey at lists.owasp.org
>> 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'in tarpitting patch'i var, Free/OpenBSD
>> Packet Filter tum bu ozellikleri yamasiz sagliyor.
>>
>>
>> Ferruh Mavituna wrote:
>>>
>>>     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 <huzeyfe at lifeoverip.net
>>> <mailto:huzeyfe at lifeoverip.net>>
>>>
>>>     Musa selamlar,
>>>
>>>     mumkunse kullanilan software firewall'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'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:
>>>         http://www.countryipblocks.net/
>>>
>>>         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 <ferruh at mavituna.com
>>>         <mailto:ferruh at mavituna.com>>:
>>>
>>>
>>>             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' 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 <musaulker at gmail.com
>>>             <mailto:musaulker at gmail.com>>
>>>
>>>
>>>                 Merhabalar,
>>>
>>>                 Dedicated bir sunucuya bir çok koldan DDos saldırısı
>>>                 gerçekleştiriliyor. En çok yük Apache üzerinde. Apache
>>>                 CPU load'ı %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
>>>                 Owasp-turkey at lists.owasp.org
>>>                 <mailto:Owasp-turkey at lists.owasp.org>
>>>                 https://lists.owasp.org/mailman/listinfo/owasp-turkey
>>>
>>>
>>>
>>>             --
>>>             Ferruh Mavituna
>>>             http://ferruh.mavituna.com
>>>
>>>
>>>
>>>
>>>
>>>     ---------------------------------------------------------------------
>>>     To unsubscribe, e-mail: netsec-unsubscribe at lifeoverip.net
>>>     <mailto:netsec-unsubscribe at lifeoverip.net>
>>>     For additional commands, e-mail: netsec-help at lifeoverip.net
>>>     <mailto:netsec-help at lifeoverip.net>
>>>
>>>
>>>
>>>
>>> --
>>> Ferruh Mavituna
>>> http://ferruh.mavituna.com
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: netsec-unsubscribe at lifeoverip.net
>> For additional commands, e-mail: netsec-help at lifeoverip.net
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: netsec-unsubscribe at lifeoverip.net
>> For additional commands, e-mail: netsec-help at lifeoverip.net
>>
>>
>
>
>
> --
> M.Musa Ülker
> http://www.musaulker.com
> http://www.biltec.org
>



-- 
M.Musa Ülker
http://www.musaulker.com
http://www.biltec.org

---------------------------------------------------------------------
To unsubscribe, e-mail: netsec-unsubscribe at lifeoverip.net
For additional commands, e-mail: netsec-help at lifeoverip.net



More information about the Owasp-turkey mailing list