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/sourceforge/mod-qos/mod_qos-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ı http://mod-qos.sourceforge.net/ dan bulabilirsiniz.