Apache ddos saldırılarını önlemek için Mod_evasive kurulumu

Merhaba Değerli Ziyaretçimiz;

Kurulum

[CODE]wget http://www.ni.net.tr/dosyalar/mod_evasive_1.10.1.tar.gz
tar -zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive*
/usr/local/apache/bin/apxs -cia mod_evasive.c [/CODE]

Bu apache 1.3.xx versiyonları için birde apache 2 için yazıyorum
[CODE]wget http://www.ni.net.tr/dosyalar/mod_evasive_1.10.1.tar.gz
tar -zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive*
/usr/sbin/apxs -cia mod_evasive20.c [/CODE]

Kurulumu böylece tamamladık sanmayın daha bitmedi şimdi httpd.conf dosyamıza ayar komutlarını ekleyelim…

httpd.conf’u bir şekilde açın nano pico vim ne kullanıyorsanız ve arama yaparak

AddModule mod_evasive.c

kısmını bulun ve şunları altına ekleyin…

[CODE]<IfModule mod_evasive.c>
DOSHashTableSize 3097
DOSPageCount 1
DOSSiteCount 25
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 600
</IfModule> [/CODE]

biraz ayarlardan bahsedelim buradaki değerler neler sırayla yazıyorum

DOSHashTableSize : Kayıtların kontrolü daha seyrek yada daha sık yapmak

DOSPageCount : DOSPageINterval komutuna verilen değer aslında bir zaman olacak DOSPageINterval üzerindeki zaman içinde ne kadar tıklama yapılacağını gösterir.. (Ör DOSPageINterval 5 ise bu 5sn demek DOSPageCount da 10 ise buradan şu sonuç çıkar 5 sn de 10 linke basan banlanır…)

DOSSiteCount : Buda yukarıdaki gibi DOSSiteInterval üzerine verilecek değerin zamanına bağlı olarak DOSSiteInterval üzerine girilen zaman kaydına göre sayfadan çekilebilecek resim ve benzeri css java dosyalarını limitliyen bölümdür. (Ör: DOSSiteInterval 10 ise DOSSiteCount 100 ise 10sn de 100 resim çekilebilir demek… aşılırsa 101 olursa o kişi uzaklaştırılır.)

DOSPageInterval : DOSPageCount üzerinde anlattım DOSPageCount da yazılacak sınır değerinin zaman değeri buraya yazılır.

DOSSiteInterval : Bunuda DOSSiteCount bölümünde anlatmış olduk buda objelerin DOSSiteCount için verilen sınırın nekadar zamanda olduğunu gösterir.

DOSBlockingPeriod : Bu ayarlamalarda henüz APF kullanmadık APF yoksa bu bölümde yer alan değer sn cinsinden bu kuralları çiğneyen kişileri sayfadan uzaklaştırma süresidir kuralları aşanlar DOSBlockingPeriod 1000 ise mesela.. 1000 sn boyunca sayfada 403 hata kodu alacaklar..

Belli başlı ayarları gösterdim size arkadaşlar şimdi gelin bu güzel yazılımımızı apf ile ortak çalıştıralım her şeyden önce bir apf kurmanız gerek 8)

önce konsola visudo yazın hemen karşınıza pico veya nano ile açılmış bir dosya çıkacak en alt kısmına

[CODE]nobody server. = NOPASSWD: /usr/local/sbin/apf -d * [/CODE]

yukarıda alıntı şeklinde yazılan kodları kopyalayın ama nobady den sonra server. (server nokta) olan kısım sizin hostname’niz ile değişmeli hostname’niz nedir bilmiyorsanız visudo ya girmeden önce konsola hostname yazın o size söyler hostname’nizin sadece ilk kısmını alın mesela hostname server.ni.net.tr ise sadece server. olacak…

kaydet ve çık yaparak güzelce kaydedin tekrar httpd.conf u açarak <IfModule mod_evasive.c> başlıklı eklenilen evasive ayar bölümüne gelin ifmodüle kısmını bozmadan altına
[CODE]DOSSystemCommand “sudo /usr/local/sbin/apf -d %s” [/CODE]

yukarıda yazılanları kopyalayın..

görüntüsü aynen alt kısımdaki gibi olmalı

[CODE]<IfModule mod_evasive.c>
DOSHashTableSize 3097
DOSPageCount 1
DOSSiteCount 25
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 600
DOSSystemCommand “sudo /usr/local/sbin/apf -d %s”
</IfModule> [/CODE]

kaydedin ve çıkın daha sonra apache’yi yeniden başlatın ki ayarlar aktif hale gelsin 8) artık çeşitli zamanlarda kuralları geçen kişileri apf otomatik olarak banlayacaktır…

kimler kuralları geçiyor acaba? merak ediyorsanız
[CODE]cd /tmp
ls -la dos* [/CODE]

komutları ile görebilirsiniz arada sırada

rm -rf /tmp/dos*

şeklinde tmp dizininizi temizlerseniz iyi olur…

CSF ile kullanacaksanız kendi ayarlıyor zaten ama yinede apf için yapılan ayarları csf ye göre yapabilirsiniz.

İyi çalışmalar…