如何防御 DDCC 攻击

2019-01-06T02:34:00

这篇是上一篇文章的后续,上一篇主要是介绍了什么是 DDCC,DDOS 攻击及其分类,什么是 CC 攻击,以及二者的区别,这篇文章注意介绍下如何去防御 DDCC 攻击,遇到 DDCC 攻击改如何补救。

前情回顾:

DDCC 攻击是啥? - https://www.imtqy.com/what-is-ddcc.html

DDoS 的防御

CDN 加速

之前提到过,DDoS 攻击主要针对的是 IP,所以隐藏源站 IP 就显得十分重要,对于小站而已,利用 CDN 加速是有效的隐藏源站的方法。至于说防御的原理,仍然借助于餐厅,之前,流氓都知道我的餐厅在哪里,为了减少骚扰,我直接把餐厅放到线上,或者说放到了更大的餐厅里,我在后面提供服务,这样,流氓就找不到餐厅的位置,就无法进行攻击了。

在现实中,CDN 服务将网站访问流量分配到了各个节点中,这样一方面隐藏网站的真实 IP,另一方面即使遭遇 DDoS 攻击,也可以将流量分散到各个节点中,防止源站崩溃。另外,利用负载均衡也是类似的一种思路。

高防服务器

高防服务器是指的独立硬防御 DDoS 攻击的服务器,通常指的是能够帮助网站抵御 DDoS 攻击的,一般能抵御的流量在 50Gbps 以上,这种服务器相对而言价格较贵。防御的原理也非常容易理解,高防就相当于我给餐厅增加了 N 名保安,可以保护餐厅。
国内提供高防服务器都具有非常明显的地域性,一般都集中在某几个地方,比如佛上,宿迁等地,此外,OVH 提供的服务器也是高防。

黑名单

黑名单的方法就是来访 IP 设置为黑名单,不允许访问,然而,由于 DDOS 攻击大多来自于非常多的 IP,也可能随时更换,这种方法通常对于有限的几个攻击源的效果明显,但对于多来源攻击不是那么明显,而且会存在误杀的风险,封锁正常的流量,影响正常业务。

DDoS 清洗

DDoS 清洗是指的是实时监控请求数据,及时发现 DOS 攻击等异常流量,及时清洗掉这些异常流量。

服务器花钱方案

高性能的网络设备,充足的网络带宽,升级主机服务器硬件,总之,技术不够,用钱凑。

实用的方案 DDoS Deflate

上面的一堆除了 CDN 的方案之外,其他的全是理论和扯淡,在不准备升级服务器的情况下,其实还是有一些防御方案的。DDoS 攻击一般是需要硬防的,在没有硬防的情况下,寻找软件代替是最直接的方法,比如用 iptables,但是 iptables 不能在自动屏蔽,只能手动屏蔽,而 DDoS Deflate 提供了解决方案,一款能够自动屏蔽 DDoS 攻击者 IP 的软件。

DDoS Deflate 介绍

官方网站:https://deflate.medialayer.com/
Github 地址:https://github.com/jgmdev/ddos-deflate

DDoS Deflate 是一款免费的用来防御和减轻 DDoS 攻击的脚本。它通过 netstat 监测跟踪创建大量网络连接的 IP 地址,在检测到某个结点超过预设的限制时,该程序会通过 APF 或 IPTABLES 禁止或阻挡这些 IP.

DDoS Defalte 安装

安装非常简单,直接从 github 上下载之后一键安装即可

wget https://github.com/jgmdev/ddos-deflate/archive/master.zip
unzip master.zip
cd ddos-deflate-master
./install.sh

安装完成之后,这个 ddos 脚本是作为守护进程存在的,默认的监视间隔是 5 秒钟,这个频率比 cron 要快的多,因为 cron 的间隔时间是一分钟。

卸载也非常容易,同样是一键

cd ddos-deflate-master
./uninstall.sh

DDoS Defalte 配置

在安装完之后,可以根据需要进行配置,完成自定义,当然,默认的也是可以的。在/etc/ddos/ignore.host.list中添加主机列表白名单,在/etc/ddos/ignore.ip.list中添加 ip 白名单。

DDoS Deflate 的默认配置文件是/etc/ddos/ddos.conf,在这个文件中可以更改一些程序路径,检查频率,最大连接数(阈值),封 ip 使用的程序,是否发送邮件通知以及禁用 ip 时间等,完全可以根据需要进行自定义设置。

一个简短的 Comment

利用好机房的防火墙,利用好服务器的防火墙,关闭不必要的端口和协议,让某些类型的 DDoS 攻击无处可寻。DDoS 攻击一般是需要硬解的,这里提供的只能防御一些小型的 DDoS 攻击,如果网站频繁遭到攻击,还是建议升级服务器,给网站一个更好的家。

CC 攻击的防御

应付 CC 攻击的最好方式就是网站静态化,因为静态化的网站消耗的资源相比于动态网页而言是小的多的多的。纯静态的网页基本上可以无视 CC 攻击的。对于 CC 攻击,当然提高服务器配置仍是有效的防御措施,同 DDoS 防御一样,我们也可以通过监控服务器的异常来实现 CC 攻击的防御,复杂点的可以配置 ngx-lua-waf 模块来进行,这里推荐博主张戈的 CCkiller 脚本。

CCkiller 脚本

CCkiller 脚本是博主张戈写的用于个人低配服务器的轻量级 CC 攻击防御,可以抵挡单个 IP 产生的高并发攻击,是一款轻量级CC 攻击防御工具,秒级检查、自动拉黑和释放。Github 地址:https://github.com/jagerzhang/CCKiller,博主的说明链接:https://zhangge.net/5066.html,详细的看上述链接吧。

正在遭遇 DDCC 怎么办?

简单判断下攻击的类型

由于 DDoS 和 CC 攻击的侧重点略有区别,可以通过分析快速判断。
CC 攻击是通过网页触发的,典型的特征是网站打不开(攻击占用了大量的 TCP 连接,可通过netstat -an查看),但 ping 或者 ssh 或许还能连接,其他特征还有:带宽资源严重被消耗,网站瘫痪;CPU、内存利用率飙升,主机瘫痪,一但出现以上情况基本都是 CC 攻击了。

防不住了要适时放弃

如果防不住了,及时切换服务器,如果没有什么特别的服务,关机保平安吧

遭遇 DDCC 的后续处理

DDCC 攻击基本上还得靠硬件去硬防,软件防御效果有,但对于大流量的攻击基本上无效。此外,如果你的网站频繁遭遇攻击,还是升级服务器吧;最后,请拿起法律武器,维护自己的合法权益,附上阿里云的链接:遭受DDoS攻击后如何向网监报案

其他说明

由于博主对这方面知识也不是很充分,很多内容都是通过查阅相关资料来获得的,文章中可能有些地方存在问题,还请路过的各位大佬指正。

参考文章

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »