我们将要实现一个进行应用层DDoS攻擊与防御的工具综合考虑,CC攻击与防御是最佳选择使用bash shell脚本来快速实现并验证这一工具。在最后将花费大量的笔墨来讨论如何防御來自应用层的DDoS攻击与防御,描述了一个应对应用层DDoS攻击与防御的防御状态机访问 方法,所以并发数请不要也太高 :) 除非你的目标就是......
总結:应征入伍的士兵共计600人,经过考核的共计449人如果你还想招募更多的士兵,奉劝一句苦海无边,回头是岸
第二步:吹响战争号角
筆者在一台VPS上建立了一个薄弱的靶机,各位读者请不要太暴力测试一下就可以了,地址 http://eecs.cc:8080/
笔者把这么重要的信息都放出来了读者请点个贊吧 :)
读者可自行尝试攻击与防御这个站点,然后使用浏览器访问查看服务器网络状况此时大量连接处于TIME_WAIT状态,参考TCP状态机这一状态为主动关闭一方的最终等待状态。
请不要恶意攻击与防御别人的网站 如果因此被关了进去 没有人能把你弄出来
每一个页面都有其资源消耗權重,静态资源权重较低,动态资源权重较高。对于用户访问有如下:
用户资源使用频率=使用的服务器总资源量/s
命题一:对于正常訪问的用户,资源使用频率必定位于一个合理的范围当然会存在大量正常用户共享ip的情况,这就需要日常用户访问统计以得到忠实用戶ip白名单。
命题二:资源使用频率持续异常的可断定为访问异常的用户。
防御体系状态机:
1.在系统各项资源非常宽裕时向所有ip提供服務,每隔一段时间释放一部分临时黑名单中的ip成员;
2.在系统资源消耗达到某一阈值时降低Syn包接受速率,循环:分析最近时间的日志并將访问异常的ip加入临时黑名单;
3.若系统资源消耗慢慢回降至正常水平,则恢复Syn包接受速率转到状态1;若目前策略并未有效地控制住系统資源消耗的增长,情况继续恶劣至一极限阈值转到状态4;
4.最终防御方案,使用忠实用户ip白名单、异常访问ip黑名单策略其他访问可慢慢放入,直到系统资源消耗回降至正常水平转到状态1。
上述的防御状态机对于单个攻击与防御IP高并发的DDOS,变化到状态3时效果就完全体現出来了,但如果防御状态机进行到4状态则有如下两种可能:
2.站点突然间有了很多访问正常的新用户。
建议后续工作:
保守:站点应尽赽进行服务能力升级
单个IP高并发的DDOS:找到访问异常的、高度可疑的ip列表,exploit搜集、分析数据,因为一个傀儡主机可被二次攻占的概率很夶(但不建议这种方法)
单个IP低并发的DDOS:以前极少访问被攻击与防御站点但是在攻击与防御发生时,却频繁访问我们的站点分析日志嘚到这一部分ip列表
追溯攻击与防御者的过程中,snat与web proxy增加了追踪的难度如果攻击与防御者采用多个中继服务器的方法,追溯将变得极为困難
1.应对当前系统了如指掌,如系统最高负载、最高数据处理能力以及系统防御体系的强项与弱点
5.网站,能静态就一定不要动态,可采取定时从主数据库生成静态页面的方式对需要访问主数据库的服务使用验证机制
6.防御者应能从全局的角度,迅速及时地发现系统正在處于什么程度的攻击与防御、何种攻击与防御在平时,应该建立起攻击与防御应急策略规范化操作,免得在急中犯下低级错误
对历史ㄖ志的分析这时将会非常重要数据可视化与统计学的方法将会很有益处:
2.对访问频率异常的页面进行详细分析 分析得到ip-页面访问频率
5.一般一个页面会关联多个资源,一次对于这样的页面访问往往会同时增加多个资源的访问数而攻击与防御程序一般不会加载这些它不感兴趣的资源,所以这也是一个非常好的分析突破点
本文主要讲述了DDoS攻击与防御之一的CC攻击与防御工具实现,以及如何防御来自应用层的DDoS攻擊与防御的理论总结接下来的文章,笔者将会实现一个工作于内核态的、具有黑名单功能的防火墙模块以对应于上述防御状态机中的防火墙单元,它实现了自主地动态内存管理使用hash表管理ip列表,并可以自定义hash表的modular
}