什么是CC攻击,如何防止网站被CC攻击?
CC主要是用来攻击页面的。就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,对不?!一般来说,访问的人越多,论坛的页面越多,数据库就越大,被访问的频率也越高,占用的系统资源也就相当可观,现在知道为什么很多空间服务商都说大家不要上传论坛,聊天室等东西了吧。
一个静态页面不需要服务器多少资源,甚至可以说直接从内存中读出来发给你就可以了,但是论坛就不一样了,我看一个帖子,系统需要到数据库中判断我是否有读读帖子的权限,如果有,就读出帖子里面的内容,显示出来——这里至少访问了2次数据库,如果数据库的体积有200MB大小,系统很可能就要在这200MB大小的数据空间搜索一遍,这需要多少的CPU资源和时间?如果我是查找一个关键字,那么时间更加可观,因为前面的搜索可以限定在一个很小的范围内,比如用户权限只查用户表,帖子内容只查帖子表,而且查到就可以马上停止查询,而搜索肯定会对所有的数据进行一次判断,消耗的时间是相当的大。
CC就是充分利用了这个特点,模拟多个用户(多少线程就是多少用户)不停的进行访问(访问那些需要大量数据操作,就是需要大量CPU时间的页面)。很多朋友问到,为什么要使用 *** 呢?因为 *** 可以有效地隐藏自己的身份,也可以绕开所有的防火墙,因为基本上所有的防火墙都会检测并发的TCP/IP连接数目,超过一定数目一定频率就会被认为是Connection-Flood。
使用 *** 攻击还能很好的保持连接,我们这里发送了数据, *** 帮我们转发给对方服务器,我们就可以马上断开, *** 还会继续保持着和对方连接(我知道的记录是有人利用2000个 *** 产生了35万并发连接)。
可能很多朋友还不能很好的理解,我来描述一下吧。我们假设服务器A对Search.asp的处理时间需要0.01S(多线程只是时间分割,对结论没有影响),也就是说他一秒可以保证100个用户的Search请求,服务器允许的更大连接时间为60s,那么我们使用CC模拟120个用户并发连接,那么经过1分钟,服务器的被请求了7200次,处理了6000次,于是剩下了1200个并发连接没有被处理。有的朋友会说:丢连接!丢连接!问题是服务器是按先来后到的顺序丢的,这1200个是在最后10秒的时候发起的,想丢?!还早,经过计算,服务器满负开始丢连接的时候,应该是有7200个并发连接存在队列,然后服务器开始120个/秒的丢连接,我们发动的连接也是120个/秒,服务器永远有处理不完的连接,服务器的CPU 100%并长时间保持,然后丢连接的60秒服务器也判断处理不过来了,新的连接也处理不了,这样服务器达到了超级繁忙状态。
蝴蝶:我们假设服务器处理Search只用了0.01S,也就是10毫秒(这个速度你可以去各个有开放时间显示的论坛看看),我们使用的线程也只有120,很多服务器的丢连接时间远比60S长,我们的使用线程远比120多,可以想象可怕了吧,而且客户机只要发送了断开,连接的保持是 *** 做的,而且当服务器收到SQL请求,肯定会进入队列,不论连接是否已经断开,而且服务器是并发的,不是顺序执行,这样使得更多的请求进入内存请求,对服务器负担更大。
当然,CC也可以利用这里 *** 对FTP进行攻击,也可以实现TCP-FLOOD,这些都是经过测试有效的。
防范 ***
说了攻击原理,大家肯定会问,那么怎么防御?使用硬件防火墙我不知道如何防范,除非你完全屏蔽页面访问,我的 *** 是通过页面的编写实现防御。
1. 使用Cookie认证。这时候朋友说CC里面也允许Cookie,但是这里的Cookie是所有连接都使用的,所以启用IP+Cookie认证就可以了。
2. 利用Session。这个判断比Cookie更加方便,不光可以IP认证,还可以防刷新模式,在页面里判断刷新,是刷新就不让它访问,没有刷新符号给它刷新符号。给些示范代码吧,Session:
%if session(“refresh”) 1 then
Session(“refresh”)=session(“refresh”)+1
Response.redirect “index.asp”
End if
%
这样用户之一次访问会使得Refresh=1,第二次访问,正常,第三次,不让他访问了,认为是刷新,可以加上一个时间参数,让多少时间允许访问,这样就限制了耗时间的页面的访问,对正常客户几乎没有什么影响。
3. 通过 *** 发送的HTTP_X_FORWARDED_FOR变量来判断使用 *** 攻击机器的真实IP,这招完全可以找到发动攻击的人,当然,不是所有的 *** 服务器都发送,但是有很多 *** 都发送这个参数。详细代码:
%
Dim fsoObject
Dim tsObject
dim file
if Request.ServerVariables("HTTP_X_FORWARDED_FOR")="" then
response.write "无 *** 访问"
response.end
end if
Set fsoObject = Server.CreateObject("Scripting.FileSystemObject")
file = server.mappath("CCLog.txt")
if not fsoObject.fileexists(file) then
fsoObject.createtextfile file,true,false
end if
set tsObject = fsoObject.OpenTextFile(file,8)
tsObject.Writeline Request.ServerVariables("HTTP_X_FORWARDED_FOR")"["Request.ServerVariables("REMOTE_ADDR")"]"now()
Set fsoObject = Nothing
Set tsObject = Nothing
response.write "有 *** 访问"
%
这样会生成CCLog.txt,它的记录格式是:真实IP [ *** 的IP] 时间,看看哪个真实IP出现的次数多,就知道是谁在攻击了。将这个代码做成Conn.asp文件,替代那些连接数据库的文件,这样所有的数据库请求就连接到这个文件上,然后马上就能发现攻击的人。
4. 还有一个 *** 就是把需要对数据查询的语句做在Redirect后面,让对方必须先访问一个判断页面,然后Redirect过去。
5. 在存在多站的服务器上,严格限制每一个站允许的IP连接数和CPU使用时间,这是一个很有效的 *** 。
CC的防御要从代码做起,其实一个好的页面代码都应该注意这些东西,还有SQL注入,不光是一个入侵工具,更是一个DDOS缺口,大家都应该在代码中注意。举个例子吧,某服务器,开动了5000线的CC攻击,没有一点反应,因为它所有的访问数据库请求都必须一个随机参数在Session里面,全是静态页面,没有效果。突然发现它有一个请求会和外面的服务器联系获得,需要较长的时间,而且没有什么认证,开800线攻击,服务器马上满负荷了。
代码层的防御需要从点点滴滴做起,一个脚本代码的错误,可能带来的是整个站的影响,甚至是整个服务器的影响,慎之!
网站遭遇CC攻击怎么办?十分苦恼。
你是什么的语言网站,我这边有ASP asp.net php的防CC攻击代码可以分享。
如果你的网站是放在美国的可以搜索(红盾 免费对抗CC攻击),他们有提供免费的保护(对抗攻击)服务,网站被攻击时找他们免费帮忙,即简单又方便。
防cc攻击asp.net(c#)版
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Text;
//中国红盾防御网 专业的防御技术,可以对抗110G的ddos攻击
namespace cc
{
/// summary
/// WebForm1 的摘要说明。
/// /summary
public class WebForm1 : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(Request.ServerVariables["HTTP_VIA"]!=null)
{
string user_IP=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"]==null)
{
Response.Write("系统正在维护中");
Response.End();
}
if(Request.ServerVariables["HTTP_VIA"]==Request.ServerVariables["REMOTE_ADDR"])
{
Response.Write("系统正在维护中");
Response.End();
}
}
else
{
string user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString();
if(Request.ServerVariables["Remote_Host"]!=Request.ServerVariables["REMOTE_ADDR"])
{
Response.Redirect("error.html");
}
}
System.IO.File.CreateText("CCLog.txt");
if(!System.IO.File.Exists("CCLog.txt"))
{
System.IO.File.CreateText("CCLog.txt");
}
StreamWriter w = File.AppendText("CCLog.txt");
w.WriteLine("user_IP DateTime.Now.ToLongTimeString()");
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// summary
/// 设计器支持所需的 *** - 不要使用代码编辑器修改
/// 此 *** 的内容。
/// /summary
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
网站被CC攻击怎么办?|服务器页面攻击解决?抗ddos攻击服务器
|服务器页面攻击解决?抗ddos攻击服务器租用 防御CC攻击之网站代码需要注意之处: CC的防御要从代码做起,其实一个好的页面代码都应该注意每ip连接数,查询次数等这些东西,还有SQL注入,不光是一个入侵工具,更是一个DDOS缺口,大家都应该在代码中注意。某服务器,开动了5000线的CC攻击,没有一点反应,因为它所有的访问数据库请求都必须一个随机参数在Session里面,全是静态页面,没有效果。突然发现它有一个请求会和外面的服务器联系获得,需要较长的时间,而且没有什么认证,开800线攻击,服务器马上满负荷了。对于大流量CC攻击的更佳解决方案:大流量CC攻击无论是网站页面代码设置还是软件防火墙设置都不能很好的解决被攻击问题,对于这一问题美景互联同美国芝加哥机房合作搭建丹佛VIP服务器区专业防御CC类型的硬件防火墙具体介绍如下:专一CC防御:丹佛VIP服务器全美唯一配置硬件CC防火墙区:专一防御CC、SYN、ACK碎片攻击,公司直接操控防火墙,硬防策略设置可以精确到每台服务器。远程故障解决:重做系统等常见问题都无需通过机房技术操作,公司技术支持直接通过KVM远程管理卡处理故障。提供故障解决。
网站怎么防止cc攻击,解决CC攻击的 *** 分享
1、CC主要是用来攻击页面的。大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,访问的人越多,论坛的页面越多,数据库就越大,被访问的频率也越高,占用的系统资源也就相当可观。
2、DDOS的话IP没泄露可以加CDN,泄露了只能换IP加CDN或者换高防服务器,百度云加速专业版可以找我们,我们授权 *** 商,或者自有高防CDN,无限防DDOS攻击、无视一切CC攻击
3、其次更换一个秒解的服务器是很必要的,增加攻击成本。然后可以用cdn来影藏真实的ip地址,而且现在很多主机都无视cc攻击的 。刑天ddos可以穿破防御,道高一尺魔高一丈,水很深,
4、针对CC攻击,一般的租用有防CC攻击软件的空间、VPS或服务器就可以了,或者租用章鱼主机,这种机器对CC攻击防御效果更好。
cc攻击是什么?怎么防御网站被cc?
确定Web服务器正在或者曾经遭受CC攻击,那如何进行有效的防范呢?壹基比小喻依据个人经验,提供如下防御措施。
(1).取消域名绑定
一般cc攻击都是针对网站的域名进行攻击,比如网站域名是,那么攻击者就在攻击工具中设定攻击对象为该域名然后实施攻击。
对于这样的攻击我们的措施是在IIS上取消这个域名的绑定,让CC攻击失去目标。具体操作步骤是:打开“IIS管理器”定位到具体站点右键“属性”打开该站点的属性面板,点击IP地址右侧的“高级”按钮,选择该域名项进行编辑,将“主机头值”删除或者改为其它的值(域名)。
笔者实例模拟测试,取消域名绑定后Web服务器的CPU马上恢复正常状态,通过IP进行访问连接一切正常。但是不足之处也很明显,取消或者更改域名对于别人的访问带来了不变,另外,对于针对IP的CC攻击它是无效的,就算更换域名攻击者发现之后,他也会对新域名实施攻击。
(2).域名欺骗解析
如果发现针对域名的CC攻击,我们可以把被攻击的域名解析到这个地址上。我们知道是本地回环IP是用来进行 *** 测试的,如果把被攻击的域名解析到这个IP上,就可以实现攻击者自己攻击自己的目的,这样他再多的肉鸡或者 *** 也会宕机,让其自作自受。
另外,当我们的Web服务器遭受CC攻击时把被攻击的域名解析到国家有权威的 *** 网站或者是网警的网站,让其网警来收拾他们。
现在一般的Web站点都是利用类似“新网”这样的服务商提供的动态域名解析服务,大家可以登录进去之后进行设置。
(3).更改Web端口
一般情况下Web服务器通过80端口对外提供服务,因此攻击者实施攻击就以默认的80端口进行攻击,所以,我们可以修改Web端口达到防CC攻击的目的。运行IIS管理器,定位到相应站点,打开站点“属性”面板,在“网站标识”下有个TCP端口默认为80,我们修改为其他的端口就可以了。
(4).IIS屏蔽IP
我们通过命令或在查看日志发现了CC攻击的源IP,就可以在IIS中设置屏蔽该IP对Web站点的访问,从而达到防范IIS攻击的目的。在相应站点的“属性”面板中,点击“目录安全性”选项卡,点击“IP地址和域名现在”下的“编辑”按钮打开设置对话框。在此窗口中我们可以设置“授权访问”也就是“白名单”,也可以设置“拒绝访问”即“黑名单”。比如我们可以将攻击者的IP添加到“拒绝访问”列表中,就屏蔽了该IP对于Web的访问。
(5).IPSec封锁
IPSec是优秀的系统防火墙,在排除其他还有别的类型的DDOS攻击时,针对CC攻击可以用设置IP策略来对付攻击。以这个IP为例子,笔者实际操作对该IP的访问封锁。
之一步:“开始→管理工具”,打开“本地安全设置”,右键点击“IP安全策略,在本地机器”选择“创建IP安全策略”,然后点击“下一步”,输入策略“名称”和“描述”。然后默认一路“下一步”创建了一个名为“封CC攻击”的IPSec策略。
第二步:右键点击“IP安全策略,在本地机器”选择“管理IP筛选器表和筛选器操作”,在打开的窗口中点“添加”,在“IP 筛选器列表”窗口添人同之一步的名称和描述信息。取消“使用添加向导”的勾选,然后点击“添加”。在“IP 筛选器 属性”窗口的“地址”选项下设置“源地址”为“192.168.1.6”,目标地址为“我的IP地址”,取消对“镜像”的勾选;点击“协议”选项卡,设置“协议类型”为“TCP”,设置“协议端口”为“从任意端口”到“此端口80”最后确定退出。
第三步:在“新规则 属性”窗口中点选刚才创建的“封CC攻击”规则,点击“筛选器操作”选项卡下的“添加”,点选“安全措施”下的“阻止”,在“常规”选项卡下为该筛选器命名为“阻止CC攻击”然后确定退出。
第四步:点选刚才创建的“阻止CC攻击”筛选器,一路“确定”退出IP策略编辑器,可以看到在组策略窗口的中创建成功一个名为“封CC攻击”的策略,然后右键点击该策略选择“指派”。这样就实现了对该IP的封锁。
如何判断网站被CC攻击
CC攻击原理是攻击者控制了一些主机,把大量的数据包发送到其他服务器端造成的资源的消耗,直到崩溃下来。CC攻击主要是用来攻击网页,每个人都有这样的经历:当数Web访问特别多,打开网页慢,CC就是模拟多个用户(线程数是用户数量)继续访问那些需要大量数据操作(即,我们需要大量的CPU时间)的页面,造成服务器资源的浪费,100%的CPU时间长,一直没有处理连接到 *** 拥塞,正常的访问已被停职。经过模拟测试,取消域名绑定Web服务器CPU立即恢复正常状态,通过IP连接连接所有正常。但它的缺点也很明显,取消或更改域名给别人带来的访问不变,此外,对于IP CC攻击是无效的,即使攻击者更换域名后发现,他也会攻击新域名。
但是,当站点受到攻击时,大多数人想到的是,找不到的,基本上都是一个误区,就是说网站或者服务器被攻击了,购买硬件防火墙,其实什么东西都是想法,一切都会好起来的,是极其错误的。统计数据显示,多年来,为了彻底解决CC攻击几乎是不可能的,像治疗感冒,我们可以治疗,也可以预防,但是不能治愈,但是如果我们采取防守的积极有效的 *** ,可以减少或在很大程度上减轻疾病的风险,所以DDoS病的预防和治疗,是理想的解决方案应该是“软件+硬件解决方案”。本程序是针对企业网站更充足的资金,这个项目他们;硬件DDoS保护的优势,软件CC保护的优点。
如果发现该域名的CC攻击,我们可以攻击域名解析127.0.0.1地址。我们知道,127.0.0.1是本地环路IP是用于测试 *** ,如果域名被攻击的IP,可以实现攻击他的攻击者自己的目的,所以他更多的鸡或 *** 人也可以让它下来。
0条大神的评论