linux ddos防御攻击

Linux Ddos防御攻击

[root@lxh ~]# netstat -ntu |awk '{print $5}'|grep '[0-9]'|cut -d: -f1 |sort |uniq -c|sort -n   #查看统计ip链接数

安装配置ddos deflate

[root@lxh ~]# cd /usr/local/src

[root@lxh src]# wget http://www.inetbase.com/scripts/ddos/install.sh

[root@lxh src]# chmod 744 install.sh    #增加可执行权限

[root@lxh src]# ./install.sh      #执行安装,安装完后输入q退出说明

[root@lxh ddos]# cd /usr/local/ddos

[root@lxh ddos]# ls

ddos.conf  ddos.sh  ignore.ip.list  LICENSE

##############################################################################

ddos.conf -- DDoS-Deflate 的配置文件,其中配置防止ddos时的各种行为 ddos.sh   -- DDoS-Deflate 的主程序,使用shell编写的,整个程序的功能模块 ignore.ip.list -- 白名单,该文件中的ip超过设定的连接数时,也不被 DDoS-Deflate 阻止 LICENSE   -- DDoS-Deflate 程序的发布协议

DDoS deflate的默认配置位于/usr/local/ddos/ddos.conf ,默认如下:

PROGDIR="/usr/local/ddos" PROG="/usr/local/ddos/ddos.sh" IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list" //IP地址白名单 CRON="/etc/cron.d/ddos.cron" //定时执行程序 APF="/etc/apf/apf" IPT="/sbin/iptables"

FREQ=1 //检查时间间隔,默认1分钟

NO_OF_CONNECTIONS=150 //最大连接数,超过这个数IP就会被屏蔽,一般默认即可

APF_BAN=1 //使用APF还是iptables。推荐使用iptables,将APF_BAN的值改为0即可。

KILL=1 //是否屏蔽IP,默认即可

EMAIL_TO="root" //当IP被屏蔽时给指定邮箱发送邮件,推荐使用,换成自己的邮箱即可

BAN_PERIOD=600 //禁用IP时间,默认600秒,可根据情况调整

查看/usr/local/ddos/ddos.sh文件的第117行

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST

修改为:

netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sed -n ‘/[0-9]/p’ | sort | uniq -c | sort -nr > $BAD_IP_LIST

在crontab中添加没分钟执行ddos.sh脚本

# crontab -e

*/1 * * * * /bin/bash /usr/local/ddos/ddos.sh

测试ddos防御。

测试工具ab,源码安装Apache2一般有安装ab。可用which ab查看是否有安装。

如果没有安装可执行

# yum -y install httpd-tools

[li@lxh1 Desktop]$ ab -n 150 192.168.0.102/

[root@lxh ~]# netstat -ntu |awk '{print $5}' |cut -d: -f1 |grep '[0-9]' |sort |uniq -c |sort -nr

151 192.168.0.101

1 23.32.248.91

[root@lxh Desktop]# iptables -L

Chain INPUT (policy ACCEPT)

target     prot opt source               destination

DROP       all  --  192.168.0.101        anywhere

这样就禁止了192.168.0.101的访问。

[root@lxh Desktop]# iptables -F    #清除规则

[root@lxh Desktop]# service iptables save   #保存规则

上一篇:n++与++n的区别


下一篇:Flash图表控件FusionCharts如何在图表标绘非连续数据