CentOS6.X安装DDoSDeflate防御ddos攻击

编程

必须在root权限下的终端账户里下载和安装,具体命令如下:

wget https://github.com/jgmdev/ddos-deflate/archive/master.zip

unzip master.zip

cd ddos-deflate-master

./install.sh

同样是root权限账户下执行如下命令来卸载 DDoS Deflate 。

cd ddos-deflate-master

./uninstall.sh

DDoS Deflate 的使用

安装程序会自动检测系统是否支持 init.d 脚本,当支持的话将安装文件和启动脚本的 DDoS apropiate 。在初始化的情况。 DDoS Deflate 开始作为一个守护进程,它监测间隔设置为5秒默认。

[root@youxi1 ddos-deflate-master]# vim /etc/ddos/ddos.conf  //查看配置文件

//脚本和其他文件的路径

# Paths of the script and other files

PROGDIR="/usr/local/ddos"

SBINDIR="/usr/local/sbin"

PROG="$PROGDIR/ddos.sh"  //执行脚本地址

IGNORE_IP_LIST="ignore.ip.list"  //IP地址白名单列表

IGNORE_HOST_LIST="ignore.host.list"  //主机白名单列表

CRON="/etc/cron.d/ddos"  //计划任务文件地址

//防火墙命令地址

APF="/usr/sbin/apf"

CSF="/usr/sbin/csf"

IPF="/sbin/ipfw"

IPT="/sbin/iptables"

IPT6="/sbin/ip6tables"

TC="/sbin/tc"

//第22行,检查DDos时间间隔,默认1分钟

FREQ=1

//第25行,作为一个守护进程时,运行的频率,单位秒

DAEMON_FREQ=5

//第28行,最大连接数,超过该数值后IP就会被禁止,一般默认即可

NO_OF_CONNECTIONS=150

//第33行,为true时仅统计接入连接,会比统计in/out更慢禁止

ONLY_INCOMING=false

//第38行,为true时脚本将会使用tcpdump扫描由CloudFlare服务器发送的CF-Connecting-IP头标签,

//并且禁止使用iptables字符串匹配模块

ENABLE_CLOUDFLARE=false

//第43行,为true时启用PORT_CONNECTIONS,与ONLY_INCOMING相同,但更慢

ENABLE_PORTS=false

//第54行,端口连接检测,为每个端口分配监听规则,格式为“端口(或端口端):最大连接数:禁用时间(单位秒)”

PORT_CONNECTIONS="80:150:600 443:150:600 20-21:150:600"

//第58行,使用的防火墙,包括:auto, apf, csf, ipfw, and iptables

FIREWALL="auto"

//第62行,当ip被屏蔽是给指定邮箱发送邮件

EMAIL_TO="root"

//第65行,IP禁止时间,单位秒

BAN_PERIOD=600

//第71行,要阻止的连接状态,状态之间使用冒号分隔,例如:established:syn-sent:syn-recv:fin-wait-1:fin-wait-2

//该例默认情况下,会阻止监听和关闭之外的所有状态,状态详见:man ss

CONN_STATES="connected"

//第74行,当使用netstat时要阻止的连接状态,状态详见:man netstat。那理论上,上面是使用ss时阻止的连接状态?

CONN_STATES_NS="ESTABLISHED|SYN_SENT|SYN_RECV|FIN_WAIT1|FIN_WAIT2|TIME_WAIT|CLOSE_WAIT|LAST_ACK|CLOSING"

//第78行,是否监控每个ip使用的带宽,超过时降低速率(需要iftop和tc命令)

BANDWIDTH_CONTROL=false

//第82行,触发降速的带宽速率,目前支持kbit和mbit

BANDWIDTH_CONTROL_LIMIT="1896kbit"

//第87行,触发降速时,会在指定时间周期内,速率上限

BANDWIDTH_DROP_RATE="512kbit"

//第91行,降速的时间周期,单位秒,即600秒内会有速率上限

BANDWIDTH_DROP_PERIOD=600

//第95行,如果为true时,仅考虑从客户端接收的数据,而不考虑服务器发给客户端的数据

BANDWIDTH_ONLY_INCOMING=true

注意:在配置文件中,ENABLE_PORTS(第43行)参数开启时,PORT_CONNECTIONS(第54行)才能使用;BANDWIDTH_CONTROL(第78行)参数开启时,BANDWIDTH_CONTROL_LIMIT(第82行)、BANDWIDTH_DROP_RATE(第87行)、BANDWIDTH_DROP_PERIOD(第91行)、BANDWIDTH_ONLY_INCOMING(第95行)才能使用。

查看定时crond执行任务:/usr/local/ddos/ddos.sh

# crontab -l

加入开机任务:

# chkconfig ddos on

DDOS命令

# ddos

DDoS-Deflate version 1.3

Copyright (C) 2005, Zaf <zaf@vsnl.com>

Usage: ddos [OPTIONS] [N]

N : number of tcp/udp connections (default 50)

OPTIONS:

-h | --help: Show this help screen

-c | --cron: Create cron job to run this script regularly (default 1 mins)

-i | --ignore-list: List whitelisted ip addresses

-b | --bans-list: List currently banned ip addresses.

-u | --unban: Unbans a given ip address.

-d | --start: Initialize a daemon to monitor connections

-s | --stop: Stop the daemon

-t | --status: Show status of daemon and pid if currently running

-v[4|6] | --view [4|6]: Display active connections to the server

-y[4|6] | --view-port [4|6]: Display active connections to the server including the port

-f | --traffic-list: List bandwidth control rules.

-p | --ports: List port blocking rules.

-k | --kill: Block all ip addresses making more than N connections

 

以上是 CentOS6.X安装DDoSDeflate防御ddos攻击 的全部内容, 来源链接: utcz.com/z/516673.html

回到顶部