PDA

Tam Sürümünü Görmek İçin : DDos a karsi önlemler


edana
15/04/2006, 01:49
Malum aslinda DDos(denial of service) a karsi cok kesin cözümler yok. Ama aslina bakarsaniz bu saldirin boyutuna ve cesitine bagli(Saldiriyi yapan kisi sayisi veya kapsamli bir saldirida zombi bilgisayarlarin kullanilmasi vs).Aslinda türk forumlarin cogunda yaygin olan saldiri araclari veya topluca yapilan saldirilarin cogunu önleme sansimiz var. Modul evasive burada size iyi bir yaridm olabilir. Modulun yaptigi asil islem bir sayfa belirlediginiz zaman icersinde cok fazla
isteniyorsa kisiyi blokluyor. Örn: 10 sn boyunca.. bu süre icersinde tekrar ayni sayfa istenirse
bu süre tekrar basdan sayiyor..böylece saldiriyi yapan kisi saldiri boyunca sadece sizin "forbidden" sayfanizi istemis oluyor. Tabi bu da traffic yapar ama örnegin bir forum anasayfasina 80-100 kb sayfanin binlerce defa istenmesi yerine 2-3 kb lik "forbidden" istenmesi sitenizin ayakda kalmasini sagliyor. Modulun bence en etkilli yönlerinden biri belirlediginiz mailinize size blokladigi kisinin ipsini göndermesi. Otomatik banlamak icin ayarlarda yapilabilir ama önermem cünkü bazan yanlis kisiyi de blokliya biliyor. Ama gelen ipyi kendiniz inceleyip bloklayip bloklamayi karar verebilirsiniz.
Baska Ddos a karsi önlem olarak apf firewall var. Kendim kullanmadigim icin bunun hakkinda cok fikir veremiyecem. Etkisi hakkinda bilgisi olan varsa tecrübelerini paylasacagini umuyorum.
Kendi serverimda ayrica kullandigim bir kac rewrite kurallari var. Her saldiriya karsi olmassada yine etkilli diyebilecegim bir yöntem.
Örn:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^$
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^/.* http://%{REMOTE_ADDR}/ [L,E=nolog:1]
</IfModule>


Bu yukardaki rewrite kurali

* referer si olmayani
* useragent olmiyani
* document root '/' a ulasmaya calisani bloklar ve ayni zamanda

* kullanicin kullandigi programma göre saldiriyi yapana geri postalar (böylece saldiriyi kisa sürede kesmis olursunuz cünkü türkiyede bu tarz saldirilarn cogu böyle bir kuralda internet baglantilari kesilir )
* yapilan saldiri access dosyalarinda kayit altina alinmaz (hardiskdeki yer acisindan önemli)
* kisa sürede blokladigi icin normal islemlerin devam etmesi icin zaman kalir


modul evasive yi buradan indirebilirsiniz: http://www.nuclearelephant.com/projects/mod_evasive/

apf firewall : http://www.rfxnetworks.com/apf.php

Yukarida yazdiklarim kendi serverimdan edindigim tecrübelerimdir.
Baska fikirleri olanlarin da bunlari paylasacaklarini umuyorum


cappytoi
15/04/2006, 09:54
iptables mod_evasive 'den daha çok işe yarıyor. aslında modülü düzenleyip ban attığı ipleri iptables 'dan da drop ettirmek lazım.

lavinya
18/08/2006, 00:49
selam.

edana bilgiler için teşekkürler. orada belirttiğin kod yani

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^$
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^/.* http://%{REMOTE_ADDR}/ [L,E=nolog:1]
</IfModule>

ben loglanmasını istiyorum ne gibi değişiklikler yapmam lazım? şimdiden teşekkürler.

asoza
18/08/2006, 21:28
wget http://www.inetbase.com/scripts/ddos/install.sh
./install.sh
--------
/usr/local/ddos/ddos.conf dosyasından ufak tefek bir iki özelleştirme yapılabilir.

Kaç bağlantıdan sonra banlayacağı
NO_OF_CONNECTIONS=150

APF kullanılıyorsa 1, iptables kullanılıyorsa 0
APF_BAN=1

bir ip banladığında göndereceği mail adresi
EMAIL_TO="root"

Kaç saniye süreyle banlayacağı
BAN_PERIOD=600

....................
Oldukça başarılı bir script. Her 1 dakikada bir çalışır, şartları taşıyan ip adresini banlar.