Gönderen Konu: DDOS saldırılarına karşı önlem mod_qos  (Okunma sayısı 392 defa)

GuvenliHost

  • Yönetici
  • Kahraman Üye
  • *****
  • İleti: 514
  • Karma +10/-0
    • Profili Görüntüle
DDOS saldırılarına karşı önlem mod_qos
« : 09 Mart 2010, 11:00:58 »
   Kullanacağımız sitelerde modül apache üzerine bağlantı sayısını limitliyor post,get saldırılarına karşı alınabilecek önlemlerden biridir ama sağlıklı saldırılara %100 önlem yoktur

1- putty programını çalıştırın. (indirmek için: http://guvenlihost.com/dosya/putty.exe)

 2- Sunucu ip adresini yazarak bağlanın.

 3- root kullanıcısı ve şifresiyle giriş yapın
     
4- Aşağıdaki komutları sırayla uygulayın


önce modülün çalışması için gerekli paketlerimizi kuruyoruz

Alıntı
yum -y install pcre pcre-devel
[/COLOR][/SIZE]
Kaynak kodumuzu indiriyoruz, arşivi açıp dizine giriyoruz   
Kod: [Seç]
[SIZE=3]wget [URL]http://www.guvenlihost.com/dosya/ddos/mod_qos-9.9.tar.gz[/URL]
tar zxvf mod_qos-9.9.tar.gz
cd mod_qos-9.9/apache2/[/SIZE]
Modülleri apxs ile derleyip Apache konfigürasyonuna ekliyoruz.
Alıntı
   apxs -I/usr/include/pcre/ -iac mod_qos.c


Kod: [Seç]
[SIZE=2][COLOR=DarkRed]env: gcc: Permission denied hatasını alırsanız şu komutu uygulayın

chmod 711 /usr/bin/env /usr/bin/gcc[/COLOR][/SIZE]
Ş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.   
Alıntı
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.   
Alıntı
make
cp qsfilter2 /usr/local/bin
cd /usr/local/apache/conf
vi 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.   
Alıntı
QSC_WorkingDirectory    /var/tmp/qosc
QSC_Filter2Binary       /usr/local/bin/qsfilter2
QS_SrvMaxConnPerIP      10
QS_LocRequestLimitDefault       100

SetHandler qos-viewer
Kaydedip çıkıyoruz ve mod_qos geçici dosyalarının kaydedileceği klasörü oluşturuyoruz.
Alıntı
   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.
   
Alıntı
vi httpd.conf
[/COLOR]
Şu satırı Include direktiflerinden birinin olduğu kısman yazın   
Alıntı
Include "/usr/local/apache/conf/qos.conf"
service httpd restart
[/COLOR]
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 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.