lostyazilim
tr.link

Serverınıza DDos Koruması

13 Mesajlar 20.831 Okunma
lstbozum
tr.link

digitall digitall www.halitalptekin.com Kullanıcı
  • Üyelik 05.08.2011
  • Yaş/Cinsiyet - / E
  • Meslek Security Consultant
  • Konum
  • Ad Soyad ** **
  • Mesajlar 223
  • Beğeniler 0 / 35
  • Ticaret 18, (%100)
Dos saldırıları yıllardır olduğu gibi hala çok moda.Hiç beklemediğiniz ülkelerden saldırı alabiliyorsunuz.Bu yüzden tedbiri elden bırakmamak ve güvenliğimizi sağlamak zorundayız.Bunun için piyasa kullanabileceğimiz birçok ücretsiz script var.Bunların arasında en çok bilineni şüphesiz inetbase adlı ddos koruma scripti.Bu script serverda belirli zamanda çok fazla bağlantı açanları apf veya iptables kullanarak banlıyor.Çok büyük saldırılar hariç ufak ve orta çaplı saldırıları önleyebilirsiniz.Kendi VPS veya VDS'nize kurmanızda fayda var diye düşünüyorum.



Öncelikle bilmeniz gereken bu script kesinlikle büyük saldırıları engelleyemez.Bu tarz saldırılara donanım kaynaklarınız imkanlarıyla ortantılı olarak karşı koyabilirsiniz.Ki büyük çaplı saldırılarda koskoca veri merkezleri zarar görüyor.Bir tane site niye görmesin.Ama birkaç site veya serverdan gelen saldırıları inetbase ile engelleyebilirsiniz.

Serverımıza kurulum yapmak için öncelikle ssh ile root girişi yapıyoruz.Ve daha sonraki aşağıdaki 2 komutu çalıştırarak scripti kuruyoruz.

wget http://www.inetbase.com/scripts/ddos/install.sh
sh install.sh


Kurulumu yaptıktan sonra ayarlar için /usr/local/ddos/ddos.conf dosyasını açalım.

APF_BAN=0 (Eğer 0 olursa iptables ile 1 olursa apf ile banlar.)
NO_OF_CONNECTIONS=150 (150 bağlantıdan sonrasını banlar.Ben 75 kullanıyorum.)
BAN_PERIOD=600 (10 dakika içinde yukarıdaki sayı kadar bağlantı açanı banlar.)
EMAIL_TO=mail@siteadresi.com (Banlanma bilgilerinin gideceği mail adresi.)

Bu ayarlardan sonra aşağıdaki komutu konsola girerek birkaç düzenleme yapıyoruz.

netstat -tn --inet 2> /dev/null| grep ":80" | awk '/tcp[ ]*[0-9]+[ ]*[0-9]+[ ]+[^ ]+[ ]*[^ ]*/ { print $5; }' | cut -d":" -f1 | sort | uniq -c | sort -n

Ddos.conf dosyasının en altına gözardı edilecek ip adreslerini ekleyebiliriz.(Google botları,local ipler gibi)

PROTECTED_IPS=( "192.168.1.10" "127.0.0.1" "10.0.10.0" "192.168.2.5" )

/usr/local/ddos/ddos.sh dosyası içinde aşağıdaki satırı bulun.

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST

Daha sonra bu satırın altındakileri silip aşağıdaki kodları ekleyelim.

BAD_SYN_IP_LIST=`$TMP_FILE`
netstat -np | grep SYN_RECV | awk '{print $5}' | cut -d: -f1 | cut -d: -f1 | sort | uniq -c | \
sort -n| awk '{if ($1 > 4) print $2;}' > $BAD_SYN_IP_LIST
cat $BAD_SYN_IP_LIST
while read SYN_IP; do
$IPT -I INPUT -s $SYN_IP -j DROP ;
echo $SYN_IP>> $BANNED_IP_LIST
echo $SYN_IP>> $IGNORE_IP_LIST
done < $BAD_SYN_IP_LIST

#DDOS Bolumu
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST
cat $BAD_IP_LIST
if [ $KILL -eq 1 ]; then
IP_BAN_NOW=0
while read line; do
CURR_LINE_CONN=$(echo $line | cut -d" " -f1)
CURR_LINE_IP=$(echo $line | cut -d" " -f2)
if [ $CURR_LINE_CONN -lt $NO_OF_CONNECTIONS ]; then
break
fi
IGNORE_BAN=`grep -c $CURR_LINE_IP $IGNORE_IP_LIST`
if [ $IGNORE_BAN -ge 1 ]; then
continue
fi
IP_BAN_NOW=1
echo "$CURR_LINE_IP with $CURR_LINE_CONN connections" >> $BANNED_IP_MAIL
echo $CURR_LINE_IP >> $BANNED_IP_LIST
echo $CURR_LINE_IP >> $IGNORE_IP_LIST
if [ $APF_BAN -eq 1 ]; then
$APF -d $CURR_LINE_IP
else
NOT_PROTECTED=1
for u in "${PROTECTED_IPS[@]}"; do
if [ $CURR_LINE_IP = $u ]; then
NOT_PROTECTED=0
break
fi
done

if [ $NOT_PROTECTED -eq 1 && $CURR_LINE_IP != ""]; then
$IPT -I INPUT -s $CURR_LINE_IP -j DROP
fi

fi
done < $BAD_IP_LIST
if [ $IP_BAN_NOW -eq 1 ]; then
dt=`date`
if [ $EMAIL_TO != "" ]; then
cat $BANNED_IP_MAIL | mail -s "IP addresses banned on $dt" $EMAIL_TO
fi
unbanip
fi
fi
rm -f $TMP_PREFIX.*


Böylelikle arka arkaya 4 syn paketi gönderen ip adresini banlıyorsunuz.Bu banlanan ip adresleri sizlere mail olarak gelecek.Eğer banlanan tüm ip adreslerini boşaltmak için aşağıdaki komutu kullanabilirsiniz.

iptables -F

Eğer inetbase kullanmak istemiyorsanız da aşağıdaki uninstall dosyasını indirip çalıştırabilirsiniz.

wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
sh uninstall.ddos


Kaynak : http://www.halitalptekin.com/serveriniza-ddos-korumasi.html
Psycho

kişi bu mesajı beğendi.

wmaraci
reklam

genctr genctr genc-tr.com Kullanıcı
  • Üyelik 18.01.2012
  • Yaş/Cinsiyet - / E
  • Meslek Web Dizayn - Bilişim
  • Konum
  • Ad Soyad ** **
  • Mesajlar 29
  • Beğeniler 5 / 2
  • Ticaret 0, (%0)
Eline sağlık ama geçen iyi bir SYN saldırısı aldım load 90 oldu falan ne mail geldi nede başka birşey saldırıyı yapanlar bulundu 2 adet IP adresi. 50 ayarlı limit no_of_connections. Bende 1 aydır kurulu bu sistem.
 

 

digitall digitall www.halitalptekin.com Kullanıcı
  • Üyelik 05.08.2011
  • Yaş/Cinsiyet - / E
  • Meslek Security Consultant
  • Konum
  • Ad Soyad ** **
  • Mesajlar 223
  • Beğeniler 0 / 35
  • Ticaret 18, (%100)

genctr adlı üyeden alıntı

Eline sağlık ama geçen iyi bir SYN saldırısı aldım load 90 oldu falan ne mail geldi nede başka birşey saldırıyı yapanlar bulundu 2 adet IP adresi. 50 ayarlı limit no_of_connections. Bende 1 aydır kurulu bu sistem.


yüksek saldırılarda cloudflare altyapısına geçmeni tavsiye ederim.ben çok daha büyük saldırıları o şekilde püskürtmüştüm
 

 

uysal027 uysal027 Developer Kullanıcı
  • Üyelik 16.11.2013
  • Yaş/Cinsiyet 41 / E
  • Meslek VBulletin İşleri
  • Konum Gaziantep
  • Ad Soyad S** U**
  • Mesajlar 402
  • Beğeniler 109 / 41
  • Ticaret 12, (%100)
Puttyden ılk komutu calıstırınca bu seklde hata gelıyor


wget http://www.inetbase.com/scripts/ddos/install.sh
wget: Command not found.
 

 

http://goo.gl/iMywUg
wmaraci
wmaraci

TuralAbiyev TuralAbiyev root@localhost ~ / Kullanıcı
  • Üyelik 17.06.2011
  • Yaş/Cinsiyet 34 / E
  • Meslek Network &amp; Linux/UNIX
  • Konum Rusya
  • Ad Soyad T** A**
  • Mesajlar 4146
  • Beğeniler 0 / 1357
  • Ticaret 89, (%100)

uysal027 adlı üyeden alıntı

Puttyden ılk komutu calıstırınca bu seklde hata gelıyor


wget http://www.inetbase.com/scripts/ddos/install.sh
wget: Command not found.


wget modülünü kurman lazım. sudo yum install wget yaz kur.
 

 

uysal027 uysal027 Developer Kullanıcı
  • Üyelik 16.11.2013
  • Yaş/Cinsiyet 41 / E
  • Meslek VBulletin İşleri
  • Konum Gaziantep
  • Ad Soyad S** U**
  • Mesajlar 402
  • Beğeniler 109 / 41
  • Ticaret 12, (%100)

Tural Abiyev adlı üyeden alıntı

wget modülünü kurman lazım. sudo yum install wget yaz kur.



nasıl hocam tam yazarsanız kopy paste yazacam anlamadım:S
 

 

http://goo.gl/iMywUg

Dogann11 Dogann11 www.endofdomain.com Kullanıcı
  • Üyelik 09.08.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Bilgisayar
  • Konum İstanbul Avrupa
  • Ad Soyad ** **
  • Mesajlar 125
  • Beğeniler 1 / 26
  • Ticaret 0, (%0)

uysal027 adlı üyeden alıntı

nasıl hocam tam yazarsanız kopy paste yazacam anlamadım:S


sudo yum install wget yazarak sunucunuza wget kurun sonra sonrasında ilk mesajdaki işlemi tekrar yapın.
 

 

Domain ne zaman satışa açılır ? www.endofdomain.com

TuralAbiyev TuralAbiyev root@localhost ~ / Kullanıcı
  • Üyelik 17.06.2011
  • Yaş/Cinsiyet 34 / E
  • Meslek Network &amp; Linux/UNIX
  • Konum Rusya
  • Ad Soyad T** A**
  • Mesajlar 4146
  • Beğeniler 0 / 1357
  • Ticaret 89, (%100)

uysal027 adlı üyeden alıntı

nasıl hocam tam yazarsanız kopy paste yazacam anlamadım:S


sudo yum install wget

komutunu putty de yaz enterle. soru sorcak y (yes yani) yazarak enterle.
 

 

uysal027 uysal027 Developer Kullanıcı
  • Üyelik 16.11.2013
  • Yaş/Cinsiyet 41 / E
  • Meslek VBulletin İşleri
  • Konum Gaziantep
  • Ad Soyad S** U**
  • Mesajlar 402
  • Beğeniler 109 / 41
  • Ticaret 12, (%100)

Tural Abiyev adlı üyeden alıntı

sudo yum install wget

komutunu putty de yaz enterle. soru sorcak y (yes yani) yazarak enterle.


Yazdım bu cıktı S:

Fastbilisim# sudo yum install wget
sudo: Command not found.
 

 

http://goo.gl/iMywUg

TuralAbiyev TuralAbiyev root@localhost ~ / Kullanıcı
  • Üyelik 17.06.2011
  • Yaş/Cinsiyet 34 / E
  • Meslek Network &amp; Linux/UNIX
  • Konum Rusya
  • Ad Soyad T** A**
  • Mesajlar 4146
  • Beğeniler 0 / 1357
  • Ticaret 89, (%100)

uysal027 adlı üyeden alıntı

Yazdım bu cıktı S:

Fastbilisim# sudo yum install wget
sudo: Command not found.


İşletim sistemi centosmu? sudo olmadan deneyiniz.
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al