您的位置:首页 > 运维架构 > Linux

linux LAMP 下我们首选DDOS default 来防御DDOS!

2011-07-04 12:29 204 查看
DOS-Deflate 是由Zaf开发的脚本,最初是在MediaLayer服务器上使用,以协助管理员解决拒绝服务***(DOS)问题.如何防范拒绝服务***一直是服务器管理员研究的一个课题,尤其是使用VPS(虚拟服务器)的管理员.由于是在虚拟的环境下,既不好要求服务商增加硬件防火墙,又因为本身虚拟的架构导致了一些内核模块(如:connlimit)无法安装.VPS或者服务器要完全防止拒绝服务***是不太现实的,依靠某个模块只能减轻***产生的影响,并不能真正杜绝***.服务器性能及网络频宽决定了防止***的实施难易度.

诡谲在这里推荐VPS(vz)管理员使用DOS-Deflate脚本.通过APF添加动态过滤.脚本安装简单,防范***的效果也很不错.但是需要注意,安装前需确定Advanced Policy Firewall (APF)已经在你的系统安装并运行良好.否则将不会起到封禁***IP的作用.

安装step by step

1.以root用户登录终端.

2.下载安装脚本

#cd /usr/local/src

#wget http://www.inetbase.com/scripts/ddos/install.sh
3.安装防护

#sh ./install.sh

安装完成之后.可以在/usr/local/ddos/路径找到配置文件和sh脚本.配置十分简单,你只需编辑/usr/local/ddos/ddos.conf文件.

参数配置示范:

##### Paths of the script and other files

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"

##### frequency in minutes for running the script

##### Caution: Every time this setting is changed, run the script with --cron

##### option so that the new frequency takes effect

FREQ=1

##### How many connections define a bad IP? Indicate that below. # 单IP发起连接数阀值,不建议设置太低.

NO_OF_CONNECTIONS=150

##### APF_BAN=1 (Make sure your APF version is atleast 0.96)

##### APF_BAN=0 (Uses iptables for banning ips instead of APF)

APF_BAN=1

##### KILL=0 (Bad IPs are'nt banned, good for interactive execution of script)

##### KILL=1 (Recommended setting)

KILL=1

##### An email is sent to the following address when an IP is banned. # 当单IP发起的连接数超过阀值后,将发邮件给指定的收件人.

##### Blank would suppress sending of mails

EMAIL_TO="root"

##### Number of seconds the banned ip should remain in blacklist. # 设置被挡IP多少秒后移出黑名单.

BAN_PERIOD=600

此外还要修改两个地方.

1. 在/usr/local/ddos/ddos.sh的第134行.注释掉这行,前面加'#'号

#echo $CURR_LINE_IP >> $IGNORE_IP_LIST

2.在同个文件大概117行处,将netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST注释掉然后在下面添加 netstat -ntu | awk '{print $5}' | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | sort | uniq -c | sort -nr > $BAD_IP_LIST

模拟发起dos***后,系统管理员将收到邮件,告知过去1分钟禁止了哪些IP和其发起的连接数.

卸载

以root用户登录终端,下载反安装脚本

#wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
#sh ./uninstall.ddos
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux dos ddos