Categories


Tags


网站防止CC攻击的方法

CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包,造成对方服务器资源耗尽,一直到宕机崩溃。

CC攻击的攻击技术含量低,利用工具和一些IP代理,一个初、中级的电脑水平的用户就能够实施攻击。不过,如果了解了CC攻击的原理,那就不难针对CC攻击实施一些有效的防范措施。

通常防止CC攻击的方法有几种,一个是通过防火墙,另外一些网络公司也提供了一些防火墙服务,例如XX网站卫士和XX宝,还有一种方法是自己写程序预防,昨天网站遇到CC攻击,这也让我尝试了一下各种防止CC攻击方法的有效性。

一开始我想使用某某网站卫士来预防攻击,从界面上看,似乎是防止了大量的CC攻击,但登录网站后发现,流量依旧异常,攻击还是依旧,看起来这个网站卫士的效果并没有达到。

网站防止CC攻击的方法

从原理上看,基本上所有的防火墙都会检测并发的TCP/IP连接数目,超过一定数目一定频率就会被认为是Connection-Flood。但如果IP的数量足够大,使得单个IP的连接数较少,那么防火墙未必能阻止CC攻击。

不仅如此,我还发现,启用了某某网站卫士之后,反而更容易被CC攻击,因为这个网站卫士并不能过滤掉CC攻击,攻击的IP经过其加速后,更换成为这个网站卫士的IP,在网站服务器端显示的IP都是相同的,导致服务器端无法过滤这些IP。

实际上,不使用网站卫士类的服务,直接通过分析网站日志,还是很容易分辨出哪个IP是CC攻击的,因为CC攻击毕竟是通过程序来抓取网页,与普通浏览者的特性区别还是很大的,例如普通浏览者访问一个网页,必定会连续抓取网页的HTML文件、CSS文件、JS文件和图片等一系列相关文件,而CC攻击者仅仅只会抓取一个URL地址的文件,不会抓取其他类型的文件,其User Agent也大部分和普通浏览者不同,这就可以在服务器上很容易分辨出哪些访问者是CC攻击了,既然可以判断出攻击者的IP,那么预防措施就很简单,只需要批量将这些IP屏蔽,即可达到防范CC攻击的目的。

最终,我花了半个小时写了一段小程序,运行之后自动屏蔽了数百个IP,网站才算正常,从而证明,防火墙对于CC攻击的防御并不有效,最有效的方法还是在服务器端通过程序自动屏蔽来预防。

看来CC攻击的门槛还真低啊,搞个几百个代理或者肉鸡就能攻击别人了,其成本非常低,但效果比较明显,如果攻击者流量巨大的话,通过耗费带宽资源的方式都可以进行攻击。但是,CC攻击也有明显的技术缺陷,就是攻击者的IP并不是海量的,通常就是几百数千的级别,并且是真实访问了网站页面,这就使得网站可以通过程序过滤的方式,轻松获取到这些攻击者IP,批量进行屏蔽,那么这种CC攻击就会得到预防。

对于站长来说,通过程序来过滤CC攻击门槛较高,要有一定的编程技术,因此还是建议使用第三方网站提供的预防CC的服务,目前主要的网站有:云锁、安全狗、Cloudflare、百度云加速、360网站卫士等。

此外,下面还提供了一段基于ASP的防止CC攻击的代码,也供大家参考。

'防止CC攻击

Dim CC_Info(4),strInfo,strTemp

If Session("CC_Info") = "" Then

CC_Info(0) = "cclog.txt" '日志文件名

CC_Info(1) = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

CC_Info(2) = Request.ServerVariables("REMOTE_ADDR")

CC_Info(3) = 4 'N秒内禁止刷新当前页面

CC_Info(4) = "badip.txt" 'IP黑名单文件名

Session("CC_Info") = CC_Info(0) &"|"& CC_Info(1) &"|"& CC_Info(2) &"|"& CC_Info(3) &"|"& CC_Info(4)

Else

strInfo = Split(Session("CC_Info"),"|")

CC_Info(0) = strInfo(0)

CC_Info(1) = strInfo(1)

CC_Info(2) = strInfo(2)

CC_Info(3) = strInfo(3)

CC_Info(4) = strInfo(4)

End If

Const chkRefresh = 1 '0关闭防刷新

Const chkProxy = 1 '0关闭代理验证

Const chkBadIP = 1 '0关闭IP黑名单

If Session("BadIP") = "" Then

strInfo = ReadFile(CC_Info(4))

If strInfo = "" Then strInfo = "williamlong.info"

Session("BadIP") = strInfo

Else

strInfo = Session("BadIP")

End If

'/*第一层判断,N秒内禁止刷新*/

If chkRefresh = 1 Then

If Session("RefreshTime")="" Then

Session("RefreshTime")=Now()

Else

If DateDiff("s", Session("RefreshTime"), Now()) < CInt(CC_Info(3)) Then

SaveLog CC_Info(0),CC_Info(1) & "["& CC_Info(2) & "]" & Now() &vbCrLf

Response.Write("系统繁忙,请稍候再试!错误代码001")

Response.End()

Else

Session("RefreshTime")=Now()

End If

End If

End If

'/*第二层判断,代理禁止查看*/

If chkProxy = 1 Then

If CC_Info(1) <> "" Then

If InStr(strInfo,CC_Info(1)) = 0 Then

strTemp = CC_Info(1) & vbCrLf

If InStr(strInfo,CC_Info(2)) = 0 Then

strTemp = strTemp & "[" & CC_Info(2) & "]" & vbCrLf

End If

SaveLog CC_Info(4),strTemp

strInfo = strInfo & strTemp

Session("BadIP") = strInfo

End If

'记录CC攻击日志

SaveLog CC_Info(0),CC_Info(1) & "["& CC_Info(2) & "]" & Now() &vbCrLf

Response.Write("系统繁忙,请稍候再试!错误代码002")

Response.End()

End If

End If

'/*第三层判断,IP黑名单禁止查看*/

If chkBadIP = 1 Then

If InStr(strInfo,CC_Info(2))>0 Then

Response.Write("系统繁忙,请稍候再试!错误代码003")

Response.End()

End If

End If

'ForReading=1,ForWriting=2,ForAppending=8

Function SaveLog(filename, filecontent)

On Error Resume Next

Dim fso, thisfile

filename = Server.MapPath(filename)

Set fso = CreateObject("Scripting.FileSystemObject")

If Err <> 0 Then

Response.Write("写入文件"&filename&"失败,可能您的系统不支持FSO!")

Response.End()

End If

Set thisfile = fso.OpenTextFile(filename, 8, True)

thisfile.write (filecontent)

thisfile.Close

Set fso = Nothing

End Function

Function ReadFile(filename)

On Error Resume Next

Dim fso, thisfile

Set fso = CreateObject("Scripting.FileSystemObject")

If Err <> 0 Then

Response.Write("读取文件"&filename&"失败,可能您的系统不支持FSO!")

Response.End()

End If

Set thisfile = fso.OpenTextFile(Server.MapPath(filename), 1, True)

ReadFile = thisfile.ReadAll

thisfile.Close

Set thisfile = Nothing

Set fso = Nothing

End Function

来源:月光博客


Public @ 2012-02-16 15:37:51

一个案例网站整体改版优化

最近分享了些SEO的知识,都是针对案例做整站优化,在这里把每次的优化都给记录下来,这样既能让大家看到效果,也能让新手站长更直观的学习,同时还能见证优化的方法是否可行等等。今天把本人最近优化的网站的整个操作步骤给大家分享下。先简单说下我搞的这个网站历史,这个网站是我09年10月29号那个时候注册的,当时很流行做单页面的淘宝客,注册这个域名也是用来做单页面的减肥网站,也就是说这8年多时间,这个网站一直

Public @ 2010-01-13 15:36:43

百度索引量变化追查投诉方法

1. 首先确认是否存在百度爬虫的限制,这可能会导致站点被百度蜘蛛无法访问,从而导致索引量下降。可以通过在百度的网站管理中心查看爬虫访问情况来确认是否遭到了限制。 2. 如果没有遭到限制,则考虑站点发生了一些重大变化。可能是出现了某种技术问题,比如站点的源代码被修改了,或者出现了某种挂马现象。 3. 然后可以考虑站点内容质量的问题。是否出现了重复内容、低质量内容或者恶意广告等,这些事情都可能导致

Public @ 2023-06-13 19:00:32

网站被恶意刷流量了应该怎么办?

1. 确认是否真的被恶意刷流量:首先要确认是否真的被恶意刷流量,可以通过网站分析工具或者服务器日志来查看访问数据,并针对流量来源和访问方式进行分析。 2. 更改网站登录密码:如果确认被恶意刷流量,需要先更改网站登录密码,避免被黑客攻击入侵网站。 3. 安装防火墙:安装防火墙可以阻挡恶意流量攻击,并且可以监控访问量和流量来源。 4. 手动清理流量:手动清理流量可以通过修改服务器配置文件,或者使

Public @ 2023-06-17 13:00:21

网站被攻击怎么办?网站打不开如何预防

网站被攻击的处理方法: 1. 及时备份数据,并断开与网络的连接。如果能够识别到攻击源,可以尝试进行封禁或通过其他方法阻止攻击。 2. 收集攻击数据,记录发生时间和攻击情况,以进行后续的分析和预防工作。 3. 利用安全软件和防火墙等安全工具进行保护和防范,加强网络安全意识和防范意识,提高网站管理员的技能水平。 预防网站打不开: 1. 及时备份数据。 2. 安装防火墙和安全软件等安全保护工

Public @ 2023-04-06 00:50:32

更多您感兴趣的搜索

0.500588s