0
点赞
收藏
分享

微信扫一扫

网站被攻击了怎么防护?

霍华德 2023-12-21 阅读 34

 遇到网站被攻击时应该怎么处理?遇到攻击时,我们可以先分析一下对方攻击的手段,常见的攻击一种是来源于流量型的DDOS攻击,通过消耗目标服务器带宽、占用主机资源为主的攻击。当前网站被DDOS攻击的主要攻击方式就是CC攻击了,那么什么是CC攻击,遇到攻击后应该怎么去处理呢?


网站被攻击了怎么防护?_HTTP

CC攻击原理还有特点:

HTTP Flood 俗称CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,前身名为Fatboy攻击,也是一种常见的网站攻击方法。是针对 Web 服务在第七层协议发起的攻击。攻击者相较其他三层和四层,并不需要控制大量的肉鸡,取而代之的是通过端口扫描程序在互联网上寻找匿名的 HTTP 代理或者 SOCKS 代理,攻击者通过匿名代理对攻击目标发起HTTP 请求。匿名代理服务器在互联网上广泛存在。因此攻击容易发起而且可以保持长期高强度的持续攻击,同样可以隐藏攻击者来源避免被追查。

HTTP/CC 攻击的特点:

HTTP/CC 攻击的 ip 都是真实的,分散的

HTTP/CC 攻击的数据包都是正常的数据包

HTTP/CC 攻击的请求都是有效请求,且无法拒绝

HTTP/CC 攻击的是网页,服务器可以连接,ping 也没问题,但是网页就是访问不了


Web 服务与 DNS 服务类似,也存在缓存机制。如果攻击者的大量请求命中了服务器缓存,那么这种攻击的主要作用仅体现在消耗网络带宽资源上,对于计算和 IO 资源的消耗是非常有限的。因此,高效的 HTTP/CC 攻击 应不断发出针对不同资源和页面的 HTTP 请求,并尽可能请求无法被缓存的资源( 如关键词搜索结果、用户相关资料等 ),这样才能更好的加重服务器的负担,达到理想的攻击效果。当然 HTTP/CC 攻击 也会引起严重的连锁反应,不仅仅是直接导致被攻击的 Web 前端响应缓慢,还间接攻击到后端的 Java 等业务层逻辑以及更后端的数据库服务,增大它们的压力,HTTP/CC 攻击 产生的海量日志数据甚至会对日志存储服务器都带来影响。

如果 Web 服务器支持 HTTPS,那么进行 HTTPS 洪水攻击是更为有效的一种攻击方式。原因有二:

其一,在进行 HTTPS 通信时,Web 服务器需要消耗更多的资源用来认证和加解密。

其二,目前一部分防护设备无法对 HTTPS 通信数据流进行处理,HTTPS都是加密数据,无法区分正常用户和恶意流量,处理难度更高。



简易CC攻击防御方法

1. 利用Session做访问计数器:

利用Session针对每个IP做页面访问计数器或文件下载计数器,防止用户对某个页面频繁刷新导致数据库频繁读取或频繁下载某个文件而产生大额流量。(文件下载不要直接使用下载地址,才能在服务端代码中做CC攻击的过滤处理)

2. 把网站做成静态页面:

大量事实证明,把网站尽可能做成静态页面,不仅能大大提高抗攻击能力,而且还给骇客入侵带来不少麻烦,至少到现在为止关于HTML的溢出还没出现,看看吧!新浪、搜狐、网易等门户网站主要都是静态页面,若你非需要动态脚本调用,那就把它弄到另外一台单独主机去,免的遭受攻击时连累主服务器。

3. 增强操作系统的TCP/IP栈

Win2000和Win2003作为服务器操作系统,本身就具备一定的抵抗DDOS攻击的能力,只是默认状态下没有开启而已,若开启的话可抵挡约10000个SYN攻击包,若没有开启则仅能抵御数百个,具体怎么开启,自己去看微软的文章吧!《强化 TCP/IP 堆栈安全》。也许有的人会问,那我用的是Linux和FreeBSD怎么办?很简单,按照这篇文章去做吧!《SYN Cookies》。

4. 在存在多站的服务器上,严格限制每一个站允许的IP连接数和CPU使用时间

这是一个很有效的方法。CC的防御要从代码做起,其实一个好的页面代码都应该注意这些东西,还有SQL注入,不光是一个入侵工具,更是一个DDOS缺口,大家都应该在代码中注意。举个例子吧,某服务器,开动了5000线的CC攻击,没有一点反应,因为它所有的访问数据库请求都必须一个随机参数在Session里面,全是静态页面,没有效果。突然发现它有一个请求会和外面的服务器联系获得,需要较长的时间,而且没有什么认证,开800线攻击,服务器马上满负荷了。代码层的防御需要从点点滴滴做起,一个脚本代码的错误,可能带来的是整个站的影响,甚至是整个服务器的影响!

5.接入SCDN

接入云防护防御攻击,可以购买安全加速SCDN,用于隐藏服务器真实IP,域名解析使用CDN的IP,所有解析的子域名都使用CDN的IP地址。此外,服务器上部署的其他域名也不能使用真实IP解析,全部都使用CDN来解析。

另外,防止服务器对外传送信息泄漏IP地址,最常见的情况是,服务器不要使用发送邮件功能,因为邮件头会泄漏服务器的IP地址。如果非要发送邮件,可以通过第三方代理(例如sendcloud)发送,这样对外显示的IP是代理的IP地址。


6.取消域名绑定

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

7.域名欺骗解析

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

8.更改Web端口

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

9.屏蔽IP

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


举报

相关推荐

0 条评论