Здравствуйте. Пока заключается договор с компанией, которая будет фильтровать наш трафик, есть немного времени разобраться/научиться подавлять атаки. Уже забанил неугодные страны, но тогда основная часть запросов стала идти внутри страны с нашей основной ЦА. Нашел вот такое излечение:
habrahabr.ru/post/204508
Но так как в nix скриптах не силён, не могу разобраться. помогите.
При запуске скрипта получаю:
Bad argument 'DROP'
Стал ковырять скрипт, действительно в
iptables_ban.sh записиваются след строчки:
/sbin/iptables -I INPUT -p tcp --dport 80 -s -j DROP
/sbin/iptables -I INPUT -p tcp --dport 80 -s -j DROP
/sbin/iptables -I INPUT -p tcp --dport 80 -s -j DROP
Т.е. ipшников нет. В ddos.iplist - информация по ip есть, снизил порог выборки ip 3 обращения (такие точно есть), но в
iptables_ban.sh все равно ip не попадают.
Система: centos
P.S. скрипт заработал, также немного его модифицировал.
Заменил
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n > /tmp/ddos.iplist
На
tcpdump -v -n -w /var/ddos/ddos1.iplist dst port 80 -c 5000
tcpdump -nr /tmp/ddos1.iplist |awk '{print $3}' |grep -oE '[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}' |sort |uniq -c |sort -rn > /tmp/ddos.iplist
Больше промежуток - соответсвенно больше мусора с ip-зомби. И порог повысить до 30-40 - самое то.
Спасибо!