还在担心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在外面包一层过滤?还是直接加防火墙吗?这些都是防御手段.不过本文将要介绍的是直接通 ...
随机推荐
- suse 12安装 python-pip
文章目录 方法一 安装setup-tools 安装pip 方法二 配置阿里云pip源 pip安装pyotp 方法一 安装setup-tools linux-oz6w:~ # wget https:// ...
- VSCode官方的配置同步方案
前言 这几天在迁移电脑工作环境,对于VSCode,我实在不想从头做下载插件.配置代码规则这样的事情,于是求助百度,搜索结果靠前的解决方案基本都是使用Setings Sync插件,于是我就从了. 经过好 ...
- TCP/IP详解 读书笔记:TCP:传输控制协议
TCP的服务 TCP为应用层提供一种面向连接的.可靠的字节流服务. 一个TCP连接中,仅有两方进行彼此通信,所以广播和多播不能用于TCP. TCP通过以下方式提供可靠性: 应用数据被切割为TCP认为最 ...
- 【笔试必备】常见sql笔试题(30题)
sql是测试从业者必备的技能之一,基本上也是笔试必考内容. 所以,不要让sql拖了后腿,有些测友一遇到多表关联查询就犯晕,甚至连单表的执行顺序都没搞懂,下面简单介绍下,顺便给一些题供大家练习. 单表执 ...
- 使用fireworks解决图片隐写的问题
同样也可以用ps来解决图层间隐写的问题
- Spring系列22:Spring AOP 概念与快速入门篇
本文内容 Spring AOP含义和目标 AOP相关概念 声明式AOP快速入门 编程式创建代理对象 Spring AOP含义和目标 OOP: Object-oriented Programming 面 ...
- 第一次接触数据库(SQLite)
第一次接触,学了创建列表 + 行的删除 + 内容的更改 + 删除列表 第一次接触要知道一些基本知识 NULL(SQL) = Nnoe(python) #空值 INTEGER = int #整数 R ...
- maven配置本地仓库和远程仓库
配置本地仓库 修改maven安装目录下conf/settings.xml,也可以在idea配置中覆盖 <localRepository>E:\maven\MavenRepository&l ...
- Specified cast is not valid(C#) 引发的思考(装箱,拆箱本质)
没有很华丽的语言,直接拿代码说事情把. 这段代码,会报错吗? 结论:当然不会 这段代码会报错了.原因是为啥? 这里面的水比较深.也要提醒各位写代码的适合要引起注意.异常:System.Invalid ...
- QT:异常、错误
1.Unknown module(s) in QT: xxx 原因1:我们的QT中没有安装这个Module 解决方法:Unknown module(s) 与MaintenanceTool.exe更新. ...