Tam Sürümünü Görmek İçin : DOS Saldırıları
Bir süredir devamlı olarak dos saldırılarına maruz kalıyoruz ve bu durumdan kurtulmak için daha önce çözüm yolları üretmiş olanlar varsa ve bilgilerini benle paylaşırlarsa sevinirim. Benim aklıma ip adreslerini engelleme ve kayıtlı olmayan misafir kullanıcı sayısını belli bir sayıda tutmak gibi çözümler geliyor.
Konunun bir de hukuksal boyutu var ve bu konuda henüz tam bir bilgiye sahip değilim. Acaba kanuni açıdan neler yapılabilir?
ip isteklerini sıraya koyup limitle.Bunun dışında pushback le çözüm yaratabilirsin ama biraz karışık bunun için bazı şirketlerin özel güvenlik önlemleri var onları inceleyebilirsin...
daha fazla bilgi için... http://www.e-hack.org/index.php?cat=2
Öncelikle linkler için teşekkürler. Gayet yararlı yazılar.
PHP ile bu konuya çözüm bulabilir miyiz? PHP bilgimin yeterli seviyede olduğuna inanıyorum ve mantıksal olarak beni yönlendirsen sevinirim; çünkü bu konu canımı çok fazla sıkmaya başladı.
DeliPenguen
07/03/2005, 09:28
Bu konu ile ilgili olarak zamanın birinde teorik ve çok az da pratik bir denemem olmuştu.
Çalışma şekli şöyleydi:
Hizmet verilen port(mesela 80 üzerindeki Apache) değiştirilir. Apache 10080 e alınır. Programımız 80 portundan çalışır. 80'e gelen istekleri değerlendirir. Bir log tutar. Bir istek geldiğinde son 10 saniye içinde 3 istek geldiyse IP adresine 5 dakika blok koyar. Eğer istek normalse gelen isteği 10080 üzerindeki Apache'ye yönlendirir. Apache'den gelen cevabı da isteği gönderen adrese geri gönderir.
Eğer istek normalse gelen cevap da normaldir. Eğer programa seri istekler yağıyorsa bunları bloklar.
Pratik olarak çok az bir yol katetmiştim.
Bu konu ile ilgili olarak zamanın birinde teorik ve çok az da pratik bir denemem olmuştu.
Çalışma şekli şöyleydi:
Hizmet verilen port(mesela 80 üzerindeki Apache) değiştirilir. Apache 10080 e alınır. Programımız 80 portundan çalışır. 80'e gelen istekleri değerlendirir. Bir log tutar. Bir istek geldiğinde son 10 saniye içinde 3 istek geldiyse IP adresine 5 dakika blok koyar. Eğer istek normalse gelen isteği 10080 üzerindeki Apache'ye yönlendirir. Apache'den gelen cevabı da isteği gönderen adrese geri gönderir.
Eğer istek normalse gelen cevap da normaldir. Eğer programa seri istekler yağıyorsa bunları bloklar.
Pratik olarak çok az bir yol katetmiştim.
PHP ile bu port olayını yapabilir miyiz? Yapabiliyorsak hangi fonksiyonları kullanmam gerekiyor?
Bir de, bu yöntem hakkındaki tecrübeniz ne yöndedir. Sizce işe yarar mı?
PHP ile bu port olayını yapabilir miyiz? Yapabiliyorsak hangi fonksiyonları kullanmam gerekiyor?
Yapılabılır.. Ama burda onemlı olan ıstek henuz PHP'ye (hatta Apache'ye) varmadan once onu engelleyebılmek.. Bu yuzden Apache'nınde onunde calısan bı sey gelıstırmek lazım.. Kı DeliPenguenın 'de kastettıgı bu sanırım?
Not: Oyle olsa bıle sonucta sunucudakı bı yazılım gelen ısteklerı teker teker kontrol edıcek aradakı zamanı hesaplayacak vs.. yanı ıslem gucu harcıycak.. Bu durumda buda kesın cozum sayılmaz?
Mingitau
07/03/2005, 18:31
"Ama burda onemlı olan ıstek henuz PHP'ye (hatta Apache'ye) varmadan once onu engelleyebılmek.. "
Eğer böyle birşey yapılırsa zaten PHP Apache'den önce istekleri almış olacak.(bkz: CevizBot)
DeliPenguen
08/03/2005, 09:43
sunucudakı bı yazılım gelen ısteklerı teker teker kontrol edıcek aradakı zamanı hesaplayacak vs.. yanı ıslem gucu harcıycak.. Bu durumda buda kesın cozum sayılmaz?
Evet kesin bir çözüm sayılmaz bu. Ancak en azından sistem gelen isteklere cevap vermek zorunda kalmayacak.
Eğer böyle birşey yapılırsa zaten PHP Apache'den önce istekleri almış olacak.(bkz: CevizBot)
Anladım :)
bugün itibariyle yeni bir yöntem keşfetmiş bulunuyorum.Belki çoktan beri kullanılıyordur ama ben yeni buldum.Saldırıya yeltenen ipler direk serverdan banlanıyor nasıl işlediği konusunda araştırma yapıyorum ama ddos u kesinlikle engelliyor.çözünce yazarım buraya.
Mingitau
01/04/2005, 17:11
Şu yöntemden bahsetsen de bizde faidelerini görmeye başlasak hem birlikte daha kolay çözeriz değil mi?
Benim bildiğim en iyi yöntem ise ipfw ile portlara 1 connect izni vermek....
Gayetde basarili :p
baba bence güvenlik modulu kur
Volkan Uzun
27/06/2005, 23:41
evet bencede modul kur bitsin.
saka bir yana, aslinda ddosun bilindik bir cozumu yok. yapilacak en iyi sey, bu tip ipleri loglamak, ve ispleri ile iletisime gecmek . onun disinda blokaj islemi vs hepsi surekli zaman kaybettirip bu seferde engelleme icin calisan servisi olduerecektir.
Bu programın kurulumunu ve ayarlarını anlatırken öncelikle şunu bilmenizi ve kabul etmenizi rica ederim. Risklidir ve linux bilginiz az ise hic okumadan direk yazdiklarimi gormezden geliniz. (Riskler:> Apache durabilir - Server Frontpage desteğini etkileyebilir.)
Apache 1.3.x için kurulum detayları.
cd /usr/local/src
wget http://www.nuclearelephant.com/projects/dosevasive/mod_dosevasive_1.10.tar.gz
tar -zxvf mod_dosevasive_1.10.tar.gz
cd mod_dosevasive
DSO Destegi ile yukle:
/etc/httpd/bin/apxs -cia mod_dosevasive.c
Ayarlar:
pico -w /usr/local/apache/etc/httpd.conf
ctrl+w kombinasyonu ile gelen arama ekranına AddModule mod_dosevasive.c yazıyoruz ve aratıp bu satırı buluyoruz hemen bu satırın altına şunlar eklenecek
<IfModule mod_dosevasive.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 600
</IfModule>
Tekrar ctrl+w ile aramaya giriyoruz MaxRequestsPerChild yazıp buluyoruz.
Ardından child 0 değerini 10000 olacak şekilde değiştirin. Bu sayede mod_dosevasive süresi dolan hash leri temizleyecektir
Not: keepalive Off durumda ise on durumuna getiriniz.
ctrl+x kombinasyonu ile kaydedip çıkıyoruz.
Ardından apache restartlanacak. komut> service httpd restart
Bu sadece saldırıyı engeller ancak banlama işlemini yapmaz.
Banlama içinse APF ile bütünleştirilmesi var dilerseniz bunuda anlatabilirim.
Saygılarımla ..
Forum Yazılımı : vBulletin v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.