(D)DoS Deflate 防御简单DDOS攻击
分类:运维技术日期:2012-02-23 - 11:03:23作者:老谢
前言:
互联网如同现实社会一样充满钩心斗角,网站被DDOS也成为站长最头疼的事。在没有硬防的情况下,寻找软件代替是最直接的方法,比如用iptables,但是iptables不能在自动屏蔽,只能手动屏蔽。今天要说的就是一款能够自动屏蔽DDOS攻击者IP的软件:DDoS Deflate。
(D)Dos官方地址:http://deflate.medialayer.com/
(D)DoS Deflate is a lightweight bash shell script designed to assist in the process of blocking a denial of service attack. It utilizes the command below to create a list of IP addresses connected to the server, along with their total number of connections. It is one of the simplest and easiest to install solutions at the software level.
Installation
wget http://www.inetbase.com/scripts/ddos/install.sh chmod 0700 install.sh ./install.sh |
安装完以后,你会看到一大篇协议,按q退出即可 :)
文件说明:
ddos.conf — DDoS-Deflate 的配置文件,其中配置防止ddos时的各种行为
ddos.sh — DDoS-Deflate 的主程序,使用shell编写的,整个程序的功能模块
ignore.ip.list — 白名单,该文件中的ip超过设定的连接数时,也不被 DDoS-Deflate 阻止
LICENSE — DDoS-Deflate 程序的发布协议
配置 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) #一般情况下你是使用iptables来做防火墙,所以这里你需要将 APF_BAN的值改为0. 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 |
编辑/usr/local/ddos/ddos.sh
找到#echo $CURR_LINE_IP >> $IGNORE_IP_LIST,取消注释
找到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
模拟测试:
卸载
wget http://www.inetbase.com/scripts/ddos/uninstall.ddos chmod 0700 uninstall.ddos ./uninstall.ddos |
此非常实用
果然够专业哦
不知道..
真是管用啊。。。。谢谢博主的分享啊
看不懂。。。鴨梨山大啊= =。。。
@鳳梨果凍 偶也是现学现卖
总是有些无聊人的攻击别人玩啊
@睡着的水 无聊的人是蛮多
大师级别的人物。
YM专业人士。
@大D 果断反YM
VPS麻烦啊
@SEO博客 爱折腾就好~
嘿嘿,受教了。。去安装试试。
我安装后 运行 出现
./ddos.sh: 13: [: /usr/local/ddos/ddos.conf: unexpected operator
DDoS-Deflate version 0.6
Copyright (C) 2005, Zaf
$CONF not found.
/usr/local/ddos/ddos.conf
第一行改为
#!/bin/bash
多谢楼主,解决了我看不到攻击者IP地址的问题。