Merhaba,

Basit DDOS ve SYN saldırılarını engellemek için ücretsiz yazılımsal Firewall kullanabilirsiniz.

Örneğin Inetbase!

Kurulum için

wget http://www.inetbase.com/scripts/ddos/install.sh
sh install.sh
Default ayarlar dışında ayarlama için

nano /usr/local/ddos/ddos.conf
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_TO=mailadresiniz@domain.com mailimiz

İptables Boşaltmak için


iptables -F
Eğer banlanmasını istemediğiniz IP adresleri var ise.

ddos.conf dosyasının en altına aşağıdaki gibi ek IP leri ekleyebilirsiniz.

PROTECTED_IPS=( "1.1.1.1" "1.1.1.2" "1.1.1.3" "1.1.1.4" )
Daha detaylı ayarlamalar için

ddos.sh içerisinde aşağıdaki kodu bulalım

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST
Bu satırı ve stırın altındakileri silip aşağıdaki kodu 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.*
Bu işlemler sonrası ardarda 4 SYN talebinde bulunan IP adresi bloklanır.

Scripti sunucunuzdan kaldırmak için ise

wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
sh uninstall.ddos
Script'den kalan atık dosyaları ise silmek için

rm -fr ddos
Saygılarımla,