当前位置:   article > 正文

DDoS渗透与攻防实战(四):CC攻击防御系统部署_cc攻击教程,搭建教程

cc攻击教程,搭建教程

1. 系统效果

此防御系统位于应用层,可以有效防止非法用户对服务器资源的滥用:

只要是发送高频率地、应用层请求以实现大量消耗系统资源的攻击方式,皆可有效防御。

其实现的基本思想是:

定期分析所有访问用户在过去各个时间段内的请求频率,将频率高于指定阈值的用户判定为资源滥用者,将其封杀一段时间,时效过后,防御系统自动将其解封。

在线效果测试:

进入网站-> 点击右上侧在线查询,此时将会进入/shell/yf域内,/shell/yf是一个用bash scripts写的动态web-cgi程序,用户每一次提交信息,此程序将会执行一些服务器端的查询操作,然后将数据处理后返回到客户端。

为了防止非法用户高频率地访问这个程序,而影响到其他正常用户的访问,故需要进行一些保护措施。

最终效果:

被封信息页面

  1. /shell/yf域内,按住F5不放,一直刷新,几秒后松开,就能看到被封信息和解封时间。
  2. 只要某个用户对/shell/yf的访问超过了正常的频率,服务将会对这个用户关闭一段时间,期满后自动解封。

2. 系统原理

操作系统: CentOS 6.5 x86_64
开发语言: Bash Shell Scripts
Web服务器: Apache Httpd


(此图为系统结构的鸟瞰图 可存至本地后放大查看)

2.1 自定义日志:/etc/httpd/logs/yfddos_log


(自定义日志文件的格式)

在httpd.conf的日志参数中,加入如下两行:

  1. LogFormat "%a \"%U\" %{local}p %D %{%s}t " yfddos
  2. CustomLog logs/yfddos_log yfddos

我们接下来重点分析日志文件/etc/httpd/logs/yfddos_log.

LogFormat "%a \"%U\" %{local}p %D %{%s}t " yfddos

解释:

  1. %a -> 用户的IP
  2. %U -> 请求的URL地址,但并不包含query string(The URL path requested, not including any query string.)
  3. %{local}p -> 用户请求的服务器端口(一般为80
  4. %D -> 这个请求共消耗了服务器多少微秒(The time taken to serve the request, in microseconds.)
  5. %{%s}t -> 服务器收到这个请求时,时间戳的值(seconds since 1970-01-01 00:00:00 UTC)

例子:

192.168.31.1 "/shell/yf" 80 118231 1417164313

译为: IP为192.168.31.1的主机,在时间戳为1417164313的时候,访问了/shell/yf,并由服务器的80端口向其提供服务,共耗时118231微秒

或为: IP为192.168.31.1的主机,在2014-11-28 16:45:13的时候,访问了/shell/yf,并由服务器的80端口向其提供服务,共耗时0.118231秒

至于为什么不使用httpd.conf中官方定义的日志,原因如下:

  1. - 用户访问日志的一条记录可大约控制在60Bytes以内,数据量小,便于后期分析,官方定义的日志太过臃肿,影响分析速度
  2. - 使用时间戳标志时间,便于后期分析,官方定义的日志时间参数为常规的表达方式,不便于直接进行处理
  3. - httpd的日志系统本身就是从旧到新进行排序记录的,所以/etc/httpd/logs/yfddos_log日志条目的时间戳,亦为从小到大进行排序的,数据记录更加鲜明

2.2 yfddosd黑名单文件格式

黑名单文件格式

yfddosd黑名单文件/etc/yfddos/web-yf-search.b格式如下:

  1. # ip add-stamp rmv-stamp
  2. 1.2.3.4 1416046335 1416046395
  3. 1.2.3.5 1416046336 1416046396
  4. 1.2.3.6 1416046339 1416046399

每一行为一个黑名单条目,上面第一个条目的意义为:

  1. IP地址 :1.2.3.4
  2. 开始时间:时间戳1416046335,即 2014-11-15 18:12:15
  3. 终止时间:时间戳1416046395,即 2014-11-15 18:13:15

直观意义为:

IP地址:1.2.3.4,从2014-11-15 18:12:15开始,被封杀1分钟,在2014-11-15 18:13:15时自动解封。

这个文件将由驻留在系统中的daemon守护进程yfddosd进行维护更新。

2.3 守护进程yfddosd:防御系统的逻辑核心

守护进程的原理图

守护进程yfddosd是整个C

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/897427
推荐阅读
相关标签
  

闽ICP备14008679号