Apache mod_qos ile Dos-dDos Koruma

Webhosting firmalarının en büyük problemlerinden birisi rasgele kaynaklı saldırılardır. Dos ve dDos şu anda web hosting firmalarının olduğu gibi internetin de çok büyük bir sorunu bu aralar. Soruna kesin çözüm getirmeyen ama en azından “lamer” tabir edilen saldırganlara karşı geçici bir çözüm olabilecek yazılımlardan birisi de mod_qos dir. Unutmayın, daha iyi korunma daha profesyonel çözümler gerektirir. Bu yazılım şimdilik çok yeni ve daha çok yol kat edecek ancak işe yaradığı kanaatine vardık yapıtığımız testlerde. Daha detaylı testler ile perfomansını ölçeceğiz ve sizinle paylaşacağız Eğer siz de kurup denemek isterseniz işte size kısaca bir “howto” Sakın test sonuçlarınızı bize de yazmayı unutmayın. Bu kurulum Centos5 , WHM 11.23.2 ve Apache 2.2.8 kurulu bir sunucuda test edilmiştir.

Öncelikler cPanel sunucularda genelde bulunmayan ve bu yazılımın ihtiyaç duyduğu pcre paketlerini kuruyoruz.

yum -y install pcre pcre-devel

Kaynak kodumuzu indiriyoruz, arşivi açıp dizine giriyoruz

wget http://garr.dl.sourceforge.net/sourc…7.4-src.tar.gz
tar zxvf mod_qos-7.4-src.tar.gz
cd mod_qos-7.4/apache2/

Modülleri apxs ile derleyip Apache konfigürasyonuna ekliyoruz.

/usr/local/apache/bin/apxs -I/usr/include/pcre/ -iac mod_qos.c
/usr/local/apache/bin/apxs -I/usr/include/pcre/ -iac mod_qos_control.c

Şimdi mod_qos in kullandığı araçların derlenmesine geldi. Bunlardan birisi qslog, diğeri qsfilter2. Qslog , apache access_log ları inceleyerek istatistik oluşturuyor. Kullanmadım ama ilgilenenler için linki . Qsfilter2 ise yine access loglarını iceleyip , şüpheli istekleri engelleyecek kuralları oluşturan bir yazılım. cPanel de loglar her virtualhost için ayrı tutulduğu için sanırım bunu sunucu genelinde kullanmak için log ayarlarını değiştirmek gerekebilir. Umarım bu araçları ileride test edebilir ve sizi bilgilendirebiliriz. Şimdi kaldığımız yerden devam edelim.

cd ../tools/
make
cp qslog /usr/local/bin/
cd qsfilter/
nano Makefile

Bu kısımda Makefile içeriğinde değişklik yapmamız gerekmekte. Varsayılan apache kaynak kodları yolu cPanel sunculardaklinden farklı. O nedenle Makefile içinde geçen tüm “../../httpd” yollarını “/home/cpeasyapache/src/httpd-2.2.8/” olacak şekilde değiştiriyoruz. Bu sizin kurulumunuza göre değişiklik gösterebilir.

make
cp qsfilter2 /usr/local/bin
cd /usr/local/apache/conf
nano qos.conf

Oluşturduğumuz qos.conf dosyası mod_qos ayarlarının yapıldığı dosya olacak. Çokça ayar seçeneği var ancak biz en basitçe bu ayarları kullanacağız. Kısaca bir kaynak ip adresinden en fazla 10 bağlantı kabul edeceğiz ve toplam istek limitini virtual host başına 100 ile sınırlıyoruz. Unutmayın, her sunucunun konfigürasyonu hit profiline göre değişecektir. En iyi ayarları kendini bulabilirsiniz.

QSC_WorkingDirectory /var/tmp/qosc
QSC_Filter2Binary /usr/local/bin/qsfilter2
QS_SrvMaxConnPerIP 10
QS_LocRequestLimitDefault 100
<Location /qos>
SetHandler qos-viewer
</Location>

Kaydedip çıkıyoruz ve mod_qos geçici dosyalarının kaydedileceği klasörü oluşturuyoruz.

mkdir -p /var/tmp/qosc
chown nobody:nobody /var/tmp/qosc

Son olarak qos.conf u ayar dosyamıza Include ile ekliyoruz ve servisi yeniden başlatıyoruz.
nano httpd.conf
Şu satırı Include direktiflerinden birinin olduğu kısman yazın

Include “/usr/local/apache/conf/qos.conf”
service httpd restart

http://ip_adresiniz/qos linki ile mod_qos çalışması ile ilgili bilgi alabileceğiniz bir sayfaya ulaşabilirsiniz. Bunu sadece test ortamında açık tutmanızı öneririm. İşiniz bitince qos.conf içindeki <Location /qos> direktiflerini kaldırın.
Umarım işinizi görecektir. Bu en basit ayarları ile kurulmuş halidir. Daha ayrıntılı ayarları mod_qos dan bulabilirsiniz.

Unutmadan yazayım. “Caution! Use it on your own risk!”

Apache mod_qos ile Dos-dDos koruma | linux10.net