当我们创造自己的网站访问速度特别慢的时候,有可能是我们的服务器被CC攻击了,那么这种情况我们应当如何解决呢?只能干着急吗?当然不是,我们可以利用防CC攻击脚本来掩护自己的网站。今天小编就来给大家分享一个超级实用的防CC攻击脚本,一起来看看吧!
什么是CC攻击
cc攻击的原理就是把持某些主机不停的发大批的数据包给服务器造成服务器资源耗尽(资源指带宽,硬件设备) 一直到用户访问不了为止。cc重要是用来攻击页面的,每个人都有这样的体验:当一个网页访问人数特别多的时候,打开网页就慢了,(我信任大家在2014年的时候访问12306买票的网站都有这样的体验吧).cc攻击就是模仿多个用户(多少过程就多少用户)不停的进行访问那些需要大批数据操作(或者带宽)的页面,造成服务器资源糟蹋,CPU长时间处于百分之百,永远有处理不完的链接直到网络拥塞,正常的访问终止。
既然被攻击了,那么我们就要想措施解决,我们写一个脚本来用iptables把连接过多的给删掉:
vim /usr/local/iptables/drop_ip.sh
脚本内容如下:
#!/bin/bash
drop_ip=`tail 5000 /var/local/nginx/logs/access.log | awk '{a[$1]++}END{for(i in a)if(a[i]>300)print i}' `
if test -n $drop_ip;then
for i in drop_ip
do
if [ -z "`iptables -nvL |grep $i`" ];then
/sbin/iptables -I INPUT -s $i -j DROP
fi
done
fi
让其定期履行:
crontab -e
*/5 * * * * sh /usr/local/iptables/drop_ip.sh
为了防止防火墙规矩过于臃肿我们需要把一些过时的规矩给删掉:
vim /usr/local/iptables/drop_iptables.sh
脚本内容修正如下:
#!/bin/bash
table=/tmp/iptables.log
iptables-save > $table
drop_ip=`cat $table |awk -F'[ /]' /DROP/'{if (NR>8){print $4}}'`
for i in $drop_ip
do
/sbin/iptables -D INPUT -s $i -j DROP
done
以上就是小编收拾的实用的防CC攻击脚本 掩护自己的网站不受伤害的相干内容,盼望可以对大家有所赞助!更多关于这方面的内容,敬请关注桂哥网络!