- Mesaj
- 428
- Çözümler
- 19
- Beğeni
- 878
- Puan
- 839
- Ticaret Puanı
- 0
Linux sunucularda gelen saldırıyı engellemek için güzel bir eklenti. Bir çok firma ücretli olarak bu desteği veriyor. Bazıları ücreti alsa bile koruma yapmıyor ne yazıkki. Basit saldırılarda bile bazen günlerce çevrim dışı kalabiliyoruz. Bu koruma tam koruma değildir fakat basit saldırılara karşı güvenebileceğimiz bir eklentidir.
Öncelikli olarak ssh ile sunucumuza root olarak giriş yapıyoruz ve kodları yazıp enter tuşuna basıyoruz.
Config ayarları için ;
Görmezden gelinecek ip adresleri eklemek isterseniz ddos.conf altına bu eklemeyi yapın;
Daha sonra ddos.sh içinde şu satırı bulalım ;
Bu satırı ve satırın altındakileri silip bu kodu ekleyelim ;
Yükledikten sonra kaç bağlantı olduğunu görmek için ;
Scripti yeniden başlatmak için ;
Basit ddos saldırılarını engellemekte çok iyi bir scripttir.
Öncelikli olarak ssh ile sunucumuza root olarak giriş yapıyoruz ve kodları yazıp enter tuşuna basıyoruz.
Bash:
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0700 install.sh
./install.sh
Config ayarları için ;
Bash:
nano /usr/local/ddos/ddos.conf
Bash:
APF_BAN=0 1 apf ban, 0 iptables ban
NO_OF_CONNECTIONS=150 150 bağlantıdan sonra ban. 75 idealdir.
BAN_PERIOD=600 600 saniye (10) dakika. Üste göre 10 dakikada 150 bağlantıüstü ban
[email protected] (Buraya mail adresinizi girin her saldırıda mail atması için)
Görmezden gelinecek ip adresleri eklemek isterseniz ddos.conf altına bu eklemeyi yapın;
Bash:
PROTECTED_IPS=( "192.168.1.10" "127.0.0.1" "10.0.10.1" "192.168.1.5" )
Daha sonra ddos.sh içinde şu satırı bulalım ;
Bash:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST
Bu satırı ve satırın altındakileri silip bu kodu ekleyelim ;
Bash:
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.*
Yükledikten sonra kaç bağlantı olduğunu görmek için ;
Bash:
sh /usr/local/ddos/ddos.sh
Scripti yeniden başlatmak için ;
Bash:
sh /usr/local/ddos/ddos.sh -c
Basit ddos saldırılarını engellemekte çok iyi bir scripttir.