如何防止网站被cc攻击

xixi 2020-10-25 39228

大家好, 我是茜茜。今天给大家讲解如何防止网站被cc攻击

攻击者借助代理服务器生成指向受害主机的合法请求,实现DDOS和伪装就叫:CC(Challenge Collapsar)

是DDoS攻击的一种,主要攻击目标是网站页面,是通常所说的layer7攻击

遗憾的是现在市面上好多数高防服务器是不能防御cc攻击的,因为攻击者通常是伪造或者发送正常的请求,而普通的服务器防火墙是不能辨别这是否是正常流量所以无法防御cc攻击,除非一些智能防火墙通过访客的访问特质来拦截请求可以达到防御cc请求的目的。

也许各大站长受到过类似的威胁,比如收到群发的邮件说如果你不给我们转0.1btc,今天晚上就来对你网站进行安全测试(大流量攻击)。很多不知情的站长可能有的选择花钱消灾,有的置之不理,认为这是骗子(然而他们就是)。然而这样做的结果同时伴随有一些没有做防御的网站全站瘫痪,服务器宕机,部分服务商可能因为服务条款进行封机。这些花钱消灾的站长也许幸免一难,但是这带来了更大的后患,这些攻击者认为这些站长好欺负,会变本加厉的继续威胁他们找他们打款。

一些主机服务商如cera,ddos-guard的服务器是默认带有layer7硬件防御的。(cera的默认防御是20G,更高的防御需要增加费用)还有一些高防ip提供商是可以通过他们的智能防火墙作为前置于网站服务器的防护可以防御大量cc攻击(高防ip的价格通常比较贵,计费有些是按万攻击ip每小时计费的)

AkamaiVerizon CDN(原Edgecast),Imperva(Incapsula)作为全球前几的网站安全提供商,非常适合高收入的站长和高可用度需求的站长使用。由于这三家一般是提供定制方案的,而且按流量计费,所以在接入的时候先要做好预算。这三家当然也是默认能防御大量cc的,如果cc防御有漏防的情况,可以直接联系客服定制防御规则。


因为服务器硬防和高防ip的价格一般比较贵,适合大流量的站长,下面推荐一些适合刚起步的新站长的方法。

Cloudflare(CDN) 作为全球增长最迅速的网站和服务器安全提供商提供不计量的L4防御(通常意义所说的DDoS)拥有分布全球最 多的PoP节点,因为提供免费套餐,受众多站长欢迎。但是也是因为有免费套餐和租用的163线路,导致Cloudflare在大陆的访问质量不尽人意。特别是在高峰时段,由于较低的QoS等级,很多接入于Cloudflare网站出现打开缓慢的情况。这个情况是不能完全解决的,茜茜推荐的用法就是第三方dns接入cf partner做分区解析,移动解析香港,电信和联通解析北美,网上的cf自定义ip也很容易搜到,但是由于cf已经拔线香港了,很多ip都会绕路北美或者欧洲。然而很多用过Cloudflare服务的会发现Cloudflare并不能防御cc攻击,这是因为你使用的是免费(free)套餐或者专业版(pro)套餐。一些受到cc的站长在遇到攻击的时候慌乱的升级到专业版套餐,然而这样并没有给网站可用性情况带来太大改观,因为专业版套餐和免费套餐是共用相同的Cloudflare节点,专业版比免费版添加到waf,更多的页面规则(page rules)条数。但是由于一些刚入门的站长对于waf规则和page rules规则并没有清楚的认知,所以升级专业版并没有实际用处。比专业版更高的套餐是商业版,商业版的Advanced anti-ddos是具有防御cc攻击的效果的,并且带有人工客服服务。在遇到大流量攻击的时候可以联系在线客服寻求帮助以及定制waf规则。企业版作为Cloudflare的定制版提供使用Cloudflare全部节点的权限,大流量的站长可以联系Cloudflare Success Team定制CDN节点很大程度的提高网站访问速度。同时企业版的China enable可以为备案域名提供Cloudflare国内节点(由京东云和百度云提供)的使用权限。


DDoS Guard是行业领先的网站和服务器安全提供商,DDoS Guard的高级套餐提供香港,俄罗斯等节点的使用权限(香港节点会绕路)。DDoS Guard的CDN自定义选项比较少,但是是默认提供cc防御的,价格也和Cloudflare差不多(免费套餐和基础(Basic)套餐是免费大陆优化ip的,所以注重网站速度的站长请选择正常(Normal)及以上的套餐。DDoS Guard的售后服务还是不错的,提供工单几小时内回复,即使你是基础套餐。之前有使用过DDoS Guard的网络防御(Network Protection),即添加经过DDoS Guard路由的ip到你的网站服务器。茜茜用的是SpartanHost分销的该服务,效果还是不错的,防御峰值是200Gbps,在受到持续多日的cc攻击中,cpu和内存基本没有受到太大影响,网站也访问正常,但是会对一些疑似恶意ip的用户显示验证码。由于一般链接的攻击量都来自海外,所以茜茜建议可以受到攻击时选择海外解析到DDoS Guard并且服务器禁止海外ip。


下面推荐几个软件防御方案,以下只适用于没有接入CDN或者高防ip的站长使用。使用软防时最佳服务器是高防服务器,因为如果ip被ddos了,服务器可能会直接宕机,软防起不到防御作用。

fail2ban通常是用于保护ssh不被恶意爆破,遇到小额攻击可以开启其中有nginx和apache防护模块。如果你使用的是宝塔控制面板,可以在软件商店中下载fail2ban插件然后在站点保护中开启简单cc防护。fail2ban的工作原理是拦截访问次数过多的ip,你可以在宝塔插件中设置频数。最大重试次数不能设置太低,因为fail2ban很可能拦截正常请求。因为服务器配置限制和防护机制限制,fail2ban不适合防御大量攻击,攻击者使用伪造ip或者大量肉鸡会直接导致服务器瘫痪,而fail2ban添加恶意ip到iptables的速度并不足以拦截这些攻击。

lua_waf是开源的网站防御程序,宝塔将它放在了收费的网站防火墙里,简单的开启用法就是进去进入nginx管理的配置文件取消luawaf.conf的注释,然后重启nginx即可。工作原理于fail2ban类似,也是ip黑名单的方式,可以在配置目录下的conf文件中修改频数,可能会出现误封的情况。


cckiller是由前腾讯程序员大佬张戈开发的用来防御cc攻击的小工具,详细介绍见:https://zhang.ge/5066.html

安装方法十分简单,只要在ssh执行以下命令就可以了

curl -ko install.sh --connect-timeout 300 --retry 5 --retry-delay 3 https://zhangge.net/wp-content/uploads/files/cckiller/install.sh?ver=1.0.8 && sh install.sh -i

你可以使用默认的配置(默认配置已经符合大部分站长需求了),或者可以根据文章中的介绍进行修改,如果遇到配置文件可以在刚才的文章下方留言,博主应该非常乐意解决的。

茜茜个人感觉cckiller的防御情况会比前两个(fail2ban,lua_waf)更好,误封的几率更小。

好了,茜茜今天要推荐的就这些,如果你受到cc攻击,茜茜更倾向你使用前半篇推荐的解决方案(该破财的时候还是得破财的呗)。如果你在使用这些高防服务的时候出现什么问题,推荐你先联系服务商解决,然后再找寻其他替代方案,不要轻易相信网上描述的无视cc,最后祝大家网站永不宕机,流量稳定增长。


本文由茜茜发布于久草CMS论坛,转发请注明出处

---------咱是分割线--------------------------------------------------------------------------------

上一篇:为网站添加搜索开放搜索索引提高搜索引擎收录

下一篇:[转]宝塔面板自编译brotli提高网站速度

啊,好水好水,大佬轻拍

最后于 2021-1-5 被xixi编辑 ,原因:
最新回复 (5)
  • 2 2020-10-25
    0 2
    学到了! 
  • 金少爷 2020-10-25
    0 3
    顶 奥利给
  • 十字路口 2020-10-27
    0 4
    感谢分享!

    西西肚子里有货
  • x2x3x 2020-10-29
    0 5
    最省心的方法是做到5k然后用老大的服务器。只推广别的不用操心。
返回
发新帖