自行开发的DDos防御工具ddos-defender-v2.1.0

期对这个荒废久时的工具,重新整理了一下,用到BLOG 务器上(放在国外的机器所容易受ddos攻击),防御能力不错~
本插件能实现在受到cc、压测工具等拒绝服务攻击时,进行比较有效的防御。实际上,它并不具备阻截能力,它是基于IPtables 防火墙,利用 netstat+过滤规则,与 IPtables防火墙实现联动。在发生恶意拒绝服务攻击时,本软件会实时分析连接来源的企图。当连接IP 有明显的非正常连接时,插件自动将其加入iptables 防火墙条目进行阻截。同时将攻击IP 记录到计划解封文件里,当达到预定时间后,插件自动从 IPtables 防火墙中解封对应IP。在基本测试过程中,应付单 IP 并发连接攻击、cc攻击等效果明显。但它并不适合于随机伪造 IP 的恶意攻击,但能对抗轻量DDOS。工具完全由bash shell开发,程序简单易读,方便后期修改。

DDoS-Defender-v2.1.0版的改进以下
===============================================
1. 编写核心连接分析代码,不再依赖netstat命令;由于高并发连接下使用netstat处理连接数,使CPU占用率高达100%,严重影响系统性能;直接对/proc/net下的连接记录文件进行分析,使高并发连接状态下比netstat速度提高5倍以上,CPU占用率不超过10%。
2. 优化IP审计算法,减少多余的处理而消耗CPU的BUG
3. 优化运行进程的优先级,增强CPU亲和性
4. 将临时数据加载到内存虚拟交换区里,降低磁盘IO
5. 新增邮件通知功能
===============================================

程序安装
# tar zxvf DDoS-Defender-v2.1.0.tar.gz
# cd DDoS-Defender-v2.1.0
# ./autoinstall.sh
# /usr/local/DDos/sbin/ddosDer start #启动程序
安装完成后,重新Login终端可直接使用 “ ddosDer start” 命令启动和关闭。

查看监控状态
# ddosDer status

程序主要目录介绍
+ /usr/local/DDos/sbin #主要程序运行文件夹
-- ddos_daemon #主守护进程
-- ddos_flush # IP自动解锁控制进程
-- ddosDer #启动控制脚本
+ /usr/local/DDos/logs #事件记录
+ /usr/local/DDos/conf #配置文件
+ /usr/local/DDos/lib #功能模块库
-- core_netstat.so #网络连接处理模块(代替netstat)
-- sendmail.so #邮件发送模块

配置文件说明:
------------------------------------------------------------------------------
##### 定义文件夹
PROC_DIR="/usr/local/DDos/"
LOGS_FILE="/usr/local/DDos/logs/running.log"
TMP_DIR="/dev/shm/tmp"
IPT="/sbin/iptables"

### 加载lib模块
CORE_NETSTAT="/usr/local/DDos/lib/core_netstat.so"
SENDMAIL_EXE="/usr/local/DDos/lib/sendmail.so"
CHECKIPTABLES="/usr/local/DDos/lib/check_iptables.so"

### 计划清理队列
CROND_LIST="/usr/local/DDos/logs/crond_list.dat"

### 白名单
IGNORE_IP="127.0.0.1|0.0.0.0"

### 监控端口
MONT_PORT="80|8080|443"

### 调和模式,0表示只监测,1表示主动防御
KILL=1

### 监控密度,单位为秒
REXEC_TIME=10

### 锁定连接数,该项能确定监控的敏感度,非常重要
NO_OF_CONNECTIONS=100

### 管理员邮箱,空格隔开,EMAIL_ATTACH是否启用附件,0为Off
SENDMAIL_ON=1
EMAIL_ATTACH=0
EMAIL_SIGE="4399运维团队"
EMAIL_TO="
350311204@qq.com "
### 封锁时间
BAN_PERIOD=3600

------------------------------------------------------------------------------











《攻击测试》


DDoS-Defender-v2.1.0 ,我模拟了4台主机,并发40000条连接对blog主机发动攻击,将监控密度调为5、响应度调为50,给果十分满意。不用10秒就可以将攻击主机锁定~~ blog主机瞬间负载不超过2.5,已经算是一个很好的成绩了。比v.2.0版性能上优化了40%,CPU使用率居然可以忽略不计。看来使用新的连接数处理机制比使用netstat内置命令性能上高不少,由其在高并发情况下明显。


[之前下载的包,启动时提示了/usr/local/DDos/conf/ddos.conf 文件头报错!这是由于在linux上把包下载在win机器上再上传google造成的文件编码问题,只要vi ddos.conf文件,将开头那个特殊符号删掉就OK了,我已重新上传了一份新的包到google。]


补充内容 (2012-2-16 16:11):
介绍一个压力测试工具:webbench最多可以模拟3万个并发连接去测试网站的负载能力,可以模拟成ddos。

wgethttp://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz


附件 DDoS-Defender-v2.1.0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值