找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
网推大家坛 新闻 网站推广 建站技巧 查看内容

网站被CC、DDos攻击的终极解决方案

2016-8-15 19:00| 发布者: xyeyou| 查看: 900| 评论: 0

简介:上次的文章有朋友给我留言说分享点干货,那么今天就来了。前一段时间,青岛seo这个词排名第一的网站被别人用CC攻击导致瘫痪,接着排名权重都开始往下掉,换了服务器还是被CC,那么到底应该如何解决呢?先说下CC攻击 ...

上次的文章有朋友给我留言说分享点干货,那么今天就来了。前一段时间,关键字排名很多的网站被别人用CC攻击导致瘫痪,接着排名权重都开始往下掉,换了服务器还是被CC,那么到底应该如何解决呢?

网站被CC攻击导致被百度降权和被K解决方案

先说下CC攻击原理:

1,刷网站流量,造成网站带宽耗尽,让用户达不到。很多站长使用的虚拟主机,虚拟主机的流量一旦被刷完,服务提供商可能就会关闭服务器。

2,网站被百度降权,收录减少,排名下降,甚至直接被百度K站。尤其是使用百度统计等相关百度系工具的网站更是会被百度察觉异常并被百度惩罚。即便是没有被百度发觉,大流量可能会影响蜘蛛顺利抓取网站。

3,测试服务器宽带抗压容量和内存处理能力,下一步更大规模的攻击,直接阻塞掉服务器。服务器宽带容量是有限的,垃圾流量堵塞住了正常管道,普通用户的数据请求很可能达不到服务器。主机内存和cpu的处理能力也是有限的,超大批量的数据处理可能让电脑宕机。

4,刷联盟广告的流量,广告联盟如果被刷次数太多的话可能被禁封账号。

遭遇到这种情况,我们要采用以下的集中办法尽量较少副作用。

先用个防黑的工具。网站要想提高权重,首先保证不被攻击是关键,然后再考虑权重和收录,这个行当水很深,不过内容为先,注意下外链、关键字、蜘蛛喜欢的。。。。。看见楼上的朋友提到百度加速乐,我觉得挺靠谱,我和几个哥们的网站都用的这个,速度方面感觉不大(我的网站本来也很快),防黑方面至少我没瘫痪过(攻击肯定会有的),收录方面百度的提示很明显,谷歌的没啥感觉

网站被攻击,而且攻击时间较长,肯定是会影响网站排名等的。

你扫描下网站,是否存在漏洞、或是被挂马之类的,把一些可疑的文件等处理下。

你可以安装个安全软件、防火墙来保护服务器、网站的安全。比如说加速乐、安全狗、安全宝之类的。同时,做好网站的备份工作,以保证网站的数据安全,这样万一网站有内容被篡改,也可以马上替换被篡改的内容。

作为站长或者公司的网站的网管,什么最可怕?显然是网站受到的DDoS攻击。大家都有这样的经历,就是在访问某一公司网站或者论坛时,如果这个网站或者论坛流量比较大,访问的人比较多,打开页面的速度会比较慢,对不?!一般来说,访问的人越多,网站或论坛的页面越多,数据库就越大,被访问的频率也越高,占用的系统资源也就相当可观。

CC攻击是DDoS(分布式拒绝服务)的一种,相比其它的DDoS攻击CC似乎更有技术含量一些。这种攻击你见不到虚假IP,见不到特别大的异常流量,但造成服务器无法进行正常连接,一条ADSL的普通用户足以挂掉一台高性能的Web服务器。由此可见其危害性,称其为"Web杀手"毫不为过。最让站长们忧虑的是这种攻击技术含量不是很高,利用工具和一些IP代理,一个初、中级的电脑水平的用户就能够实施DDoS攻击。

那么怎样保证这些网站服务器的安全呢?防护CC攻击大家有必要了解CC攻击的原理及如果发现CC攻击和对CC攻击的防范措施。

一、CC攻击的原理:

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

二、CC攻击的种类:

CC攻击的种类有三种,直接攻击,代理攻击,僵尸网络攻击。

直接攻击主要针对有重要缺陷的WEB应用程序,一般说来是程序写的有问题的时候才会出现这种情况,比较少见。

僵尸网络攻击有点类似于DDOS攻击了,从WEB应用程序层面上已经无法防御。

代理攻击:CC攻击者一般会操作一批代理服务器,比方说100个代理,然后每个代理同时发出10个请求,这样WEB服务器同时收到1000个并发请求的,并且在发出请求后,立刻断掉与代理的连接,避免代理返回的数据将本身的带宽堵死,而不能发动再次请求,这时WEB服务器会将响应这些请求的进程进行队列,数据库服务器也同样如此,这样一来,正常请求将会被排在很后被处理,就象本来你去食堂吃饭时,一般只有不到十个人在排队,今天前面却插了一千个人,那么轮到你的机会就很小很小了,这时就出现页面打开极其缓慢或者白屏。

三、攻击症状

CC攻击有一定的隐蔽性,那如何确定服务器正在遭受或者曾经遭受CC攻击呢?我们可以通过以下三个方法来确定。

(1).命令行法

一般遭受CC攻击时,Web服务器会出现80端口对外关闭的现象,因为这个端口已经被大量的垃圾数据堵塞了正常的连接被中止了。我们可以通过在命令行下输入命令netstat-an来查看,如果看到类似如下有大量显示雷同的连接记录基本就可以被CC攻击了:

……

TCP 192.168.1.3:80 192.168.1.6:2205 SYN_RECEIVED 4

TCP 192.168.1.3:80 192.168.1.6: 2205 SYN_RECEIVED 4

TCP 192.168.1.3:80 192.168.1.6: 2205 SYN_RECEIVED 4

TCP 192.168.1.3:80 192.168.1.6: 2205 SYN_RECEIVED 4

TCP 192.168.1.3:80 192.168.1.6: 2205 SYN_RECEIVED 4

……

其中"192.168.1.6"就是被用来代理攻击的主机的IP,"SYN_RECEIVED"是TCP连接状态标志,意思是"正在处于连接的初始同步状态",表明无法建立握手应答处于等待状态。这就是攻击的特征,一般情况下这样的记录一般都会有很多条,表示来自不同的代理IP的攻击。

(2).批处理法

上述方法需要手工输入命令且如果Web服务器IP连接太多看起来比较费劲,我们可以建立一个批处理文件,通过该脚本代码确定是否存在CC攻击。打开记事本键入如下代码保存为CC.bat:

@echooff

time /t >>log.log

netstat -n -p tcp |find ":80">>Log.log

notepad log.log

exit

上面的脚本的含义是筛选出当前所有的到80端口的连接。当我们感觉服务器异常是就可以双击运行该批处理文件,然后在打开的log.log文件中查看所有的连接。如果同一个IP有比较多的到服务器的连接,那就基本可以确定该IP正在对服务器进行CC攻击。

(3).查看系统日志

上面的两种方法有个弊端,只可以查看当前的CC攻击,对于确定Web服务器之前是否遭受CC攻击就无能为力了,此时我们可以通过Web日志来查,因为Web日志忠实地记录了所有IP访问Web资源的情况。通过查看日志我们可以Web服务器之前是否遭受CC攻击,并确定攻击者的IP然后采取进一步的措施。

Web日志一般在C:\WINDOWS\system32\LogFiles\HTTPERR目录下,该目录下用类似httperr1.log的日志文件,这个文件就是记录Web访问错误的记录。管理员可以依据日志时间属性选择相应的日志打开进行分析是否Web被CC攻击了。默认情况下,Web日志记录的项并不是很多,我们可以通过IIS进行设置,让Web日志记录更多的项以便进行安全分析。其操作步骤是:

"开始→管理工具"打开"Internet信息服务器",展开左侧的项定位到到相应的Web站点,然后右键点击选择"属性"打开站点属性窗口,在"网站"选项卡下点击"属性"按钮,在"日志记录属性"窗口的"高级"选项卡下可以勾选相应的"扩展属性",以便让Web日志进行记录。比如其中的"发送的字节数"、"接收的字节数"、"所用时间"这三项默认是没有选中的,但在记录判断CC攻击中是非常有用的,可以勾选。另外,如果你对安全的要求比较高,可以在"常规"选项卡下对"新日志计划"进行设置,让其"每小时"或者"每一天"进行记录。为了便于日后进行分析时好确定时间可以勾选"文件命名和创建使用当地时间"。

四、CC攻击防御策略

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

(1).取消域名绑定

一般cc攻击都是针对网站的域名进行攻击,比如我们的网站域名是"www.star-net.cn",那么攻击者就在攻击工具中设定攻击对象为该域名然后实施攻击。

对于这样的攻击我们的措施是在IIS上取消这个域名的绑定,让CC攻击失去目标。具体操作步骤是:打开"IIS管理器"定位到具体站点右键"属性"打开该站点的属性面板,点击IP地址右侧的"高级"按钮,选择该域名项进行编辑,将"主机头值"删除或者改为其它的值(域名)。

经过模拟测试,取消域名绑定后Web服务器的CPU马上恢复正常状态,通过IP进行访问连接一切正常。但是不足之处也很明显,取消或者更改域名对于别人的访问带来了不变,另外,对于针对IP的CC攻击它是无效的,就算更换域名攻击者发现之后,他也会对新域名实施攻击。

(2).域名欺骗解析

如果发现针对域名的CC攻击,我们可以把被攻击的域名解析到127.0.0.1这个地址上。我们知道127.0.0.1是本地回环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的访问。

五、CC攻击的防范手段

防止CC攻击,不一定非要用高防服务器。比如,用防CC攻击软件就可以有效的防止CC攻击。推荐一些CC的防范手段:

1、优化代码

尽可能使用缓存来存储重复的查询内容,减少重复的数据查询资源开销。减少复杂框架的调用,减少不必要的数据请求和处理逻辑。程序执行中,及时释放资源,比如及时关闭mysql连接,及时关闭memcache连接等,减少空连接消耗。

2、限制手段

对一些负载较高的程序增加前置条件判断,可行的判断方法如下:

必须具有网站签发的session信息才可以使用(可简单阻止程序发起的集中请求);必须具有正确的referer(可有效防止嵌入式代码的攻击);禁止一些客户端类型的请求(比如一些典型的不良蜘蛛特征);同一session多少秒内只能执行一次。

3、完善日志

尽可能完整保留访问日志。日志分析程序,能够尽快判断出异常访问,比如单一ip密集访问;比如特定url同比请求激增。

六、针对CC攻击的商业解决方案

很多的网站管理者是等到网站遭到攻击了,受到损失了,才去寻求解决的方案,在将来的互联网飞速发展的时代,一定要有安全隐患意识,不要等到损失大了,再去想办法来补救,这样为时已晚。然而当网站受到攻击时,大多数人想到的是-----快点找硬防,基本上都步了一个误区,就是认为网站或者服务器被攻击,购买硬件防火墙,什么事都万事大吉了,实际上这样的想法是极端错误的。多年的统计数据表明,想彻底解CC攻击是几乎不可能的,就好比治疗感冒一样,我们可以治疗,也可以预防,但却无法根治,但我们若采取积极有效的防御方法,则可在很大程度上降低或减缓生病的机率,防治DDOS攻击也是如此。

实际上比较理想解决方案应该是"软件+硬件"的解决方案。此方案对于资金较为充足的企业网站来说,这个方案适合他们;硬件在DDOS防护上有优势,软件CC防护上有优势;相对于一些对于ICP内容网站、论坛社区BBS、电子商务eBusiness、音乐网站Music、电影网站File等网站服务器越来越普及,但由于种种原因往往会遭受竞争对手或打击报复者的恶意DDOS攻击,持续的攻击会导致大量用户流失,严重的甚至因人气全失而被迫关闭服务器,为了最大程度的保护运营者的利益,冰盾科技结合多年抗DDOS的实践经验给出了最少的安全投资可获得最大安全回报的抗DDOS解决方案。

防范DDoS 攻击

到目前为止,针对分布式拒绝服务攻击(DDoS)的防御依然没有特别直接有效的方法,因为这种攻击会利用

TCP/IP 协议的漏洞。除非您完全不使用TCP/IP,才有可能抵御DDoS 攻击。

但面对DDoS,我们也不能因此而“逆来顺受”, 还是应该考虑其他办法进行必要的防范。

几乎所有的主机平台都有抵御DDoS 的设置。以Linux 操作系统为例,其防范技术主要分为3 大类:第一类

是通过合理配置系统,达到资源最优化和利用最大化;第二类是通过加固TCP/IP 协议栈来防范DDoS ;第三类

是通过防火墙、路由器等过滤网关,有效地探测攻击类型并阻击攻击。

必须明确的是,DDoS 攻击在TCP 连接原理上是合法的,除非TCP 协议重新设计,明确定义DDoS 和其他

正常请求有何不同,否则不可能完全阻止DDoS 的攻击,我们所做的只是尽可能地减轻DDoS 攻击所带来的危害。

1. 服务器设置

除了防范他人攻击外,也要提防不要成为被人利用的对象。可以通过以下方法来实现:

(1)安全配置系统,杜绝攻击漏洞,及时安装系统补丁程序。

(2)关闭不必要的服务,并优化服务。

(3)有规律地查看日志。

(4)利用相关工具检查文件完整性。

2、加固TCP / IP 协议栈

这里通过修改TCP / IP 参数来控制连接资源的利用。

(1)SYN Cookies 技术

限制同时打开的SYN半连接数。以RedHat Linux 为例,通过在启动环境中设置以下命令来启用SYN Cookies :

#echo 1> /proc/sys/net/ipv4/tcp_

syncookies

也可以通过修改其他参数, 或者使用/proc/sys/net/ipv4/netfilter/ip_contrack_* 来实现。

(2)增加最大半连接数

加大未连接队列空间。Linux 使用变量tcp-max-syn_backlog 来定义backlog 队列容纳的最大半连接数。

在RedHat Linux 中,该变量的默认值为256,在RHEL AS Linux中则是1024。该数值是远远不够的,一次强度

不大的SYN 攻击就能使半连接队列占满。通过以下命令可以修改此变量值:

#sysctl -W net.ipv4.tcp_max_syn_

backlog=“2048”

(3)缩短SYN 半连接的Timeout 时间

RedHat Linux 使用变量tcP_synack_retries 定义重传次数,其默认值是5,总超时时间需要3 分钟。

#sysctl -W net.ipv4.tcp_ synack_

retries=“0”

(4)及时更新系统补丁

可以添加如下脚本到Linux 的/etc/sysctl.conf 文件,重启后会自动启动,达到防御DDoS 的效果。

## add by geminis for syn crack

net.ipv4.tcp_syncookied=1

net.ipv4.tcp_max_syn_backlog=“2048”

net.ipv4.tcp_synack_ retries=“1”

3. 防火墙防御

在网关超时设置处,将防火墙SYN 转发超时参数设置为小于服务器的Timeout。如果客户端在防火墙的T

imeout时间内无响应,防火墙将发送终止RST 消息给服务器,使服务器从队列中删除该半连接,节省开销。

需要注意的是,网关超时参数设置不宜过小也不宜过大,超时参数设置过小会影响,正常的通信,设置

过大则会影响防范SYN drome 攻击的效果,必须根据所处的网络环境来设置参数。

(1)SYN 网关:SYN 网关的原理是代替客户端发送ACK 消息,然后转发数据。SYN 网关收到服务器的

SYN/ACK 包后,将该包转发给客户端,同时以客户端的名义给服务器发ACK 确认包。此时,服务器由半连

接状态进入连接状态。当客户端确认包到达时,如果有数据则转发,否则丢弃。一般服务器所能承受的连接

数量比半连接数量要大得多,所以这种方法能有效地减轻对服务器的攻击。

(1).取消域名绑定

一般cc攻击都是针对网站的域名进行攻击,比如网站域名是“xxx”,那么攻击者就在攻击工具中设定攻击对象为该域名然后实施攻击。

对于这样的攻击我们的措施是在IIS上取消这个域名的绑定,让CC攻击失去目标。具体操作步骤是:打开“IIS管理器”定位到具体站点右键“属性”打开该站点的属性面板,点击IP地址右侧的“高级”按钮,选择该域名项进行编辑,将“主机头值”删除或者改为其它的值(域名)。

实例模拟测试,取消域名绑定后Web服务器的CPU马上恢复正常状态,通过IP进行访问连接一切正常。但是不足之处也很明显,取消或者更改域名对于别人的访问带来了不便,另外,对于针对IP的CC攻击它是无效的,就算更换域名攻击者发现之后,他也会对新域名实施攻击。

(2).域名欺骗解析

如果发现针对域名的CC攻击,我们可以把被攻击的域名解析到127.0.0.1这个地址上。我们知道127.0.0.1是本地回环IP是用来进行网络测试的,如果把被攻击的域名解析到这个IP上,就可以实现攻击者自己攻击自己的目的,这样他再多的肉鸡或者代理也会宕机,让其自作自受。 另外,当我们的Web服务器遭受CC攻击时把被攻击的域名解析到国家有权威的GVM网站或者是网警的网站,让其网警来收拾他们。 现在一般的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策略来对付攻击。以219.128.*.43这个IP为例子,笔者实际操作对该IP的访问封锁。

第一步:“开始→管理工具”,打开“本地安全设置”,右键点击“IP安全策略,在本地机器”选择“创建IP安全策略”,然后点击“下一步”,输入策略“名称”和“描述”。然后默认一路“下一步”创建了一个名为“封CC攻击”的IPSec策略。

第二步:右键点击“IP安全策略,在本地机器”选择“管理IP筛选器表和筛选器操作”,在打开的窗口中点“添加”,在“IP 筛选器列表”窗口添人同第一步的名称和描述信息。取消“使用添加向导”的勾选,然后点击“添加”。在“IP 筛选器 属性”窗口的“地址”选项下设置“源地址”为“192.168.1.6”,目标地址为“我的IP地址”,取消对“镜像”的勾选;点击“协议”选项卡,设置“协议类型”为“TCP”,设置“协议端口”为“从任意端口”到“此端口80”最后确定退出。

第三步:在“新规则 属性”窗口中点选刚才创建的“封CC攻击”规则,点击“筛选器操作”选项卡下的“添加”,点选“安全措施”下的“阻止”,在“常规”选项卡下为该筛选器命名为“阻止CC攻击”然后确定退出。

第四步:点选刚才创建的“阻止CC攻击”筛选器,一路“确定”退出IP策略编辑器,可以看到在组策略窗口的中创建成功一个名为“封CC攻击”的策略,然后右键点击该策略选择“指派”。这样就实现了对该IP的封锁。

(6).防火墙

除了利用上述方法外,还可以通过第三方的防火墙进行防范,打开防护墙防火墙可以了,笔者以天鹰ddos防火墙为例进行演示。 安装好天鹰ddos防火墙即可开启防护,傻瓜式配置界面,默认参数即可防护网站,误封较少,智能识别蜘蛛。

总结

总体说来cc攻击属于技术技巧强的攻击,目前的防护手段足以解决诸如此类的攻击,然而带给我们巨大的挑战的是巨型流量的攻击,在带宽资源紧缺的情况下任何的防护措施都会消耗很大的成本,我们期待不久的云概念被炒作的沸沸扬扬,至于能否起到实实在在的作用就不可而知了。希望上述文档给您帮助。

收藏 分享 邀请
鲜花
鲜花
握手
握手
雷人
雷人
路过
路过
鸡蛋
鸡蛋

看过本文的人还看过

已有 0 人参与

会员评论

推荐阅读

    返回顶部