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

网站安全风险及应对方案

一、网站安全风险 1. SQL注入攻击 2. XSS攻击 3. 网站漏洞 4. 莫名其妙的数据操作 5. 网络钓鱼 6. 网站瘫痪 7. 恶意软件 8. 数据泄露 9. 网络攻击 二、应对方案 1. 采用账号密码的身份验证机制 2. 对于用户输入数据要进行检查、过滤和转义 3. 更改默认口令,使用复杂的口令 4. 使用安全的数据库、服务器(SSL、HTTPS) 5.

Public @ 2023-05-28 13:50:16

大型网站的 HTTPS 实践(3):基于协议和配置的优化

百度在2015年即完成HTTPS改造,那大型网站的HTTPS改造中都有哪些实践经验,学堂君特分析这篇干货满满系列内容,转自百度运维博客。1 前言上文讲到 HTTPS 对用户访问速度的影响。本文就为大家介绍 HTTPS 在访问速度,计算性能,安全等方面基于协议和配置的优化。2 HTTPS 访问速度优化2.1 Tcp fast openHTTPS 和 HTTP 使用 TCP 协议进行传输,也就意味着必

Public @ 2020-09-21 15:22:22

中小站长如何防范黑客攻击,避免网站遭受损失?

作为中小站长,防范黑客攻击并避免网站的损失非常重要。以下是一些建议: 1. 定期更新和维护网站:确保使用最新的软件版本、插件和主题,及时修复已知的漏洞和安全问题。同时,定期备份网站数据,以防止数据丢失。 2. 使用强密码和多因素身份验证:使用复杂的密码,并定期更换密码。启用多因素身份验证可以提高账户的安全性,只有在验证合法性后才能登录。 3.限制错误登录次数:通过限制失败的登录尝试次数来阻止

Public @ 2023-06-28 23:50:46

关于网站、服务器受攻击问题的相关说明

网站被攻击一般有以下几种原因:1. 盈利类网站容易被竞争对手攻击。2. 被黑客敲诈勒索,要求支付“保护费”,否则会进行攻击。3. 网站被黑客入侵,黑客在子目录下放了“私服”、“减肥”类的非法网页,从而被连带攻击。针对网站攻击的防护措施:对于可能受攻击的网站,建议使用我司高防线路机房的云主机,或者开启第三方防护,比如百度云加速、加速乐来对网站进行防护,对于正规网站,要做好网站安全防护措施,防止被黑客

Public @ 2020-01-25 15:37:51

更多您感兴趣的搜索

0.537776s