linux下使用ddos脚本防止ddos攻击
DDOS概述:
分布式拒绝服务(DDoS:DistributedDenial of Service)攻击,指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。
1.安装web服务器
安装yum install httpd ,拷贝文件cp /share mmexport1514566237016.jpg /var/www/html/index.html, 重启服务sytemctl restart httpd
在windows上测试访问http://192.168.129.100/
2.模拟ddos攻击
- 安装
其中webbench 和 ab命令是帮助我们做压力测试的工具和性能的监视工具
安装webbench需要从官网下载,wget http://home.tiscali.cz/~cz210552/webbench.html
之后安装它的依赖包gcc和ctags, yum install -y gcc* ctags
对 webbench-1.5.tar.gz 进行解压 ,tar -xvf webbench-1.5
查看/home/webbench-1.5目录,有Makefile文件,编译运行make && make install,第一次编译会出现错误,按提示输入 mkdir -p /usr/local/man/man1,再次编译,这里输入echo $?查看上一个命令是否执行成功,0表示成功
- 运行和查看
webbench -c 100 -t 10 http://192.168.129.100这就是一个测试,也就相当于一个ddos攻击
,这里指定100个客户端,运行测试时间10秒,访问你的网络地址URL
可以用这条命令进行查询netstat -ntu |awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n ,这里netstat -ntu截取外网和ip地址,print $5 打印这一行,cut是来截取显示的ip,sort排序,uniq -c 排除相同的记录,sort -n 排序并统计
ip地址前面的数字不能太大,太大就说明是ddos攻击
3.防御
- ddos deflate:
是一款免费的用来防御和减轻DDoS攻击的脚本。它通过netstat监测跟踪创建大量网络连接的IP地址,在检测到某个结点超过预设的限制时,该程序会通过APF或IPTABLES禁止或阻挡这些IP
安装: wget http://www.inetbase.com/scripts/ddos/install.sh,赋予脚本执行权chmod +x install.sh,执行./install.sh,会进入一个界面按q退出
配置文件:/usr/local/ddos
PROGDIR="/usr/local/ddos"路径
PROG=”/usr/local/ddos/ddos.sh“执行ddos脚本的路径
IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list" IP地址白名单
CRON="/etc/cron.d/ddos.cron" 时间计划任务
FREQ=1 检查时间间隔,默认1分钟
KILL=1 屏蔽IP
BAN_PERIOD=600 //禁用IP时间,默认600秒,可根据情况调整
NO_OF_CONNECTIONS=150 最大连接数,超过这个数IP就会被屏蔽
APF_BAN=0,1代表使用APF防火墙,0代表使用iptables,这里选0
BAN_PERIOD=600禁用IP时间,默认600秒,可根据情况调整
可以在/etc/cron.d/下查看到相关的定时计划任务,这里指0-59分钟每分钟执行下ddos脚本,如有发现ddos攻击,就开始拒绝
- 测试
允许80端口iptables -IINPUT -p TCP --dport 80 -j ACCEPT,输入iptables -L-n查看防火墙状态
ab -n 1000 -c 10 http://192.168.1.63/index.html 分10,每次100个用户,一分钟后查看防火墙,80端口处于drop状态,再次输入ab -n 1000 -c 10 http://192.168.1.63/index.html ,发现不能启动