THT DUYURU

Web & Server Güvenliği Doğru web ve veritabanı sunucusu güvenliği sağlanmadan, bilgisayar korsanları hassas verilerinize erişebilir. Web, Sunucu ve veritabanı güvenliğini nasıl sağlayacağınızı buradan öğrenebilirsiniz.

chat
Seçenekler

HTTP DoS Saldırılarına Karşı Saldırı Yüzeyini Web Uygulaması Seviyesinde Azaltma Örn.

S4cuRiTy EneMy - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
04/2012
Nereden:
root@server
Yaş:
24
Mesajlar:
8.779
Konular:
1513
Teşekkür (Etti):
968
Teşekkür (Aldı):
3105
Ticaret:
(0) %
16-10-2013 10:11
#1
HTTP DoS Saldırılarına Karşı Saldırı Yüzeyini Web Uygulaması Seviyesinde Azaltma Örn.

Web uygulamalarının HTTP DoS/Flood saldırıları altında saldırı yüzeyini azaltabilecek şekilde tasarlanması için gerekli bilgileri içeren makalelere referanslar bölümünden ulaşılabilir. Bu yazıda senaryolar bazında yapılacak HTTP DoS saldırına karşı alınabilecek önlemlerden örnekler verilecektir.

1. İstek Sayısı Limitleme (Temel Yaklaşım)

Temel yaklaşım, belirli bir süre zarfında yapılabilecek en fazla istek (GET, POST, vb.) sayısını tespit etmek, bu kuralı ihlal eden bir IP adresini saptamak ve önceden belirlenmiş aksiyonu uygulamaktır. Bu aksiyon tespit edilen IP adresinin yeni isteklerine belirli bir süre boyunca cevap vermemek veya Web uygulamasına ait sayfaların sadece bir kısmını cevap olarak döndürmek olabilir.
İstek sayılarının limitlenmesi aşamasındaki en önemli nokta, isteğin karakterini tespit etmeye yarayan kuralı doğru tanımlamaktır. 10 saniyelik bir süre zarfında 100 istek gönderen bir IP adresinin (A) karakteristiği ile 1 saniyelik süre zarfında 10 istek gönderen bir IP adresinin (B) karakteristiği farklıdır. Her ne kadar oran bazında bakıldığında saniyede 10 istek ile aynı gibi gözüken bu iki kuraldan ilki, ikincisine oranla daha toleranslıdır.



Kural ihlalinin tespit edildiği durumda gerekli aksiyon alınır. Bu aksiyon genellikle ya istek yapan IP adresinin engellenmesidir ya da saldırı yüzeyini azaltmak ve Web servisi ile Web uygulamasına bağlı diğer sistemlerin kaynaklarını korumak için boş sayfa benzeri bir cevapla isteğe geri dönüş yapmaktır. Düşük kaynak tüketen cevapla geri dönüldüğünde bu cevabın askıda kalma süresi önem arz eder. Kuralı ihlal eden IP adresine 10 saniye süre boyunca boş bir sayfa, uyarı mesajı veya CAPTCHA gösterilebilir.

a. Düşük Kaynaklı Cevap Süresini Belirleme

Bu aşamada askıdaki 10 saniyelik zaman diliminde gönderilen cevabın yeni isteklere açık olması sağlanabilir. 10 saniyelik süre zarfında istek yapmaya devam eden IP adresi 10 saniyelik süre sonunda sayfanın tam sürümünü görüntüleme hakkını yine de elde eder. Bu hak, kuralı tekrar ihlal edene kadar güncelliğini korur. Diğer bir yaklaşım ise, 10 saniyelik süre zarfında istek gelmeye devam ederse, her gelen yeni istek için kuralın ihlal edildiğini varsayarak 10 saniyelik zaman dilimini başa almaktır. Böylece sayfanın tam sürümünü görüntülemek isteyen IP adresinin 10 saniye boyunca hiçbir istek göndermemiş olması gerekmektedir. 10 saniyelik süreyi beklemek istemeyenler için CAPTCHA sorulabilir.

b. Kural İhlali Yapan IP Adresine Her Zaman CAPTCHA Sorulması

IP adresinin bir kere kuralı ihlal etmiş olması nedeniyle bu IP adresi ona düşük kaynaklı sayfa gösterilmesinin yanı sıra başka bir listeye de alınabilir. Bu listede bulunan bütün IP adreslerine Web sayfasını görüntülemek için bir CAPTCHA sorulur ve sadece bu CAPTCHA’yı çözen IP adresine belirli bir süre sayfayı görüntüleme izni verilir. Ancak bu izin, HTTP Session aracılığı ile tanımlanan bir Token değeri ile gerçekleştirilir. İznin verildiği süre zarfında kural ihlali gerçekleştiren IP adresi yine düşük kaynaklı cevap gönderilen sayfayla ve CAPTCHA ile karşılaşır.



Gönderilen düşük kaynaklı isteklerle Web uygulamasına bağlı kaynakların kullanımı da azaltılmış olur. Böylece, önündeki güvenlik sistemlerini aşan bir HTTP DoS saldırısı Web uygulaması seviyesinde bir saldırı yüzeyi azaltılması girişimi ile karşı karşıya kalır.


Şekil 3 HTTP İsteği ve Web Uygulaması Arkasındaki Teknolojiler

2. Implicit Deny ve Token Access Yaklaşımı (Varsayılan Olarak Kuralı İhlal Edildi Saymak)

Bu yaklaşımda hali hazırda gelen her isteğin bir DDoS saldırısı altındaymış gibi kötü amaçlı olduğu varsayılır. Bu durumda içinde CAPTCHA sorulan bir sayfa gösterilir. CAPTCHA’yı çözen kullanıcılara belirli bir süreliğine sayfayı görüntüleme fırsatı verilir. Bu süre zarfında kural ihlali yaşanırsa bu IP adresi kara listeye alınır ve CAPTCHA sayfasına geri döndürülür.

Aynı zamanda bu ekranda dahi kural ihlali yaptığı tespit edilen IP adresleri işletim sistemi üzerinde bulunan bir Host-Firewall veya ağ katmanında bulunan bir Stateless/Statefull Firewall aracılığı ile engellenebilir. Böylece düşük kaynaklı sayfa ile cevap döndürülürken aynı zamanda da kural ihlal eden IP adresleri tespit edilmiş olur.



Şekil 4 Anomali Tespitinin Yapılması

Web uygulaması tabanlı bu çözüm ile saldırı esnasında tüketilen kaynak (SQL sorgusu, CPU, vs.) miktarı azaltılabilir, saldırgan IP adresleri tespit edilebilir ve/veya otomatik olarak başka bir sistem aracılığı ile (Htaccess, Iptables veya bir Stateless/Stateful Firewall ile) bu adresler engellenebilir. Web uygulamasının diğer katmanlardaki güvenlik cihazları ile konuşuyor olması, HTTP Flood saldırıları için Web uygulamasını barındıran sistemin de ek bir güvenlik önlemiyle daha korunması sonucunu doğuracaktır.




Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler