HTTP DOS Saldırısının Test Edilmesi

Bir web sitesi tasarladık,kodladık ve yayına hazır hale getirdik. Bu siteyi herhangi bir teste tabi tutmadan direkt yayına açmak olası onlarca saldırıyı göze aldığımız anlamına gelir. Site tasarlarken,kodlarken,sistem tasarımını dizayn ederken mutlaka saldırıları göz önünde bulundurarak gerçekleştirmek zorundayız. Bizim için ufak görünen ama saldırgan için açık kapı sayılan detaylar site için verilene emeğin boşa gitmesini sağlar.

Peki siteyi sağlam şekilde kodladık ve bir nevi pentest işlemlerine tabi tuttuk ve sonuçta ciddi risk oluşturacak tüm kapıları kapattık. Bundan sonra siteyi yayına açtık. Yayın hayatına başlayan sitenin web trafiği ziyaretçi sayısına göre değerlendirilir. Siteyi günün belirli saatlerinde ,dakikalarında,saniyelerinde ya da daha kısa sürelerinde görüntülemek isteyen ziyaretçiler vardır.

Bir ziyaretçi ile on,yüz,bin,milyon ziyaretçi arasında nasıl bir fark vardır?
On saniye içinde bin trafik hacmi veya bir dakika içinde yüzbin trafik alan  siteler bu kadar isteği nasıl karşılıyor?
Bu soruların cevabı  "siteyi yayın hayatına başlatırken hiç stress testine tabi tutuyormuyuz?" sorusunun cevabında gizlidir.

 Konuyu toparlayalım.
Web siteleri client-server mimari üzerinde çalışırlar. Bu mimariye göre client tarafındn talep edilen her istek  sunucuya(server) gönderilir. Sunucu kendisinde mevcut ve sabit olan istek kuyruk alanı sayısınca cevap vermek zorundadır. Her istek birbirinden bağımsız olabileceği gibi tüm isteklerinde aynı olması mümkündür. Talep edilen sayfanın boyutu,bunun server da oluşturacağı CPU,network trafiği vb. değerleri isteklerin karşılanmasında önemli parametrelerdir.

Dolayısıyla yayına başlatacağımız siteleri stres testine tabi tutmak HTTP DOS saldırının olası sonuçlarını test etmeyi sağlar. Bir siteye farklı adreslerden talep edilen isteklerin sayısı siteyi barındıran sunucuların kaldıramayacağı kadar ise bu normal şartlarda bile olsa DOS saldırı anlamına veya eşdeğeri sonuç üretmesine neden olur.

Durumu birde saldırı endeksli düşünelim. Bir,iki veya bir düzine IP bloğundan gelen isteklerin sayısı ile süre parametlerini değerlendirdiğimizde elimizde zamana göre istek sayısı çıkar.
5 sn içinde 100 istek veya 1 sn içinde 1000 istek şeklinde....

Saldırı amacı taşıyan bu istekler HTTP DOS saldırısının oluşmaya başladığını gösterebilir. Peki aynı IP den gelen bu çoklu isteklere karşı nasıl bir önlem almak gerekiyor.Her istek normal kullanıcıdan normal bir bir sayfayı talep etme şeklinde gerçekleşmeyebilir.

Aynı IP adresinden gelen bu kadar istek için belirli süre içinde ancak belirli sayıda istek talep edilebilir diye kural oluşturulabilinir.

Login ekranında brute-force atak deneyen saldırgan saniyede yüzlerce istek gönderebilir. Bu durumda sitenin cevap verme durumu ciddi manada etkilenir.


Bu gibi durumlarda belli süre veya belli sayıda istek karşılandığında CAPTCHA gösterilip ziyaretçi kontrolü yapılabilinir.
Aşağıda web sitesi için stres testi yapan bir tool mevcut. Kullanımı aşağıdaki gibidir.Free Trial için....


Test edilecek sitenin adresi için...


Stres testini başlatalım


Test ederken giden isteklerin görünümü...


Sitenin bulunduğu sunucun normaldeki network ve CPU değerleri...


Stres testine tabi tutulurkenki değerler....



Görüldüğü gibi CPU ve network trafiği ciddi manada artmış durumda.Siteler için mutlaka stres testi yapıp HTTP DOS atağı veya eşdeğeri sonuç üreten durumlar için önlem almak gerekiyor.

Yorumlar

Bu blogdaki popüler yayınlar

Wamp Server ile Yerel Ağınızda Site Yayınlama

Web Pentest İşlemlerinde Burp Suite Kullanımı-1