还在担心CC攻击? 让我们来了解它, 并尽可能将其拒之服务之外.
还在担心CC攻击? 让我们来了解它, 并尽可能将其拒之服务之外.
CC攻击是什么?
基本原理
CC原名为ChallengeCollapsar, 这种攻击通常是攻击者通过大量的代理机或者肉鸡给目标服务器发送大量貌似合法的请求, 使目标服务器耗尽计算力(也就是cpu飙升100%), 从而达到拒绝服务的目的.
危害在哪
由于系统待处理的数据队列被无限的加长, 而客户端在有效的请求的时间内又得不到响应, 从而以为是网络波动进行相应的重试, 就比如系统每秒能处理1,000QPS, 而现在待处理的队列已经达到了30,000QPS, 也就是系统现在有空闲运转30秒才能处理完队列中的所有请求, 而客户也是至少需要30秒才能得到响应, 原来(1秒内)就可以, 他在等待了10秒后就会重试, 从而进一步加重了系统的负担, 从而使系统瘫痪. 而目标的服务器, 当队列越来越大, 目标计算机的内存耗尽, 会进一步引发程序的崩溃.
举个栗子
一家餐厅, 对外进行服务, 有一百张位置, 如果正常情况下, 每个人平均的点餐加用餐时间15分钟, 这家餐厅15分钟内可以服务100个人(类似QPS), 现在对你搞破坏的人雇佣了100个人来排在你正常的队伍后面, 他们进入餐厅后, 用磨磨蹭蹭的速度找座位(慢速攻击), 然后又叫服务员擦桌子, 然后又假装向服务员点餐, 然后点完餐后又假装有事不吃了(刷空单, 现实中可能只来一次, 而服务器中这过程可能重复N次, 从而占用了大量的资源), 这过程耗时10分钟, 也就是正常吃饭的人, 至少要10分钟后才能进入到餐厅, 可能还会叫不到服务员, 即正常的客户也无法完成用餐服务, 至此这家餐厅在有效期内成功服务个位数的实际客户, 搞破坏的人达成了目标.
如何防御
因为CC是攻击者模拟正常的用户请求来达到攻击的目标, 从单个url的角度来看的话, 他们都是合法的请求, 而从全局的角度来看, 这些攻击者耗废了大量的服务器带宽, CPU且不会产生任何收益. 而攻击者通常用一定的规格来重复流量的攻击, 也就是我们看的到的特征.
由于国内的云不能禁用udp, 无法有效的防御DDOS的攻击, 基本上而目前小企业的比较通用的防御结构高防机(也就是机房, 成本在2000-5000左右, 能防100G, 能禁UDP, 能禁海外), 而且通常会选择多机房来做备份防止机房网络波动, 所有直接面向用户的机子通常是多台的, 也需要把用户的请求汇总分析才有意义, 单一机子分析无法得出准确的特征码
比如攻击者使用单一的攻击请求http://example.com/api/user, 一直重复的发送, 而正常的用户请求完user数据之后就会转入其它的请求, 这攻击者仅仅请求了/api/user, 且次数在短时间达到了几百次, 我们就基本上可以断定这IP为非法的用户, 我们可以对该IP进行封禁处理
洛甲WAF, 它能做什么
洛甲WAF是基于openresty的web防火墙,它由多个或者单个节点服务器和中控服务器组成, 它将节点的数据请求汇总到中控服务器做统一的分析, 从而可以自动的识别出哪些用户是非法IP, 从而实行自动封禁, 基本上能保证90%以上的CC攻击自动拦截, 保证服务器的有效正常的运转.
除了防CC, 他还能做什么
- 可在后台配置限制访问频率,URI访问频率
- 可后台封禁IP,记录IP访问列表
- 对指定HOST限制流入流出流量或者对全局限制
- 可统计服务端错误内容500错误等
- 可查看请求耗时列表, 服务器内部负载情况
- 可在后台配置负载均衡, 添加域名转发, 无需重启服务器
- 可在后台配置SSL证书, 无需重启服务器
- 对黑名单的用户,如果频繁访问,则防火墙对IP封禁
- 对GET或者POST参数进行检查, 防止SQL注入
- 对指定时间, 或者指定星期进行限制, 防止高峰期流量过载
应用截图
主页

配置

负载均衡

SSL证书

相关链接
节点服务器 luojiawaf_lua(nginx+lua)
中控服务器前端 luajiawaf_web(ant.design)
中控服务器后端 luajiawaf_server(django)
还在担心CC攻击? 让我们来了解它, 并尽可能将其拒之服务之外.的更多相关文章
- 网站防止CC攻击的方法
CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包,造成对方服务器资源耗尽,一 ...
- linux中防CC攻击两种实现方法(转)
CC攻击就是说攻击者利用服务器或代理服务器指向被攻击的主机,然后模仿DDOS,和伪装方法网站,这种CC主要是用来攻击页面的,导致系统性能用完而主机挂掉了,下面我们来看linux中防CC攻击方法. 什么 ...
- DDoS攻防战(二):CC攻击工具实现与防御理论
我们将要实现一个进行应用层DDoS攻击的工具,综合考虑,CC攻击方式是最佳选择,并用bash shell脚本来快速实现并验证这一工具,并在最后,讨论如何防御来自应用层的DDoS攻击. 第一步:获取大量 ...
- nginx利用limit模块设置IP并发防CC攻击
nginx利用limit模块设置IP并发防CC攻击 分类: 系统2013-01-21 09:02 759人阅读 评论(0) 收藏 举报 来源:http://blog.xencdn.net/nginx- ...
- 部署在腾讯云的公益网站遭受了一次CC攻击
版权声明:本文由黄希彤 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/651089001483090830 来源:腾云阁 ...
- 使用Discuz!自带参数防御CC攻击以及原理,修改Discuz X 开启防CC攻击后,不影响搜索引擎收录的方法
这部份的工作,以前花的时间太少. 希望能产生一定的作用. http://www.nigesb.com/discuz-cc-attacker-defence.html http://bbs.zb7.co ...
- 如何防范CC攻击
服务器如何防范CC攻击CC攻击是DDOS(分布式拒绝服务)的一种,相比其它的DDOS攻击CC似乎更有技术含量一些.这种攻击你见不到虚假IP,见不到特别大的异常流量,但造成服务器无法进行正常连接,听说一 ...
- CC攻击网站和游戏如何针对性预防?
1:CC攻击原理 CC = Challenge Collapsar,其前身名为Fatboy攻击,是利用不断对网站发送连接请求致 使形成拒绝服务的目的, CC攻击是DDOS(分布式拒绝服务)的一种,相比 ...
- Nginx配置抵御DDOS或CC攻击
防攻击的思路我们都明白,比如限制IP啊,过滤攻击字符串啊,识别攻击指纹啦.可是要如何去实现它呢?用守护脚本吗?用PHP在外面包一层过滤?还是直接加防火墙吗?这些都是防御手段.不过本文将要介绍的是直接通 ...
随机推荐
- Spring AOP应用之一:声明式事务
所有数据访问技术都提供事务处理机制,这些技术提供了API用来开启事务.提交事务完成数据操作,或者在发生错误的时候回滚数据.Spring本身并不支持事务实现,同时只是负责提供标准接口来处理不同数据访问技 ...
- Seastar 教程(一)
介绍 我们在本文档中介绍的Seastar是一个 C++ 库,用于在现代多核机器上编写高效的复杂服务器应用程序. 传统上,用于编写服务器应用程序的编程语言库和框架分为两个不同的阵营:专注于效率的阵营和专 ...
- jemter参数化是如何取值的?(数据分配)
参数化文件数据 脚本设置 ${__threadNum}是线程号,${n}是取值 测试结果 第一次 线程1取值:1,4,7,10,12 线程2取值:2,3,6,11,16 线程3取值:5,9,15,17 ...
- C#值类型回收
函数调用在执行时,首先要在栈中为形参和局部变量分配存储空间,然后还要将实参的值复制给形参,接下来还要将函数的返回地址(该地址指明了函数执行结束后,程序应该回到哪里继续执行)放入栈中,最后才跳转到函数内 ...
- 【C# IO 操作 】内存包装类 Memory <T>和 Span<T> 相关类型
简介 .NET 包含多个相互关联的类型,它们表示任意内存的连续的强类型区域. 这些方法包括: System.Span<T> 用于访问连续的内存区域 得到该类型的实例: 1个T类型的数组 1 ...
- Map<String, String> 遍历的四种方法
Map<String, String> map = new HashMap<String, String>(); map.put("key1", " ...
- Java:IO流(二)——InputStream/OutputStream具体用法:FileXXXStream、ByteArrayXXXStream
1.说明 InputStream和OutputStream是Java标准库中最基本的IO流,它们都位于java.io包中,该包提供了所有同步IO的功能. 2.模块:java.io.InputStrea ...
- Python:PIL(三)——Image
学习自:PIL官方文档--Image (2条消息) Python图像处理PIL各模块详细介绍_章子雎的博客-CSDN博客 一.Image模块 1.open 用法 open(fp,mode='r',fo ...
- k8s全方位监控中-常用rules配置
[root@VM_0_48_centos prometheus]# cat alertmanager-configmap.yaml apiVersion: v1 kind: ConfigMap met ...
- 惨,给Go提的代码被批麻了
hello大家好,我是小楼. 不知道大家还记不记得我上次找到了一个Go的Benchmark执行会超时的Bug?就是这篇文章<我好像发现了一个Go的Bug?>. 之后我就向Go提交了一个PR ...