由于最近为了上线的项目做好安全,害怕被对手有心搞,有必要简单防下DDOS和CC,公司资金的问题,现在由运维写个脚本来顶着用,只能简单防
一、查看IP连接数
[root@localhost shell]# cat iptables-cc-ip
#!/bin/bash
num=100 //设置最高连接的值
IP=`netstat -an |grep ^tcp.*:80|egrep -v 'LISTEN|127.0.0.1'|awk -F"[ ]+|[:]" '{print $6}'|sort|uniq -c|sort -rn|awk '{if ($1>$num){print $2}}'`
for i in $IP
do
echo $i
done
获得结果可以重定向一个文件里保存出来
二、查看SYN连接
[root@localhost shell]# cat iptables-cc-syn
#!/bin/bash
conn=`netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr |head -n20`//查找出前二十个连接最多的
for i in $conn
do
echo $i
done
同样,获得结果可以重定向一个文件里保存出来
三、查看访问日志
[root@localhost shell]# cat log-cc
#!/bin/bash
access=`cat /var/log/httpd/access.log|awk '{print $1}'|sort|uniq -c|sort -nr|head -n20`
for i in $access
do
echo $i
done
不用说,获得结果可以重定向一个文件里保存出来
四、分析
根据以上的结果看看哪个IP访问比较多(这里要注意,并非访问多的IP就是攻击的IP,有些也会正常访问,不注意分析的话会封了正常访问IP,所以还得跟后面两方面的因素一起考虑、排查),SYN连接数比较(一般SYN最多的就是攻击IP),访问日志记录最多,然后一个一个分析,最后,也是最重要的,要看些这些IP访问是否是正常的,这个根据日志可以看得出来(要耐心、细心查看)
五、分析后的动作
排查出来的IP,要立刻封掉
iptables -I INPUT -s IP(排查出来的IP) --dport 80 -j DROP
service iptables save
六、总结
DDOS和CC攻击就是拒绝服务和非法访问,让被攻击目标处理能力的海量数据包消耗可用系统,带宽资源,致使网络服务瘫痪的一种攻击手段,最好是使用CDN和黑洞防火墙来防,前者是带宽方面抗得起,后者是判断后引用这些流量到黑洞