先设置下iptables规则
编辑iptalbes.sh
#!/bin/bash
/sbin/iptables -F
/sbin/iptables -P INPUT DROP
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 80 --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT
exit 0
/sbin/iptables-save
加上执行权限
./iptables.sh
编辑ddos.sh
#!/bin/bash
while [ 1 ]
do
for i in `netstat -an | grep -i ':80 '|grep 'EST' | awk '{print $5}' | cut -d : -f 1 | sort | uniq -c | awk '{if($1 > 10) {print $2}}' `
do
echo $i >> /tmp/banip
/sbin/iptables -A INPUT -p tcp -j DROP -s $i
done
sleep 10
done
给ddos.sh加上执行权限
./ddos.sh &
即可
没有原创,别人的东西改了一下
编辑iptalbes.sh
#!/bin/bash
/sbin/iptables -F
/sbin/iptables -P INPUT DROP
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 80 --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT
exit 0
/sbin/iptables-save
加上执行权限
./iptables.sh
编辑ddos.sh
#!/bin/bash
while [ 1 ]
do
for i in `netstat -an | grep -i ':80 '|grep 'EST' | awk '{print $5}' | cut -d : -f 1 | sort | uniq -c | awk '{if($1 > 10) {print $2}}' `
do
echo $i >> /tmp/banip
/sbin/iptables -A INPUT -p tcp -j DROP -s $i
done
sleep 10
done
给ddos.sh加上执行权限
./ddos.sh &
即可
没有原创,别人的东西改了一下
转载于:https://blog.51cto.com/outhink/937809