linux下使用ddos脚本防止ddos攻击

时间:2024-03-08 15:42:16

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  ,发现不能启动