前言:

10点05分,我们收到了服务监控系统发出的警告信息,该信息表明当前整体服务系统的性能正在下降;随即我们开展了对系统的流量监控,发现此时间段内huang1111网盘以及huang1111博客正在遭受到大规模CC攻击,我们随即开始进行防火墙的策略调整,以避免对用户的正常使用产生影响;经过调整后,整体服务于10点08分恢复正常。

11点46分,我们再次收到了服务监控系统发出的警告信息,该信息表明当前整体服务系统再次遭到了攻击,性能已经严重下降;随即我们再次进行监控,发现此时间段内的第二轮攻击比第一轮攻击流量更大,且持续时间更长,已经远远超过了我们服务器的承载能力;经过我们评估,当前无论如何调整防火墙策略均无法缓解此次攻击以及之后可能发生的攻击,故我们需要将整体服务迁移,以保证在面对攻击的时候,服务器具备充足的性能以及带宽来缓解攻击所造成的影响。

图一:受到攻击时间段内的请求统计数据

请求统计

图二:受到攻击时间段内的状态码统计数据

状态码统计

问题复盘:

问题发现阶段:

10点05分:监测到服务出现流量波动,进行防火墙规则调整以缓解攻击;

11点46分:监测到被攻击流量加大,判断服务无法承受此攻击,进行服务器迁移。

问题处理阶段:

12点00分:服务系统完全关闭,开始迁移至高防服务器;

12点14分:DNS记录修改完成,迁移更改开始在全网部署;

12点36分:服务迁移完成,服务系统重新开启,持续监控服务状态以进行调整;

14点00分:持续监控后未发现问题,问题处理完毕。

问题分析:

1、本次CC攻击导致服务完全不可用的直接原因是在攻击huang1111网盘的同时也在攻击huang1111博客,导致PHP进程在处理超量请求时几乎占满了所有的系统资源(CPU、内存、带宽),导致服务连接阻塞,用户完全无法正常使用服务系统。

2、通过直接与加速型CDN回源导致了所有的请求没有经过任何过滤系统就回源至源服务器,导致服务器瞬时请求处理飙升,防火墙在此时无法处理并过滤恶意请求,且由于中国境内的服务器带宽较小,在面对如此巨量的请求时造成了丢包问题,影响了防火墙系统对于当前请求的拦截分析。

改进措施:

1、提升源服务器硬件配置以在发生攻击后可以处理更多请求,目前源服务器的性能已经较此前服务器提升四倍以上。

2、提升源服务器带宽以应对更多请求,确保在面对攻击时,服务器带宽不会被恶意攻击占满,目前源服务器带宽已经较此前提升至G口。

3、提升源服务器自清洗能力,目前源服务器在监测到攻击后会自动进行流量清洗以避免持续的连接导致硬件层带宽层被占用殆尽。

4、新增流量过滤系统,通过前置过滤系统过滤威胁流量,从而更加精确的应对突如其来的攻击问题。

5、将PHP类站点与其他服务隔离,避免因PHP处理请求时的资源占用问题导致其他服务受到波及。

后续:

1、我们会不断改进流量过滤系统的策略以避免在面对突如其来的攻击时服务陷入长时间宕机状态。目前我们预计整体系统从攻击开始到完全缓解攻击大约需要五分钟时间,我们也会不断调整策略以减轻攻击所受到的影响。

2、最后,再次对2024年7月27日出现的宕机问题表示歉意,感谢各位一如既往的支持,我们会持续不断的改进以更好的面对接下来更多更复杂的挑战。

(完)

最后修改:2024 年 08 月 10 日
感谢阅读此文章!