应对CC攻击的自动防御系统的原理与实现..docx

应对CC攻击的自动防御系统的原理与实现..docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
应对CC攻击的自动防御系统的原理与实现.

应对CC攻击的自动防御系统的原理与实现0x00 系统效果此DDOS应用层防御系统已经部署在了网站上(如果访问失败,请直接访问位于国内的服务器5进行在线测试)。此防御系统位于应用层,可以有效防止非法用户对服务器资源的滥用:只要是发送高频率地、应用层请求以实现大量消耗系统资源的攻击方式,皆可有效防御。其实现的基本思想是:定期分析所有访问用户在过去各个时间段内的请求频率,将频率高于指定阈值的用户判定为资源滥用者,将其封杀一段时间,时效过后,防御系统自动将其解封。在线效果测试:进入 - 点击右上侧在线查询,此时将会进入/shell/yf域内,/shell/yf是一个用bash scripts写的动态web-cgi程序,用户每一次提交信息,此程序将会执行一些服务器端的查询操作,然后将数据处理后返回到客户端。为了防止非法用户高频率地访问这个程序,而影响到其他正常用户的访问,故需要进行一些保护措施。最终效果:被封信息页面在/shell/yf域内,按住F5不放,一直刷新,几秒后松开,就能看到被封信息和解封时间。只要某个用户对/shell/yf的访问超过了正常的频率,服务将会对这个用户关闭一段时间,期满后自动解封。0x01 系统原理操作系统: CentOS 6.5 x86_64 开发语言: Bash Shell Scripts Web服务器: Apache Httpd(此图为系统结构的鸟瞰图 可存至本地后放大查看)2.1 自定义日志:/etc/httpd/logs/yfddos_log(自定义日志文件的格式)在httpd.conf的日志参数中,加入如下两行:LogFormat %a \%U\ %{local}p %D %{%s}t yfddosCustomLog logs/yfddos_log yfddos我们接下来重点分析日志文件/etc/httpd/logs/yfddos_log.LogFormat %a \%U\ %{local}p %D %{%s}t yfddos解释:%a - 用户的IP%U - 请求的URL地址,但并不包含query string(The URL path requested, not including any query string.)%{local}p - 用户请求的服务器端口(一般为80)%D - 这个请求共消耗了服务器多少微秒(The time taken to serve the request, in microseconds.)%{%s}t - 服务器收到这个请求时,时间戳的值(seconds since 1970-01-01 00:00:00 UTC)例子: /shell/yf 80 118231 1417164313译为:IP为的主机,在时间戳为1417164313的时候,访问了/shell/yf,并由服务器的80端口向其提供服务,共耗时118231微秒或为:IP为的主机,在2014-11-28 16:45:13的时候,访问了/shell/yf,并由服务器的80端口向其提供服务,共耗时0.118231秒至于为什么不使用httpd.conf中官方定义的日志,原因如下:- 用户访问日志的一条记录可大约控制在60Bytes以内,数据量小,便于后期分析,官方定义的日志太过臃肿,影响分析速度- 使用时间戳标志时间,便于后期分析,官方定义的日志时间参数为常规的表达方式,不便于直接进行处理- httpd的日志系统本身就是从旧到新进行排序记录的,所以/etc/httpd/logs/yfddos_log日志条目的时间戳,亦为从小到大进行排序的,数据记录更加鲜明2.2 yfddosd黑名单文件格式黑名单文件格式yfddosd黑名单文件/etc/yfddos/web-yf-search.b格式如下:# ip add-stamp rmv-stamp 1416046335 141604639 1416046336 141604639 1416046339 1416046399每一行为一个黑名单条目,上面第一个条目的意义为:IP地址 :开始时间:时间戳1416046335,即 2014-11-15 18:12:15终止时间:时间戳1416046395,即 2014-11-15 18:13:15直观意义为:IP地址:,从2014-11-15 18:12:15开始,被封杀1分钟,在2014-11-15 18:13:15时自动解封。这个文件将由驻留在系统中的daemon守护进程yfddosd进行维护更新。2.3 守护进程yfddosd:防御系统的逻辑核心守护进程的原理图守护进程yfddosd是整个CC防御系统的核心,而function analyze_and_insert_black()则是yfddosd的核心。yfddos

文档评论(0)

sdgr + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档