Clubturk.net

Friday
 
Text size
  • Increase font size
  • Default font size
  • Decrease font size
Ana Sayfa Category Blog Apache HTTP DoS Tool ve Önlemler

Apache HTTP DoS Tool ve Önlemler

e-Posta Yazdır PDF

Geçen günlerde, enteresan bir HTTP DoS tool’u yayınlandı. Perl ile yazılmış ve kullanımı çok kolay olan bu tool ile Apache gibi istekleri karşılamak için birden fazla süreç çalıştıran web sunucularını hizmet veremez hale getirmek oldukça basit.

Bu tool, diğer DoS saldırılarında da olduğu gibi sunucunun kaynaklarının tükenmesine ve bir müddet sonra hizmet veremez duruma gelmesine sebep oluyor fakat bu işi, tamamlanmamış http istek paketleri göndererek yapıyor. Yani, hedef sunucu gelen http isteklerinin tamamlanmasını bekliyor ancak istekler sürekli geliyor olmasına rağmen tamamlanmadığından ve tamamlanması için kurulu olan bağlantı sonlandırılmadığından dolayı çok kısa bir süre sonra sunucu yeni ve legal isteklere yanıt veremez duruma geliyor.

Bu tool ile yapılacak bir saldırıdan korunnmak için bir iki yöntem mevcut, bu yazıda bu konuya değinmek istiyorum.


Nereden nasıl bulunabileceğine ve kullanılabileceğine değinmeyeceğim bu script, apache 1.x ve 2.x, squid, dhttpd, GoAhead gibi web sunucularını etkiliyor. Ben default ayarlarla çalışan bir apache 2.0 üzerinde test ettim ve sunucunun down olması bir kaç saniyeyi bulmadı. Script tarafından gönderilen paketler tamamlanmamış http istekleri olduğundan dolayı, bu dos attack’ı sırasında apache’nin log dosyalarına herhangi bir şey yazılmıyor; yani ilk etapta loglardan bir şey çıkarmak mümkün olamayabilir.

Saldırı tipi DoS olduğundan ve sürekli aynı ip adresinden geliyor olduğu için saldırı sırasında engellemek kolay. Web sunucunuza açılmış olan connection’lara baktığınız zaman saldırıya ait bağlantıları kolayca tespit edebilir, firewall’unuzdan erişimini engelleyebilirsiniz.

Ancak, saldırıya maruz kalsanız bile etkilenmemek için aşağıdaki işlemlerden birisi uygulanabilir.

 


IDS/IPS Kuralı Oluşturmak

Gönderilen istek parçaları tamamen legal, yani önde bir IDS ya da IPS çalıştırıyor olsanız bile sisteminiz bu legal durumlardan şüpelenmeyebilir. Fakat kendi IDS kuralınızı yazarak saldırının önüne geçebilirsiniz. İlgili atağa ait http isteği şu şekilde.

"GET / HTTP/1.1" 400 348 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1;
Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.503l3; .NET CLR 3.0.4506.2152;
.NET CLR 3.5.30729; MSOffice 12)"


Bir IPS’iniz varsa, bu tool ile yapılacak olası bir saldırıdan etkilenmemenin en güzel yolu kendi kuralınızı yazmak ve yukarıda geçen http requestlerin bulunduğu paketleri drop etmektir. Ancak bir IPS kullanmıyorsanız, aşağıdaki diğer yöntemlere de göz atabilirisiniz.

Apache’de Timout Değerini Aşağı Çekmek 

Normalde, apache’nin default timeout değer 300 sn (5 dakika) hal böyle olunca ilgili tool ile kurulan bağlantılar 5 dakika süreyle aktif olacaktır, bağlantıların timeout’a düşmesinden sonra ise yenileri açılacaktır.

Eğer bu değeri daha düşük bir süreye set ederseniz, tamamlanmayan http requestlerina ait bağlantılar çabucak sonlandırılacaktır. Timeout değerini 5 saniyeye set ederek yaptığım denemelerde apache, saldırı altında sorunsuz olarak hizmet vermeye devam etti.

Ancak, sonuç olarak timeout değerini 5 saniye gibi düşük bir değere set etmek, yavaş ya da sorunlu bağlantıya sahip olan kullnıcıları da etkileyebilecek bir durumdur. Böyle durumlarda ilgili web sitesini görüntüleyemeyebilirler.

Ayrıca, scriptin timeout değerini belirlemeye yarayan bir parametresi de bulunuyor. Yani saldırgan timeout değerini tam olarak tahmin edebilir ya da oldukça düşük tutarsa, daha çok band genişliği harcayacak olmasına rağmen başarılı olur.

Fakat bu yöntem ile en azından lamer’ların yapacağı saldırıların önüne geçebilirsiniz.

FreeBSD accf_http Modülünü Devreye Almak 

Eğer apache sunucunuz FreeBSD üzerinde çalışıyorsa alınabilecek önlemlerden birisi de accf_http kernel modülünü devreye almaktır. Bu modül temel olarak, gelen bağlantılar için http istekleri tam olarak tamamlanana kadar bir tampon oluşturuyor. Sonuç olarak script aracılığı ile açılan tamamlanmamış http isteklerine ait bağlantılar, apache’ye iletilmiyor ve bu şekilde saldırı riskini azaltmanız mümkün.

accf_http modülünü devreye aldıktan sonra yaptığım testlerde, yaklaşık 50bin tamamlanmamış http isteğinin gönderilmesinin ardından sunucunun durumdan etkilenmeden hizmet vermeye devam ettiğini gözlemledim. Dolayısı ile kullanılabilicek bir yöntem.

Şu şekilde hemen devreye alabilirsiniz:

# kldload accf_http 

Ayrıca, açılışlarda devreye alınması için

/boot/loader.conf dosyanıza

accf_http_load="YES"



satırını ekleyebilirsiniz.

 

Apache’de mod_limitipconn Modülünü Devreye Almak


limitpcon modülü, belirli bir ip’den gelecek maksimum bağlantı isteğinin set edilmesine yarıyor. Yani bu modülü devreye aldıktan sonra, tek bir ip’den açılabilecek bağlantı sayısını belirleyebiliyorsunuz. Her ne kadar benzer bir işlemm pf ya da iptables gibi firewall’lar üzerinden yapılabiliyor olsa da bir firewall’unuz yoksa bu yöntemi kullanabilirsiniz.

Ancak, büyük bir lokal ağdan ya da proxy arkasından çok sayıda kişi apache sunucunuza bağlanıyorlarsa bu modül ilgili kişilerin de erişimini engelleyebilir.

Modül’ün nasıl kurulup kullanılabileceği ile ilgili detaylar için aşağdaki adrese bakabilirsiniz.

http://dominia.org/djao/limitipconn.html

IIS 6.0/7.0 ya da lighttpd kullanıyorsanız endişelenmenize gerek yok. Zira bu sunucular threaded process mantığı ile çalışmadıkları için olası bir saldırıdan etkilenmemekteler.

Kaynak 

 

Written by :
Clubturk
 
 

Sponsorlar

VİDEO SEYRET
Türkiye' nin ücretsiz video seyret ' me sitesi

FX15
Termojenik Zayıflama FX 15 Mucize Kapsül 

Lida

Türkiye Resmi Pazarlama Ofisi

Azim güvenlik 

Güvenliğiniz için herşey ! 

genç tasarımcılar 

Burada yer almak istermisin ?

 


 

 


Web Stats

Biber hapı V-Pills - zayıflama yöntemleri - - rüya tabirleri - kayıp ilanı Güncel Durum Evden eve nakliyat forex indir yükle Müzik Dinle